Building 64-bit Setup Exe

 

Project:This information applies to the following project types:

Advanced UI
Suite/Advanced UI

InstallShield lets you specify whether you want your installation to include a 64-bit Setup.exe setup launcher for Advanced UI and Suite/Advanced UI projects. 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 Setup.exe tab for a Release in the Releases view is where you specify information to build 64-bit Setup launcher.

Along with 64-bit Setup Exe configuration in the Advanced UI and Suite/Advanced UI project, it is required to configure 64-bit packages and 64-bit action events in order to build the pure 64-bit setup Exe where it can target pure 64 bit operating systems without WOW64 support. The Pure 64-bit suite Setup Exe cannot install 32-bit packages or execute 32-bit action event during installation, because 32-bit binaries cannot be loaded on 64-bit target systems without WOW64 support. However, InstallShield has the capability to configure the platform condition to selectively install the packages based on the operating system architecture, this capability allows one suite Setup installer can contain packages targeting multiple platforms. Building 64-bit Setup launcher does not support 32- bit DLL, 32-bit Managed Code, and InstallScript action events.

For more information on configuring conditional statement, see Building Conditional Statements in Advanced UI and Suite/Advanced UI Projects.

Building 32-bit Packages with 64-bit Setup Exe Launcher

InstallShield throws the following warning messages during the Advanced UI and Suite/Advanced UI project build if the packages contain 32-bit Windows Installer Package (.msi) and 32 Executable Package (.exe) with the 64-bit Setup Exe launcher option:

ISDEV: warning -7373: Building 64-bit setup with x86 Windows Installer Packages - 'Package Name'.
ISDEV: warning -7373: Building 64-bit setup with x86 Executable Package - ''Package Name''.

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 package fail to install in pure 64-bit system. This failure can be fixed by not opting the 64-bit Setup Exe launcher if the installer needs to target pure 32-bit system and WoW64 on 64-bit system. Alternatively, all the 32-bit packages can be migrated to 64-bit packages to target pure 64-bit system.

Building InstallScript Event Actions with 64-bit Setup Launcher

InstallScript event actions are not supported with 64-bit Setup Exe launcher. InstallShield build throws the following error if the Advanced UI and Suite/Advanced UI project contain InstallScript event actions:

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

If the InstallScript event actions are required, the Advanced UI and Suite/Advanced UI 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 Exe launcher. Alternatively, if the InstallScript event actions are not required, it can be deleted from the project and continue building with 64-bit Setup Exe launcher.

Building 32-bit DLL, 32-bit Managed Code Event Actions with 64-bit Setup Launcher

Building 32- bit DLL and 32-bit Managed Code event actions are not supported with 64-bit Setup Exe launcher. InstallShield build throws the following errors while building 64-bit Setup Exe launcher with 32- bit DLL and 32-bit Managed Code event actions:

ISDEV: Error -7374: Building 64-bit setup with x86 DLL Action - 'Action Name'.

ISDEV: Error -7374: Building 64-bit setup with x86 EXE Action - 'Action Name'.

To resolve the error, add 64-bit DLL and 64-bit Managed Code event actions with 64-bit Setup Exe launcher.

Building 32-bit EXE Event Actions with 64-bit Setup Launcher

InstallShield throws the following warning message during the build if Advanced UI and Suite/Advanced UI project configured to build with 64-bit Setup Exe launcher and 32-bit EXE event actions:

ISDEV: Error -7375: Building 64-bit setup with x86 EXE Action - 'Action Name'.

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 EXE action event fail to execute in pure 64-bit system. This failure can be fixed by not opting the 64-bit Setup Exe launcher if the installer needs to target pure 32-bit system and WoW64 on 64-bit system. Other way, all the 32-bit EXE action events can be migrated to 64-bit EXE to target pure 64-bit system.

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 are configuring to build the projects that include InstallShield prerequisites with 64-bit setup launcher then 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 then 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 information is as shown below:

 

32 bit Extension Condition DLL and UI Resource DLL

64-Bit Setup Launcher fails to load the 32 bit Extension Condition DLL and UI Resource Extension DLL during runtime. If your project is binded with 32-bit Extension DLL, it is required to build the corresponding 64-bit extension DLL and configure in the project to build the 64-Bit Setup Launcher.