Detecting Whether a Specific Version of an Advanced UI or Suite/Advanced UI Installation Is Already Installed

InstallShield 2018

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.

Advanced UI and Suite/Advanced UI projects include support for determining whether a particular version of an Advanced UI or Suite/Advanced UI installation is already installed on target systems. This type of condition check is called a Suite Installed condition, and it checks the target system’s registry for the Advanced UI or Suite/Advanced UI installation’s Uninstall key.

When an end user successfully installs a product through an Advanced UI or Suite/Advanced UI installation, the installation creates an Uninstall registry key in the following 32-bit location in the registry:

SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{Suite GUID}

The Uninstall key contains uninstallation information for the installation. The name that is used for the registry key is the Suite GUID of the Advanced UI or Suite/Advanced UI installation. One of the registry values that this registry key contains is a DisplayVersion value; the data for this value is the version number of the Advanced UI or Suite/Advanced UI installation. Both the Suite GUID and the version number are defined in the General Information view of the project.

InstallShield includes two Suite Installed conditions in each Advanced UI or Suite/Advanced UI project by default. You can also add your own Suite Installed conditions to a project as needed.

Default Suite Installed Conditions in Advanced UI and Suite/Advanced UI Projects

When you create an Advanced UI or Suite/Advanced UI project, InstallShield creates two Suite Installed conditions in your project by default:

An exit condition—This default exit condition is shown in the General Information view of the project. The Suite Installed exit condition prevents end users from being able to install the current version of the Advanced UI or Suite/Advanced UI installation over a future newer version of the same Advanced UI or Suite/Advanced UI installation.

That is, the installation compares the version number that is stored in the DisplayVersion value of the Uninstall key on the target system with the value that is configured in the project. If the version in the target system’s registry is greater than the version that is configured in the project, the installation displays an error message. When the end user dismisses the message, the installation exists. This default Suite Installed exit condition prevents downgrades of the Advanced UI or Suite/Advanced UI installation.

An install mode condition—The install mode condition is shown only in the project file (.issuite). This type of condition is not available for edit within InstallShield. The Suite Installed mode condition causes the Advanced UI or Suite/Advanced UI installation to run in first-time installation mode if end users install a new version of the Advanced UI or Suite/Advanced UI installation over an older version of the same Advanced UI or Suite/Advanced UI installation. Furthermore, the Suite Installed mode condition may prevent the installation from running in first-time installation mode if the same version of the Advanced UI or Suite/Advanced UI installation is already installed.

The default install mode condition compares the DisplayVersion value of the Uninstall key on the target system with the value that is configured in the project. If these values are not the same, the Suite Installed part of the install mode condition evaluates as true.

Note that an install mode condition also evaluates the detection conditions of all of the primary packages in the installation. Thus, even though the Suite Installed part of the install mode condition may evaluate as false (meaning that it appears that the target system has the same version that is configured in the project), the Advanced UI or Suite/Advanced UI installation may run in first-time installation mode. This may occur if none of the detection conditions for the primary packages in the installation evaluate as true.

In general, these built-in Suite Installed conditions should not be overridden, except in advanced scenarios in which changing the default behavior is appropriate.

Note that InstallShield uses an asterisk (*) in the default Suite Installed condition’s Suite GUID and Version settings as placeholders for the project’s own Suite GUID and version. At build time, InstallShield replaces the asterisks with the appropriate values in the resulting build.

Using the Suite Installed Condition Check in Your Own Conditions

If you want your Advanced UI or Suite/Advanced UI installation to check target systems for the presence of a particular version of the installation, you can add your own Suite Installed condition check for an exit condition, a detection condition, or other any other condition.

See Also