Primary Packages vs. Dependency Packages in Advanced UI and Suite/Advanced UI Projects

InstallShield 2016

Project • This information applies to the following project types:

Advanced UI
Suite/Advanced UI

Project-specific differences are noted where appropriate.

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.

Each package in Advanced UI and Suite/Advanced UI projects needs to be identified as either a primary package or a dependency package. The package type identifies whether the presence of that package on a target system should influence whether the Advanced UI or Suite/Advanced UI installation runs in first-time installation mode or maintenance mode:

Primary package—A primary package is a main part of the Advanced UI or Suite/Advanced UI installation.

At run time, if all of the primary packages in the installation are absent from the target system, the installation runs as a first-time installation. If any of the primary packages are present on the target system, the installation runs in maintenance mode.

Dependency package—The presence or absence of a dependency package on the target system does not influence which mode is used to run the installation.

The Package Type setting that is available when you select a package in the Packages view indicates whether the package is a primary package or a dependency package.

In Suite/Advanced UI projects, you can change the value of the Package Type setting as needed for any packages in your project. However, in Advanced UI projects, this setting is read-only, since an Advanced UI project has support for only one primary package.

Note that when you import an InstallShield prerequisite into an Advanced UI project or a Suite/Advanced UI project, InstallShield adds the InstallShield prerequisite to the project as a dependency package. In a Suite/Advanced UI project, you can use the Package Type setting to override this default value, and specify that the package is a primary package if appropriate. However, an InstallShield prerequisite in an Advanced UI project is always identified as a dependency package, and this default behavior cannot be overridden in the Professional edition of InstallShield.

See Also