Special Considerations for Multiple-Instance Support

InstallShield 2013

Project: This information applies to Basic MSI projects.

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

Caution: Creating an installation that lets end users install multiple instances of a product on the same machine and in the same context requires sophisticated authoring and serious commitment on the part of the installation developer. This functionality is recommended for only advanced installation developers.

Supporting the installation of multiple instances of a product requires careful advance planning to ensure that the multiple instances can exist side by side within the same context. Consider the following points when you are planning your installation.

To ensure that uninstalling or upgrading some instances of your product does not affect other instances, you may need to isolate some or all of the files and the nonfile data that are installed on the target system for each instance.
In some cases, you may not want to isolate some of the files. For example, if your installation includes one or more COM servers, you may want to configure each component that contains a COM server to install to a location that does not change for each instance. For these components, you can select Yes for the Shared setting so that Windows Installer uses DLL reference counting.
You may need to create a separate set of components for each instance that your installation supports. In this scenario, you could add a condition in the Components view or the Setup Design view for each component so that each one is installed for the appropriate instance. For example, since the default InstanceId value for the base instance that is installed by the installation is 0, you could use the following condition for a component that contains data for the base instance:

InstanceId=0

The default InstanceId value for the next instance that is installed is 1. Therefore, you could use the following condition for a component that contains data for this next instance:

InstanceId=1

For more information, see Authoring Multiple Instances with Instance Transforms in the Windows Installer Help Library.

See Also