The InstallExecuteSequence table lists actions that are executed when the top-level INSTALL action is executed.
Actions in the install sequence up to the InstallValidate action, and any exit dialog boxes, are located in the InstallUISequence table. All actions from the InstallValidate through the end of the install sequence are in the InstallExecuteSequence table. Because the InstallExecuteSequence table needs to stand alone, it has any necessary initialization actions such as the LaunchConditions, CostInitialize, FileCost, and CostFinalize actions.
The InstallExecuteSequence table has the following columns.
Name of the action to execute. This is either a built-in action or a custom action.
Primary table key.
This field contains a conditional expression. If the expression evaluates to False, then the action is skipped. If the expression syntax is invalid, then the sequence terminates, returning iesBadActionData. For information on the syntax of conditional statements, see Conditional Statement Syntax.
Number that determines the sequence position in which this action is to be executed.
A positive value represents the sequence position. A Null value indicates that the action is not executed. The following negative values indicate that this action is to be executed if the installer returns the associated termination flag. Each termination flag (negative value) can be used with no more than one action. Multiple actions can have termination flags, but they must be different flags. Termination flags (negative values) are typically used with Dialog Boxes.
Termination flag Value Description msiDoActionStatusSuccess -1 Successful completion. Used with Exit dialog boxes. msiDoActionStatusUserExit -2 User terminates install. Used with UserExit dialog boxes. msiDoActionStatusFailure -3 Fatal exit terminates. Used with a FatalError dialog boxes. msiDoActionStatusSuspend -4 Install is suspended.
Zero, all other negative numbers, or a Null value indicate that the action is never run.
Localized text for progress display or logging is specified in the ActionText table.
For an example of a sequence table, see Using a Sequence Table.