MSI Script Sequences
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 |
|
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 |
|
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 |
|
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... and http://msdn.microsoft.com/en-us/library/aa369500%2...
Just out of curiosity
What were you trying to achieve in terms of copying and pasting the InstallExecuteSequence tables? I'm just wondering since you can easily look at these in the msi tables anyway, were you trying to explain something?
Would you like to reply?
Login or Register to post your comment.