Including Microsoft Windows Installer Prerequisites

InstallShield 2012 Spring

Project: This information applies to the following project types:

Basic MSI
InstallScript MSI

InstallShield includes InstallShield prerequisites for several versions of Windows Installer. You can use the Redistributables view (in Basic MSI and InstallScript MSI projects) or the Prerequisites view (in InstallScript projects) to add these InstallShield prerequisites to your project.

Checking for the Presence of Windows Installer 4.5 During Basic MSI or InstallScript MSI Installations

You may want your installation to check the target system to determine if Windows Installer 4.5 is installed; if it is not installed, the installation would display an error message box and prevent the installation from continuing. This may be helpful under the following conditions:

Your installation depends on Windows Installer 4.5 features.
It is possible that the .msi file might be used to install your product, rather than the Setup.exe setup launcher (which would install Windows Installer 4.5 if appropriate).

For example, if you deploy your installation as an uncompressed release, end users would be able to launch the .msi file directly rather than the Setup.exe file. In addition, if systems administrators want to customize your installation for deploying your product throughout an enterprise environment, they might create an administrative installation version and deploy that.

To determine whether Windows Installer 4.5 is installed and display an error message if it is not, create an error custom action (a type 19 custom action). The following procedure explains how.

To determine whether Windows Installer 4.5 is installed and display an error message if it is not:

1. In the Custom Actions and Sequences view, right-click the Custom Actions explorer and click New Error.
2. Select the new custom action.
3. In the Error Message setting, type the error message text that should be displayed when an end user launches your installation without Windows Installer 4.5 being already installed.
4. In the Install UI Sequence and Install Exec Sequence settings, select an option that would schedule the error message somewhere before the LaunchConditions action. For example, a common sequence for this error action is <First Action>.
5. In the Install UI Condition and Install Exec Condition settings, type the following condition:

VersionMsi < "4.05"

Locked File/Reboot Issues

When the InstallShield prerequisite installs the Windows Installer 4.5 engine, the existing engine files are often locked. If your installation needs to use the updated engine before the target system is rebooted, be aware of the following behavior.

On Windows XP and Windows Server 2003 systems, the Windows Installer 4.5 engine files are updated immediately and the requirement for a reboot is noted and delayed until the end of the main installation (or any reboot that precedes it). The main installation uses the updated Windows Installer 4.5 engine, and it requests a reboot at the end of the installation.

On Windows Vista and Windows Server 2008 systems, the Windows Installer 4.5 engine files are not updated until after a reboot, so a reboot is requested immediately. If the end user allows the machine to be rebooted, the installation continues after the reboot. If the end user does not allow the machine to be rebooted, the installation ends. While the reboot is pending, the Windows Installer 4.5 engine appears as not installed, and subsequent attempts to run the prerequisite would result in a failure and would not allow installation to continue. Rebooting the machine completes the installation of Windows Installer 4.5 and allows the installation to continue as planned.

See Also