Configuring and Building a Major Upgrade that Includes Multiple-Instance Support

InstallShield 2016

Project • This information applies to Basic MSI projects.

For information on multiple-instance support for InstallScript projects, see Running an InstallScript Installation Multiple Times.

Configuring the Release

To include multiple-instance support in a release, you must configure your release to include a Setup.exe setup launcher, since it displays the instance selection dialog when appropriate. To learn how to include the Setup.exe setup launcher, see Creating a Setup Launcher.

Configuring the Upgrade

The following requirements must be met to have major upgrade support for multiple instances:

Each instance in your project must have an UpgradeCode property with its own value. To learn how to define an UpgradeCode property for an instance in your project, see Setting Properties for an Instance.
Each instance of a newer version must have a ProductCode property value that is different than the same instance of a related version.
Each instance of a newer version must have a different product version (a larger number) than the same instance of a related version.
The Products sharing my Upgrade Code option must be selected for the major upgrade in the Upgrades view.

Building the Release

Building a release that includes multiple-instance support is slightly different than building a release that does not include this support. For multiple-instance support, InstallShield builds some additional files: instance transforms and instance packages.

Instance Transforms

At build time, InstallShield generates instance transforms for each instance. InstallShield streams the instance transforms into the .msi file that it creates in the Disk1 folder. Depending on how you have configured the release, the .msi file may be compressed into the Setup.exe file, or it may be left uncompressed.

Instance Packages

At build time, InstallShield generates an .msi file for each instance. The name of each file is InstanceIdN.msi, where N represents the value of the InstanceId property for that instance. The .msi files are stored in a folder called Instances under the release location.

See Also