How to deploy updates for various regions, channels or editions?

ImportantThe following article uses options that are available starting with the Enterprise edition and project type.

When deploying multiple updates, the best practice is to have your project organized in separate builds. Each build will be used for a different configuration (for a region, channel or edition).

For managing the installation and update of all builds, we will use a public installer property that will have a different value for each build. This value will be the URL of the builds specific updates configuration file.

In the case of various channels, we presume there are two builds, one for a beta release and one for the release candidate. In this case, the values for the property will be:

Beta

http://www.example.com/beta/update.txt

Candidate

http://www.example.com/candidate/update.txt

The same way, when having, lets say, three editions (free, professional, enterprise), thus three builds, the property will have three values, one for the free edition build, one for the proffesional and one for the enterprise edition build.

Build Property value
Free http://www.example.com/free/update.txt
Professional http://www.example.com/professional/update.txt
Enterprise http://www.example.com/enterprise/update.txt

Example

In order to deploy updates for various regions, we consider a project with two builds, Build_EN (being the default build) and Build_FR.

1. Select language

Go to the Translations page.

  • Select Build_EN from the Ribbon. Make sure only the English (United States) is checked.
  • Select from the ribbon the Build_FR build, and make sure only the French (France) language is selected.

2. Set property for per build language selection

Set property per build

2.1 In the Properties page, create a new property, REGION_PROP, and set the values as follows:

Name: REGION_PROP
Value: the link to the EN builds specific updates configuration file
Build: Build_EN
Use default value: checked

2.2 In the "Build" field, select Build_FR. For this build:

Use specific value: checked
Value: the link to the FR builds specific updates configuration file

2.3 Now, you have to set the "Updates configuration file URL" field in the Updater page, "Updater" section, with [REGION_PROP].

This way, the installer will use the corresponding value of this property at install time, depending on the build run.

Custom UI

Another option is to configure your own GUI to capture the user preferences for the update checks. Then call the updater from the command line, using the -url switch, from a scheduled task for every time your application is started for example.

This way you can always launch the updater.exe from your own code and specify the desired URL for the updates.txt file, i.e. the one of the stable or release channel.