Create Updates File

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

This tutorial will guide you step by step in creating and maintaining an Updates Configuration File used by the Advanced Installer Updater.

We will create an Update Project that will generate the updates configuration file used in the Updater Tutorial.

1. Create project

Launch Advanced Installer, select “Updates” > “Updates Configuration”, and press the Create Project button.

New Update Project

SaveSave the project and give it the same name used in the updater tutorial - "StoryUpdates".

2. Add update

After completing the first part of the updater tutorial, you will need to manage the first update. So it is time to configure the project to add information on “Story 2.0.MSI” update.

New UpdatePress the [ New Update ] ribbon button. A dialog will pop out allowing you to choose the location of the update file on the disk. Select the new version of your package (for example "Story 2.0.MSI"). You can change this location and configure more settings related to the installer from the Update Installer Tab.

Next, select the update from the left pane and rename it to “Story 2.0”.

Update Installer

Upload the package to your server and set its URL in the "Main URL" field from the Update Properties Tab.

Update Properties

In the Update Installed Detection Tab set the criteria to "registry value search". Select/type the registry value which should be checked and the expected value from it after the update.

ImportantThe detection criteria should be met after the update is installed. Therefore, it should use the information from the new version of your package.

Update Installed Detection

You can specify the description of the update from the Release Notes Tab.

Update Release Notes

For detailed a description of the all the INI entries that are available, please see updates configuration file.

BuildBuild the project. The updates configuration file contents should look like this:

;aiu;

[Story 2.0]
Name=Story 2.0
URL=http://www.example.com/download/Story 2.0.MSI
Size=43256
MD5 = 0d9ec0c904e79adf020c3a08e0ca5d
ServerFileName=Story 2.0.MSI
RegistryKey=HKLM\SOFTWARE\Story Teller\Long Story\Version
Version=2.0.0
Description=This fixes some spelling errors in story.txt file.

3. Replace update

To add and configure a new update you can use the same steps as above.

This second update includes the first one, so you can configure it to replace the first update.

ReplacesPress the [ Replace Update ] ribbon button. A dialog will pop out allowing you to specify the replaced updates.

Replace

Upload the package to your server and set its URL in the "Main URL" field from the Update Properties Tab. Configure the detection criteria for the new registry value from the Update Installed Detection Tab.

BuildBuild the project. The updates configuration file contents should look like this:

;aiu;

[Story 3.0]
Name=Story 3.0
URL=http://www.example.com/download/Story 3.0.MSI
Size=34255
MD5 = 997ea2ef1bbd797c06c3d9d68424ab80
ServerFileName=Story 3.0.MSI
RegistryKey=HKLM\SOFTWARE\Story Teller\Long Story\Version
Version=3.0.0
Description=This adds a new paragraph.
Replaces=All

[Story 2.0]
Name=Story 2.0
URL=http://www.example.com/download/Story 2.0.MSI
Size=43256
MD5 = 0d9ec0c904e79adf020c3a08e0ca5d
ServerFileName=Story 2.0.MSI
RegistryKey=HKLM\SOFTWARE\Story Teller\Long Story\Version
Version=2.0.0
Description=This fixes some spelling errors in story.txt file.

4. Dependency update

The last update that is described in the Updater tutorial is a patch. Add it to the project and configure it just like the ones before.

Since it's a patch, it can be applied only to the second update. This means that a dependency must be created.

DependencyPress the [ Dependency Update ] ribbon button. A dialog will pop out allowing you to specify the update on which the current update depends on.

Dependency

Upload the package to your server and set its URL in the "Main URL" field from the Update Properties Tab. Also, configure the detection criteria for from the Update Installed Detection Tab.

BuildBuild the project. The updates configuration file contents should look like this:

;aiu;
[Story 3.1]
Name=Story 3.1
URL=http://www.example.com/download/Story 3.1.MSP
Size=34245
MD5 = 997ea2ef1bbd797c06c3d9d68424ab80
ServerFileName=Story 3.1.MSP
RegistryKey=HKLM\SOFTWARE\Story Teller\Long Story\Version
Version=3.1.0
Description=This is a Patch.
Depends=Story 3.0

[Story 3.0]
Name=Story 3.0
URL=http://www.example.com/download/Story 3.0.MSI
Size=34255
MD5 = 997ea2ef1bbd797c06c3d9d68424ab80
ServerFileName=Story 3.0.MSI
RegistryKey=HKLM\SOFTWARE\Story Teller\Long Story\Version
Version=3.0.0
Description=This adds a new paragraph.
Replaces=All

[Story 2.0]
Name=Story 2.0
URL=http://www.example.com/download/Story 2.0.MSI
Size=43256
MD5 = 0d9ec0c904e79adf020c3a08e0ca5d
ServerFileName=Story 2.0.MSI
RegistryKey=HKLM\SOFTWARE\Story Teller\Long Story\Version
Version=2.0.0
Description=This fixes some spelling errors in story.txt file.

5. Deprecate update

Deprecate an older update, means it will not be displayed to the user anymore. You can utilize this functionality so that your users only have access to certain releases. The deprecated update doesn't need to be removed from the server updates file, and its release notes will be included in the latest update.

DepracatePress the [ Deprecate Update ] ribbon button. A dialog will pop out allowing you to specify the deprecated update.

Replace

Upload the package to your server and set its URL in the "Main URL" field field from the Update Properties Tab. Configure the detection criteria for the new registry value from the Update Installed Detection Tab.

BuildBuild the project. The updates configuration file contents should look like this:

;aiu;

[Story 4.0]
Name=Story 4.0
URL=http://www.example.com/download/Story 4.0.MSP
Size=34845
MD5 = 997ea2ef1bbd797c06c3d9d68424ab80
ServerFileName=Story 4.0.MSP
RegistryKey=HKLM\SOFTWARE\Story Teller\Long Story\Version
Version=4.0.0
Description=Fixes some issues and deprecates Story 2.0.
NextDeprecated = Story 2.0

[Story 3.1]
Name=Story 3.1
URL=http://www.example.com/download/Story 3.1.MSP
Size=34245
MD5 = 997ea2ef1bbd797c06c3d9d68424ab80
ServerFileName=Story 3.1.MSP
RegistryKey=HKLM\SOFTWARE\Story Teller\Long Story\Version
Version=3.1.0
Description=This is a Patch.
Depends=Story 3.0

[Story 3.0]
Name=Story 3.0
URL=http://www.example.com/download/Story 3.0.MSI
Size=34255
MD5 = 997ea2ef1bbd797c06c3d9d68424ab80
ServerFileName=Story 3.0.MSI
RegistryKey=HKLM\SOFTWARE\Story Teller\Long Story\Version
Version=3.0.0
Description=This adds a new paragraph.
Replaces=All

[Story 2.0]
Name=Story 2.0
URL=http://www.example.com/download/Story 2.0.MSI
Size=43256
MD5 = 0d9ec0c904e79adf020c3a08e0ca5d
ServerFileName=Story 2.0.MSI
RegistryKey=HKLM\SOFTWARE\Story Teller\Long Story\Version
Version=2.0.0
Description=This fixes some spelling errors in story.txt file.