Building 64-Bit Setup Launcher

InstallShield 2020

Project:This information applies to the Basic MSI project type.

InstallShield lets you specify whether you want your installation to include a 64-bit Setup.exe setup launcher. A 64-Bit Setup.exe setup launcher is required only if the installation is targeting 64-bit system. By default, InstallShield builds the 32-bit setup launcher, which can execute in a 32-bit system as well in WoW64 on 64-bit system. Some 64-bit target systems-such as Windows Server Core systems may not have 32-bit Windows-on-Windows (WOW64) support. These 64-bit target systems cannot run 32-bit setup launcher.

The General tab for a product configuration in the Releases view is where you specify information such as whether you want to build 64-Bit Setup launcher.

Building 64-bit Setup launcher does not build the corresponding 64-bit MSI package by default. In order to build the 64-bit MSI package, you need to configure the Template Summary with the appropriate 64-bit value (x64 or Intel64). Pure 64-bit MSI package cannot copy 32-bit product files or execute 32-bit custom action during installation, because 32-bit binaries cannot be loaded on 64-bit target systems without WOW64 support. The InstallShield Architecture Validation setting for a product configuration in the Releases view, helps you to build the pure 32-bit or 64-bit MSI package. InstallShield has the capability to build two installations (one for 32 bit and one for 64 bit) from a single project, based on the release flags configuration.

For more information on Building 64-bit MSI package, see Targeting 64-Bit Operating Systems with Basic MSI and InstallScript MSI Installations.

Building 32-bit MSI Package with 64-bit Setup Launcher

InstallShield throws the following warning message if the MSI package is configured to build 32-bit package with the 64-bit setup launcher option:

ISDEV: warning -7372: Setup Launcher is configured to build 64-Bit, but Template Summary is not configured to build 64-Bit MSI package.

This is just to make the attention, because 64-bit setup launcher fails to execute in a pure 32-bit system, and the 32-bit MSI package fail to install in pure 64-bit system. So, this warning can be fixed by not opting the 64-bit setup launcher if the installer needs to target pure 32-bit system and WoW64 on 64-bit system. Other way, the MSI template summary can be changed to generate 64-bit MSI package to target pure 64-bit system.

Building InstallScript Custom actions with 64-bit Setup Launcher

InstallScript custom actions are not supported with 64-bit setup launcher. InstallShield build throws below error if the Basic MSI project contain InstallScript custom actions.

ISDEV: fatal error -7371: InstallScript custom actions are not supported with 64-Bit Setup Launcher.

If the InstallScript custom actions are required then the Basic MSI project can be configured to build without the 64-bit setup launcher, because InstallScript runtimes are still in 32-bit which requires 32-bit setup launcher. Other way if the InstallScript custom actions are not required, it can be deleted from the project and continue building with 64-bit setup launcher.

InstallShield Prerequisites and 64-bit Setup Launcher

In general, projects that include InstallShield prerequisites require Setup.exe because Setup.exe checks to see if the target system meets the InstallShield prerequisite conditions. If the conditions are met, Setup.exe installs the InstallShield prerequisites.

If you configure to build the projects that include InstallShield prerequisites with 64-bit setup launcher, ensure the prerequisite installer is a 64-bit, which can install in pure x64 system and configure the prerequisite conditions to check the 64-bit location either in the registry or folder location.

In some cases, if you want to build the 32-bit prerequisite installer with 64-bit setup launcher, configure the conditions to check the 32-bit location. Most of the registry conditions in the prerequisites are configured to check the default location, which is 32-bit location for the 32-bit set up launcher and 64-bit location for the 64-bit setup launcher. But, the 32bit prerequisite installer creates the registry key under the 32-bit registry hives. To rectify this, you need to modify the registry location to check the 32-bit location explicitly in the InstallShield prerequisite editor. The prerequisite condition is as shown below: