Sharing Common Packages Among Different Advanced UI and Suite/Advanced UI Installations

InstallShield 2015

Project: This information applies to the following project types:

Advanced UI
Suite/Advanced UI

Edition: The Advanced UI project type is available in the Professional edition of InstallShield. The Suite/Advanced UI project type is available in the Premier edition of InstallShield. For information about the differences between these two project types, see Advanced UI Projects vs. Suite/Advanced UI Projects.

InstallShield enables you to share common packages among multiple Advanced UI and Suite/Advanced UI installations. If two or more Advanced UI and Suite/Advanced UI installations share a package, the package remains on the target system until all of the Advanced UI and Suite/Advanced UI products are removed.

Guidelines for Determining Whether to Mark a Package as Shared

When you are configuring a package for an Advanced UI or Suite/Advanced UI installation, you can mark it as shared. If you mark a package as shared, ensure that you also use the same package GUID in all Advanced UI and Suite/Advanced UI projects that are sharing the package.

The shared package capability is typically reserved for dependency packages, rather than for primary packages. Note that widely distributed packages—such as a package that installs the .NET Framework—are usually not marked as shared, since these are most often left installed on target systems.

Note that shared capability is available for most types of packages (.msi, .msp, .exe, .appx, InstallScript, Basic MSI project, and InstallScript project). However, it is not available for Web Deploy packages, which are not typically intended to be uninstalled.

Specifying Whether a Package Is Shared

To specify whether a package in an Advanced UI or Suite/Advanced UI project is shared:

1. In the View List under Organization, click Packages.
2. In the Packages explorer, select the package that you want to configure.
3. In the Shared setting, select the appropriate value:
No—The package will not be shared among other Advanced UI or Suite/Advanced UI projects. This is the default value.
Yes—The package will be shared among other Advanced UI or Suite/Advanced UI projects.

If you select Yes for the Shared setting, ensure that you also use the same package GUID in all Advanced UI and Suite/Advanced UI projects that are sharing the package; the Package GUID setting is where you can view and modify the GUID of a package.

Run-Time Behavior for Shared Packages

At run time, when an Advanced UI or Suite/Advanced UI installation installs a shared package that is not already present, the installation creates a new registry key for the package GUID of the shared package under the following registry key:

For 32-bit systems: HKEY_LOCAL_MACHINE\SOFTWARE\InstallShield\SuiteInstallers\Parcels
For 64-bit systems: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\InstallShield\SuiteInstallers\Parcels

The installation also adds its Suite GUID as registry data in the package GUID registry key. When other Advanced UI or Suite/Advanced UI installations need to install the same shared package, the Suite GUIDs of those Advanced UI or Suite/Advanced UI installations are added to registry data in the package GUID registry key. During uninstallation of any of the Advanced UI or Suite/Advanced UI products, the Suite GUIDs are removed from the package GUID registry key. The shared package and the package GUID registry key remain on the target system until the last Advanced UI or Suite/Advanced UI product is removed.

If two Advanced UI or Suite/Advanced UI installations share different versions of the same package, the later version of the package is the one that is installed on target systems after both Advanced UI or Suite/Advanced UI installations are run, regardless of which one was run first. In addition, the installations update the Parcels registry key as needed; the shared package and the package GUID registry key remain on the target system until the last Advanced UI or Suite/Advanced UI product is removed.

See Also