Run-Time Behavior for an Installation that Includes InstallShield Prerequisites

InstallShield 2012 Spring

Project: The following project types include support for both setup prerequisites and feature prerequisites:

Basic MSI

The following project types include support for setup prerequisites but not feature prerequisites:

ClickOnce
InstallScript
InstallScript MSI

To learn about the differences between setup prerequisites and feature prerequisites (which are the two types of InstallShield prerequisites), see Setup Prerequisites vs. Feature Prerequisites.

Overview of an Installation that Includes InstallShield Prerequisites

The following procedure explains what typically occurs at run time when an end user launches an installation that includes setup and feature prerequisites. Note that some of the steps apply to only certain project types.

1. The setup launcher (typically called Setup.exe) displays the language selection dialog if appropriate.
2. The setup launcher displays the setup prerequisite dialog and launches the setup prerequisite installations if appropriate.
3. The installation displays the installation UI, which may allow the end user to select features or configure items. The installation UI shows a progress dialog.
4. In Basic MSI installations, the setup launcher launches the feature prerequisite installations if appropriate:
a. The built-in InstallShield custom action ISInstallPrerequisites, which is scheduled between the SetupProgress dialog and the ExecuteAction action, compares the features that were selected for installation against the list in the Windows Installer property IsPrerequisiteFeatures. If there are no matches, no feature prerequisites are installed.
b. The ISInstallPrerequisites action attempts to find and launch the setup launcher, and it provides the list of features that are being installed. The path to the setup launcher is identified by the Windows Installer properties SETUPEXEDIR and SETUPEXENAME:

[SETUPEXEDIR]\[SETUPEXENAME]

If ISInstallPrerequisites cannot find the setup launcher in that location, it searches elsewhere. For a first-time installation, ISInstallPrerequisites checks SourceDir. For maintenance mode, ISInstallPrerequisites checks paths that are related to the installation source path.

If ISInstallPrerequisites still cannot find the setup launcher, or if it finds multiple .exe files, the installation prompts the end user to browse to the setup launcher file. If the end user identifies the file, the installation continues. Otherwise, the installation ends.

c. The setup launcher evaluates the list of features to select which feature prerequisites to install, and it launches their installations as appropriate.
5. The installation finishes making changes on the target system according to the end user's selections.
6. The installation switches from the progress dialog to the SetupCompleteSuccess dialog.

The User Interface for an Installation that Includes InstallShield Prerequisites

If a target system needs one or more setup prerequisites to be installed, the setup launcher typically displays the setup prerequisite dialog before the main installation starts. This setup prerequisite lists all of the nonhidden setup prerequisites that are missing from the target system. When an end user clicks the Install button on this dialog, the setup launcher launches the necessary setup prerequisite installations. If one or more of the setup prerequisites is marked as requiring administrative privileges and the installation is run on a system on which User Account Control (UAC) is enabled, the Install button on this dialog has the shield icon to alert the end user that elevated privileges are required.

Sample Setup Prerequisite Dialog that Shows the List of Setup Prerequisites that Need to Be Installed

If a setup prerequisite is configured to be hidden, it is not listed in the setup prerequisite dialog, but it is still installed. If all of the setup prerequisites in an installation are hidden, the installation displays the setup launcher's standard initialization dialog instead of the setup prerequisite dialog.

Tip: For instructions on how to show or hide the setup prerequisite in the setup prerequisite dialog, see Specifying Whether to Include the Name of a Prerequisite in the List of Setup Prerequisites to Be Installed on the Target System.

If the file that a setup prerequisite installation launches is an .msi package and the prerequisite is marked to show progress, the user interface shows a status bar, along with installation progress messages from Windows Installer, while the prerequisite is being installed. This is applicable only if the main installation is a Basic MSI or InstallScript MSI installation. For more details, see Specifying Whether to Show the Progress of an InstallShield Prerequisite Installation at Run Time.

If a setup prerequisite is configured to be optionally installed by the end user, the setup launcher displays a message box that enables end users to choose whether to install the setup prerequisite. For more information, see Allowing End Users to Choose Whether to Install an InstallShield Prerequisite.

Message Box for an Optional Prerequisite

If an installation includes feature prerequisites, the setup launcher does not list them in any prerequisite dialog. However, the user interface does show progress messages if appropriate. In addition, the setup launcher displays the optional prerequisite message box if the feature prerequisite is marked as optional.

Silent Scenarios—Suppressed User Interface in Basic MSI Installations

The installation can install setup prerequisites and feature prerequisites even if the installation is run silently. That is, InstallShield prerequisites are supported in any of the following scenarios:

Silent setup launcher and visible .msi package—The user interface for the setup launcher is suppressed, but the user interface for the .msi package is visible. For example, the end user might use the following command-line statement:

Setup.exe /s

In this scenario, the language selection dialog and the setup prerequisite dialog are not displayed.

Visible setup launcher and silent .msi package—The user interface for the setup launcher is displayed, but the user interface for the .msi package is suppressed. For example, the end user might use the following command-line statement:

Setup.exe /v"/qn"

In this scenario, the feature selection dialog and all of the other dialogs of the main installation are not displayed. However, the end user can set Windows Installer properties such as ADDLOCAL, ADDSOURCE, ADDDEFAULT, and ADVERTISE from the command line to indicate which features should be installed.

Silent setup launcher and silent .msi package—The user interface for the setup launcher and the .msi package are suppressed. For example, the end user might use the following command-line statement:

Setup.exe /s /v"/qn"

In this scenario, all of the setup launcher and .msi package dialogs are suppressed.

If the UI sequence of the main installation's .msi package is skipped, the setup launcher evaluates Windows Installer properties such as ADDLOCAL, ADDSOURCE, ADDDEFAULT, and ADVERTISE to determine if any feature prerequisites should be installed, and it installs feature prerequisites accordingly.

Silent Scenarios—Suppressed User Interface in InstallScript and InstallScript MSI Installations

An InstallScript or InstallScript MSI installation can install setup prerequisites even if the installation is run silently. That is, InstallShield prerequisites are supported if the end user launches the installation by entering the following command-line statement:

Setup.exe /s

Note that a response file (Setup.iss) is required. To learn more, see Creating the Response File.

The language selection dialog and the setup prerequisite dialog are not displayed.

UAC Prompts

Depending on how it is configured, an installation that includes InstallShield prerequisites may prompt for elevated privileges on Windows Vista and later systems at several different points during the installation:

1. When the end user launches the Setup.exe file
2. When the Setup.exe file launches a setup prerequisite that requires elevated privileges
3. When the Setup.exe file launches a feature prerequisite that requires elevated privileges
4. When the Windows Installer begins the Execute sequence of the .msi package

For more information, see Minimizing the Number of User Account Control Prompts During Installation.

Changing the Behavior of InstallShield Prerequisites

The InstallShield Prerequisite Editor enables you to modify an InstallShield prerequisite if you want to change its installation's behavior. For example, you can specify whether end users may skip the prerequisite installation, whether the prerequisite requires administrative privileges, and how the prerequisite installation should proceed if it appears that the target machine does or does not need to be restarted. To learn more, see Specifying Installation Behavior for an InstallShield Prerequisite.

You can configure an InstallShield prerequisite so that it is installed either before or after any installation of the Windows Installer engine and the .NET Framework. For more information, see Specifying Parameters for Installing an InstallShield Prerequisite.

See Also