Run-Time Behavior for InstallScript MSI Installations
InstallShield 2016
For InstallShield 12 and Later Projects
The following steps outline the run-time behavior for InstallScript MSI installations:
|
1.
|
Setup.exe initializes ISSetup.dll. |
|
2.
|
ISSetup.dll does the following: |
|
b.
|
Executes pre-installation InstallScript events (for example, OnBegin). |
|
c.
|
Launches the Windows Installer (and the InstallScript engine for the external user interface). |
|
d.
|
Each InstallShield custom action executes as follows (for example, OnMoved). (Note that this essentially the same mechanism that is used in Basic MSI with InstallScript custom actions.) |
|
i.
|
The Windows Installer calls the relevant entry point in ISSetup.dll. (This is a different instance of ISSetup.dll, loaded from the Binary table.) |
|
ii.
|
ISSetup.dll extracts its Setup.inx resource to a temporary location. |
|
iii.
|
ISSetup.dll executes relevant script code. |
|
iv.
|
Executes post-installation InstallScript events (for example, OnEnd). |
The run-time behavior for InstallShield 12 and later InstallScript MSI projects 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 InstallScript MSI 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 IDriver.exe. |
|
3.
|
IDriver.exe does the following: |
|
b.
|
Executes pre-installation InstallScript events (for example, OnBegin). |
|
c.
|
Launches the Windows Installer (and the InstallScript engine for the external user interface). |
Each InstallScript custom action executes as follows (for example, OnMoved). (Note that this is the same mechanism used in Basic MSI installations with custom actions.)
|
i.
|
The Windows Installer calls the relevant entry point in ISScriptBridge.dll. |
|
ii.
|
ISScriptBridge.dll finds the running IDriver.exe instance using the running object table (ROT). |
|
iii.
|
IDriver.exe executes relevant script code. |
|
d.
|
Executes post-installation InstallScript events (for example, OnEnd). |
See Also
Overview of ISSetup.dll
Open topic with navigation