burnersk
Posts: 43
Joined: Mon Mar 25, 2019 12:26 pm

Building installers within a CI environment with supported releases

I have a continues integration (CI) server, which builds AI setups for my applications upon successful (tests are passing, not yet merged) pull requests.

I also use supported releases. This means that I support older major/minor releases with bug fixes or back-ported features. The most current build setup may be not the actual most current version of an application.

The CI server uses a single common AI project file to build setups with. This results into all product codes from all branches from all supported releases are in that AI project file.

How does AI/MSI handle upgrades and product codes?

Does a later added product code means that a installer with a product code of "2" (it's actually a GUID, I know) will be able to upgrade an installation with a product code of "1". Or does the product code have no effect about the "version ordering" (which is the most recent version) and the version property is actually the single point of "version ordering"?

Do I run into issues when building installers for the following setups in exactly this order?
  1. Version 1.0.0
  2. Version 1.1.0
  3. Version 2.0.0
  4. Version 1.1.1
  5. Version 2.0.1
  6. Version 1.0.1
Catalin
Posts: 6608
Joined: Wed Jun 13, 2018 7:49 am

Re: Building installers within a CI environment with supported releases

Hello,

As long as the ProductCode will always be changed when building a new version, the setup with a higher version will always update the setup with a lower version through the process of a major upgrade.

A major upgrade consists of the following:

- the uninstallation of the older version
- the installation of the newer version

To make sure that you always change your ProductCode, please make sure that you do not use the -noprodcode switch of our "SetVersion" command line. This way, a different product code will always be generated and all of your product versions will be major upgrade compatible.

Hope this helps.

All the best,
Catalin
Catalin Gheorghe - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

Return to “Building Installers”