MAKEMSI quickly and reliably creates MSI files in a non-programmatic way
Have your say! Join the MAKEMSI discussion list or view archive! Suggest improvements. No question too simple or too complex.
[Bottom][Contents][Prev]: Custom Actions[Next]: Types of Custom Actions
Have your say! Join the MAKEMSI discussion list or view archive! Suggest improvements. No question too simple or too complex.
\->Windows Installer FAQ (the basics)->Custom Actions->Scheduling of Custom Actions

Scheduling of Custom Actions

Sequence tables are used to schedule "standard" as wellas custom actions that you define. The main (but possibly not only) tables you will use are (examples below):

Custom actions are generally executed in numeric order, you can use the GetSeqNumber() function to dynamically allocate unused numbers for you but all MAKEMSI commands that perform scheduling will automatically do this for you.

Sequence table Example

This shows the "InstallExecuteSequence" table in "ORCA" ("Sequence column heading click to sort in order of execution):

InstallExecuteSequence - UISAMPLE.MSI Sequencing

You will probably use this table more often than the "InstallUISequence" table. The default sequence of custom actions is:

ActionSequence
Number
LaunchConditions100
FindRelatedProducts200
AppSearch400
CCPSearch500
RMCCPSearch600
ValidateProductID700
CostInitialize800
FileCost900
CostFinalize1000
SetODBCFolders1100
MigrateFeatureStates1200
InstallValidate1400
InstallInitialize1500
AllocateRegistrySpace1550
ProcessComponents1600
UnpublishComponents1700
UnpublishFeatures1800
StopServices1900
DeleteServices2000
UnregisterComPlus2100
SelfUnregModules2200
UnregisterTypeLibraries2300
RemoveODBC2400
UnregisterFonts2500
RemoveRegistryValues2600
UnregisterClassInfo2700
UnregisterExtensionInfo2800
UnregisterProgIdInfo2900
UnregisterMIMEInfo3000
RemoveIniValues3100
RemoveShortcuts3200
RemoveEnvironmentStrings3300
RemoveDuplicateFiles3400
RemoveFiles3500
RemoveFolders3600
CreateFolders3700
MoveFiles3800
InstallFiles4000
PatchFiles4090
DuplicateFiles4210
BindImage4300
CreateShortcuts4500
RegisterClassInfo4600
RegisterExtensionInfo4700
RegisterProgIdInfo4800
RegisterMIMEInfo4900
WriteRegistryValues5000
WriteIniValues5100
WriteEnvironmentStrings5200
RegisterFonts5300
InstallODBC5400
RegisterTypeLibraries5500
SelfRegModules5600
RegisterComPlus5700
InstallServices5800
StartServices5900
RegisterUser6000
RegisterProduct6100
PublishComponents6200
PublishFeatures6300
PublishProduct6400
InstallFinalize6600
RemoveExistingProducts6700

InstallUISequence - UISAMPLE.MSI Sequencing

Items in this table are not executed in a silent install. The default sequence of custom actions is:

ActionSequence
Number
FatalError-3
UserExit-2
ExitDialog-1
LaunchConditions100
PrepareDlg140
FindRelatedProducts200
AppSearch400
CCPSearch500
RMCCPSearch600
CostInitialize800
FileCost900
CostFinalize1000
MigrateFeatureStates1200
WelcomeDlg1230
ResumeDlg1240
MaintenanceWelcomeDlg1250
ProgressDlg1280
ExecuteAction1300


Microsoft awarded me an MVP (Most Valuable Professional award) in 2004, 2005, 2006, 2007, 2008 & 2009 for the Windows SDK (Windows Installer) area.Please email me any feedback, additional information or corrections.
See this page online (look for updates)

[Top][Contents][Prev]: Custom Actions[Next]: Types of Custom Actions


MAKEMSI© is (C)opyright Dennis Bareis 2003-2008 (All rights reserved).
Saturday May 28 2022 at 3:11pm
Visit MAKEMSI's Home Page
Microsoft awarded me an MVP (Most Valuable Professional award) in 2004, 2005, 2006, 2007, 2008 & 2009 for the Windows SDK (Windows Installer) area.