- AllocateRegistrySpace (min: 0, max: unbounded): Ensures the needed amount of space exists in the registry.
- AppSearch (min: 0, max: unbounded): Uses file signatures to search for existing versions of products.
- BindImage (min: 0, max: unbounded): Binds each executable or DLL that must be bound to the DLLs imported by it.
- CCPSearch (min: 0, max: unbounded): Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed.
- CostFinalize (min: 0, max: unbounded): Ends the internal installation costing process begun by the CostInitialize action.
- CostInitialize (min: 0, max: unbounded): Initiates the internal installation costing process.
- CreateFolders (min: 0, max: unbounded): Creates empty folders for components that are set to be installed.
- CreateShortcuts (min: 0, max: unbounded): Manages the creation of shortcuts.
- Custom (min: 0, max: unbounded): Use to sequence a custom action.
- DeleteServices (min: 0, max: unbounded): Stops a service and removes its registration from the system.
- DisableRollback (min: 0, max: unbounded): Disables rollback for the remainder of the installation.
- DuplicateFiles (min: 0, max: unbounded): Duplicates files installed by the InstallFiles action.
- FileCost (min: 0, max: unbounded): Initiates dynamic costing of standard installation actions.
- FindRelatedProducts (min: 0, max: unbounded): Runs through each record of the Upgrade table in sequence and compares the upgrade code, product version, and language in each row to products installed on the system.
- ForceReboot (min: 0, max: unbounded): Prompts the user for a restart of the system during the installation. Not fixed sequence.
- InstallExecute (min: 0, max: unbounded): Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action.
- InstallExecuteAgain (min: 0, max: unbounded): Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action.
- InstallFiles (min: 0, max: unbounded): Copies files specified in the File table from the source directory to the destination directory.
- InstallFinalize (min: 0, max: unbounded): Marks the end of a sequence of actions that change the system.
- InstallInitialize (min: 0, max: unbounded): Marks the beginning of a sequence of actions that change the system.
- InstallODBC (min: 0, max: unbounded): Installs the drivers, translators, and data sources in the ODBCDriver table, ODBCTranslator table, and ODBCDataSource table.
- InstallServices (min: 0, max: unbounded): Registers a service for the system.
- InstallValidate (min: 0, max: unbounded): Verifies that all costed volumes have enough space for the installation.
- IsolateComponents (min: 0, max: unbounded): Installs a copy of a component (commonly a shared DLL) into a private location for use by a specific application (typically an .exe).
- LaunchConditions (min: 0, max: unbounded): Queries the LaunchCondition table and evaluates each conditional statement recorded there.
- MigrateFeatureStates (min: 0, max: unbounded): Used for upgrading or installing over an existing application.
- MoveFiles (min: 0, max: unbounded): Locates existing files on the system and moves or copies those files to a new location.
- MsiPublishAssemblies (min: 0, max: unbounded): Manages the advertisement of CLR and Win32 assemblies.
- MsiUnpublishAssemblies (min: 0, max: unbounded): Manages the unadvertisement of CLR and Win32 assemblies that are being removed.
- PatchFiles (min: 0, max: unbounded): Queries the Patch table to determine which patches are to be applied.
- ProcessComponents (min: 0, max: unbounded): Registers and unregisters components, their key paths, and the component clients.
- PublishComponents (min: 0, max: unbounded): Manages the advertisement of the components from the PublishComponent table.
- PublishFeatures (min: 0, max: unbounded): Writes each feature's state into the system registry.
- PublishProduct (min: 0, max: unbounded): Manages the advertisement of the product information with the system.
- RegisterClassInfo (min: 0, max: unbounded): Manages the registration of COM class information with the system.
- RegisterComPlus (min: 0, max: unbounded): Registers COM+ applications.
- RegisterExtensionInfo (min: 0, max: unbounded): Manages the registration of extension related information with the system.
- RegisterFonts (min: 0, max: unbounded): Registers installed fonts with the system.
- RegisterMIMEInfo (min: 0, max: unbounded): Registers MIME-related registry information with the system.
- RegisterProduct (min: 0, max: unbounded): Registers the product information with the installer.
- RegisterProgIdInfo (min: 0, max: unbounded): Manages the registration of OLE ProgId information with the system.
- RegisterTypeLibraries (min: 0, max: unbounded): Registers type libraries with the system.
- RegisterUser (min: 0, max: unbounded): Registers the user information with the installer to identify the user of a product.
- RemoveDuplicateFiles (min: 0, max: unbounded): Deletes files installed by the DuplicateFiles action.
- RemoveEnvironmentStrings (min: 0, max: unbounded): Modifies the values of environment variables.
- RemoveExistingProducts (min: 0, max: unbounded): Goes through the product codes listed in the ActionProperty column of the Upgrade table and removes the products in sequence.
- RemoveFiles (min: 0, max: unbounded): Removes files previously installed by the InstallFiles action.
- RemoveFolders (min: 0, max: unbounded): Removes any folders linked to components set to be removed or run from source.
- RemoveIniValues (min: 0, max: unbounded): Removes .ini file information specified for removal in the RemoveIniFile table if the component is set to be installed locally or run from source.
- RemoveODBC (min: 0, max: unbounded): Removes the data sources, translators, and drivers listed for removal during the installation.
- RemoveRegistryValues (min: 0, max: unbounded): Removes a registry value that has been authored into the registry table if the associated component was installed locally or as run from source, and is now set to be uninstalled.
- RemoveShortcuts (min: 0, max: unbounded): Manages the removal of an advertised shortcut whose feature is selected for uninstallation or a nonadvertised shortcut whose component is selected for uninstallation.
- ResolveSource (min: 0, max: unbounded): Determines the location of the source and sets the SourceDir property if the source has not been resolved yet. Not fixed sequence.
- RMCCPSearch (min: 0, max: unbounded): Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed.
- ScheduleReboot (min: 0, max: unbounded): Prompts the user to restart the system at the end of installation. Not fixed sequence.
- SelfRegModules (min: 0, max: unbounded): Processes all modules listed in the SelfReg table and registers all installed modules with the system.
- SelfUnregModules (min: 0, max: unbounded): Unregisters all modules listed in the SelfReg table that are scheduled to be uninstalled.
- SetODBCFolders (min: 0, max: unbounded): Checks for existing ODBC drivers and sets the target directory for each new driver to the location of an existing driver.
- StartServices (min: 0, max: unbounded): Starts system services.
- StopServices (min: 0, max: unbounded): Stops system services.
- UnpublishComponents (min: 0, max: unbounded): Manages the unadvertisement of components listed in the PublishComponent table.
- UnpublishFeatures (min: 0, max: unbounded): Removes selection-state and feature-component mapping information from the registry.
- UnregisterClassInfo (min: 0, max: unbounded): Manages the removal of COM class information from the system registry.
- UnregisterComPlus (min: 0, max: unbounded): Removes COM+ applications from the registry.
- UnregisterExtensionInfo (min: 0, max: unbounded): Manages the removal of extension-related information from the system registry.
- UnregisterFonts (min: 0, max: unbounded): Removes registration information about installed fonts from the system.
- UnregisterMIMEInfo (min: 0, max: unbounded): Unregisters MIME-related registry information from the system.
- UnregisterProgIdInfo (min: 0, max: unbounded): Manages the unregistration of OLE ProgId information with the system.
- UnregisterTypeLibraries (min: 0, max: unbounded): Unregisters type libraries from the system.
- ValidateProductID (min: 0, max: unbounded): Sets the ProductID property to the full product identifier.
- WriteEnvironmentStrings (min: 0, max: unbounded): Modifies the values of environment variables.
- WriteIniValues (min: 0, max: unbounded): Writes the .ini file information that the application needs written to its .ini files.
- WriteRegistryValues (min: 0, max: unbounded): Sets up an application's registry information.
Many times we interfere with the MSI script sequence in InstallExecute sequence, AdminExecuteSequence, advertised sequence, InstallUISequence, AdminUISequence. Following lists will be helpful in maintaining proper sequence.
It's not necessory that sequence number should be like this only but order is suggested to be the same.
InstallExecuteSequence
Action |
Condition |
Sequence |
LaunchConditions |
100 |
|
AppSearch |
400 |
|
CCPSearch |
NOT Installed |
500 |
RMCCPSearch |
NOT Installed |
600 |
ValidateProductID |
700 |
|
CostInitialize |
800 |
|
FileCost |
900 |
|
CostFinalize |
1000 |
|
SetODBCFolders |
1100 |
|
InstallValidate |
1400 |
|
InstallInitialize |
1500 |
|
AllocateRegistrySpace |
NOT Installed |
1550 |
ProcessComponents |
1600 |
|
UnpublishComponents |
1700 |
|
UnpublishFeatures |
1800 |
|
StopServices |
VersionNT |
1900 |
DeleteServices |
VersionNT |
2000 |
UnregisterComPlus |
2100 |
|
SelfUnregModules |
2200 |
|
UnregisterTypeLibraries |
2300 |
|
RemoveODBC |
2400 |
|
UnregisterFonts |
2500 |
|
RemoveRegistryValues |
2600 |
|
UnregisterClassInfo |
2700 |
|
UnregisterExtensionInfo |
2800 |
|
UnregisterProgIdInfo |
2900 |
|
UnregisterMIMEInfo |
3000 |
|
RemoveIniValues |
3100 |
|
RemoveShortcuts |
3200 |
|
RemoveEnvironmentStrings |
3300 |
|
RemoveDuplicateFiles |
3400 |
|
RemoveFiles |
3500 |
|
RemoveFolders |
3600 |
|
CreateFolders |
3700 |
|
MoveFiles |
3800 |
|
InstallFiles |
4000 |
|
DuplicateFiles |
4100 |
|
PatchFiles |
4200 |
|
BindImage |
4300 |
|
CreateShortcuts |
4500 |
|
RegisterClassInfo |
4600 |
|
RegisterExtensionInfo |
4700 |
|
RegisterProgIdInfo |
4800 |
|
RegisterMIMEInfo |
4900 |
|
WriteRegistryValues |
5000 |
|
WriteIniValues |
5100 |
|
WriteEnvironmentStrings |
5200 |
|
RegisterFonts |
5300 |
|
InstallODBC |
5400 |
|
RegisterTypeLibraries |
5500 |
|
SelfRegModules |
5600 |
|
RegisterComPlus |
5700 |
|
InstallServices |
VersionNT |
5800 |
StartServices |
VersionNT |
5900 |
RegisterUser |
6000 |
|
RegisterProduct |
6100 |
|
PublishComponents |
6200 |
|
PublishFeatures |
6300 |
|
PublishProduct |
6400 |
|
InstallFinalize |
6600 |
AdminExecuteSequence
Action |
Condition |
Sequence |
CostInitialize |
800 |
|
FileCost |
900 |
|
CostFinalize |
1000 |
|
InstallValidate |
1400 |
|
InstallInitialize |
1500 |
|
InstallAdminPackage |
3900 |
|
InstallFiles |
4000 |
|
InstallFinalize |
6600 |
AdvtExecuteSequence
Action |
Condition |
Sequence |
CostInitialize |
800 |
|
CostFinalize |
1000 |
|
InstallValidate |
1400 |
|
InstallInitialize |
1500 |
|
CreateShortcuts |
4500 |
|
RegisterClassInfo |
4600 |
|
RegisterExtensionInfo |
4700 |
|
RegisterProgIdInfo |
4800 |
|
RegisterMIMEInfo |
4900 |
|
PublishComponents |
6200 |
|
PublishFeatures |
6300 |
|
PublishProduct |
6400 |
|
InstallFinalize |
6600 |
InstallUISequence
Action |
Condition |
Sequence |
FatalErrorDlg |
-3 |
|
UserExitDlg |
-2 |
|
ExitDlg |
-1 |
|
LaunchConditions |
100 |
|
PrepareDlg |
140 |
|
AppSearch |
400 |
|
CCPSearch |
NOT Installed |
500 |
RMCCPSearch |
NOT Installed |
600 |
CostInitialize |
800 |
|
FileCost |
900 |
|
CostFinalize |
1000 |
|
WelcomeDlg |
NOT Installed |
1230 |
ResumeDlg |
Installed AND (RESUME OR Preselected) |
1240 |
MaintenanceWelcomeDlg |
Installed AND NOT RESUME AND NOT Preselected |
1250 |
ProgressDlg |
1280 |
|
ExecuteAction |
1300 |
AdminUISequence
Action |
Condition |
Sequence |
FatalErrorDlg |
-3 |
|
UserExitDlg |
-2 |
|
ExitDlg |
-1 |
|
PrepareDlg |
140 |
|
CostInitialize |
800 |
|
FileCost |
900 |
|
CostFinalize |
1000 |
|
AdminWelcomeDlg |
1230 |
|
ProgressDlg |
1280 |
|
ExecuteAction |
1300 |
This information can also be found: http://msdn.microsoft.com/en-us/library/aa372038%2... andhttp://msdn.microsoft.com/en-us/library/aa369500%2...