Run-Time Behavior for Basic MSI Installations with InstallScript Custom Actions

InstallShield 2018

For InstallShield 12 and Later Projects

The following steps outline the run-time behavior for Basic MSI installations that include InstallScript custom actions:

1. The package is launched by the Windows Installer service.
2. Any sequenced InstallScript custom actions execute as follows.
a. The Windows Installer calls the relevant entry point in ISSetup.dll (loaded from the Binary table).
b. ISSetup.dll extracts its Setup.inx resource to a temporary location.
c. ISSetup.dll executes relevant script code.
d. Windows Installer unloads ISSetup.dll.

The run-time behavior for InstallShield 12 and later Basic MSI projects that have InstallScript custom actions is much different than the behavior for InstallShield 11.5 and earlier because of some architecture enhancements. For more information about the enhancements, see Upgrading Projects from InstallShield 11.5 or Earlier.

For InstallShield 11.5 and Earlier Projects

For installations created with InstallShield 11.5 and earlier, the run-time behavior is as follows:

1. Setup.exe installs ISScript.msi.
2. Setup.exe launches MsiExec.exe to install the primary .msi file. (Setup.exe must be included in the installation, or it must already be present on the target system.)
3. ISMsiServerStartup (immediate custom action) starts and initializes IDriver.exe.
4. Any sequenced InstallScript custom actions execute as follows.
a. The Windows Installer finds the relevant entry point in ISScriptBridge.dll.
b. ISScriptBridge.dll finds the running IDriver.exe instance using the running object table (ROT).
c. IDriver.exe executes relevant script code.
5. ISCleanUpSuccess shuts down IDriver.exe.

If you upgrade an InstallShield 11.5 or earlier project to InstallShield 2018, the run-time behavior is updated to the behavior described for InstallShield 12 and later projects.

See Also