How to get client.wyc included in setup.exe?

Hi, Wyatt.

When my customers install my product for the first time they do so by executing a setup.exe (from CD-ROM or downloaded from the net). Setup.exe holds the most recent version of my product.

In order for my product to be able to update itself (using wyUpdate) I need wyUpdate.exe and client.wyc to be included in the setup.exe file - but I cannot figure out how to accomplish this.

My setup works like this:

1) All the source code for my product is kept on a SubVersion server.

2) When I have finished developing a new version, a special build machine runs a build script, that automatically pulls out all source code, compiles it, perfoms a huge amount of unit tests, and finally - if all tests are passed - produces the setup.exe file.

I think the build script should produce the new client.wyc file and include it into the setup.exe as part of the build process, but is that possible at all?

If not, what would you suggest I do instead? I certainly don't like distributing client.wyc as a separate file, generated after the installation set.

Another question: Exactly what information does the client.wyc file contain?

Another another question: One day in the near future my product (baset on .Net) will change to target the 4.0 framework instead of 3.5. How can i prevent my customers from upgrading until they actually have framework 4.0 installed? If they by accident upgrade without having installed framework 4.0, I believe the application will break, and the customer then has now way of rolling back to the previous version. Any suggestions?

- Martin

I think the build script should produce the new client.wyc file and include it into the setup.exe as part of the build process, but is that possible at all?

Yes, it is possible with all installer-makers that I know. What installer scripting are you using? Maybe I can point you in the right direction.

Another question: Exactly what information does the client.wyc file contain?

The current version of your app. (Thus, you need to rebuild this file for every new installer you build so the client.wyc version matches your product version.)

Plus it has the theme images, all the language files, your product & company names, and the location of the server files (*.wys file) on the internet.

Another another question: One day in the near future my product (baset on .Net) will change to target the 4.0 framework instead of 3.5. How can i prevent my customers from upgrading until they actually have framework 4.0 installed? If they by accident upgrade without having installed framework 4.0, I believe the application will break, and the customer then has now way of rolling back to the previous version. Any suggestions?

We plan to have the ability to download & install the 4.0 framework about a month or so after the official VS 2010 release. So I'd say mid to late May.

Hi Wyatt.

We use CruiseControl (open-source) to control the whole build process and InnoSetup to create the actual setup.exe.

As far as I can see wyBuild needs to be scripted somehow (through command line parameters?), and wyBuild also needs access to all previous (installed) versions of the software in order to be able to produce the right output?

Maybe the build script only needs to produce the single client.wyc file, and then - afterwards - I should manually produce and upload the the server files (based on the just created installation set)?

It would be very nice if you could tell me a little about the "standard way" of organizing the workflow.

- Martin.

Hey Martin,

We use CruiseControl (open-source) to control the whole build process and InnoSetup to create the actual setup.exe.

As far as I can see wyBuild needs to be scripted somehow (through command line parameters?), and wyBuild also needs access to all previous (installed) versions of the software in order to be able to produce the right output?

Maybe the build script only needs to produce the single client.wyc file, and then - afterwards - I should manually produce and upload the the server files (based on the just created installation set)?

It would be very nice if you could tell me a little about the "standard way" of organizing the workflow.

We'll add a workflow help topic a little later this week. But here it is in simplified form:

  • Create the new version of your product in compiled form.
  • Copy the complete compiled form to a folder (e.g. YourApp\1.0.1)
  • Drag the files to wyBuild or add the files using commandline.
  • If you're building a new installer for the version, then click the "Build wyUpdate" button to regenerate the client.wyc file & copy the latest version of wyUpdate.exe that you can include with your installer. (We will automate this step in the version coming out Friday)
  • Run your installer builder.

Now you'll have the latest version of your install and updates built.

Would you also like to automate uploading files? If so we'll try to add that to the version coming out Friday.