Windows Installer Tutorial (2/2)
In the previous page we have seen how the Feature, FeatureComponents, Component and File tables describe the files that need to be installed. But we haven't shown what uses these tables to perform the actual installation. This is what we are going to on this page.
The execution of an installation package is the execution of a sequence of actions. Each of these actions can be one of the standard actions  provided by the Windows Installer framework or a custom action as described in the Custom Actions tutorial.
The complete execution sequence is divided into two main parts: the
InstallUISequence part and the
InstallUISequence part is the first part of the execution sequence and its goal is to decide what needs to be done to
install (or modify) the package, possibly by getting some input from the user. In this phase no change should be made
to the system.
After the InstallUISequence the
InstallExecuteSequence is run. This is the phase where the system is actually modified.
Changes made to the system are recorded so that if the changes can't be completed successfully they are rolled back. Such
protection doesn't exist in the InstallUISequence phase.
The actions to perform during the
InstallExecuteSequence are defined
by the InstallUISequence and InstallExecuteSequence tables of the package.
Figure 1 and 2 show these tables for the
SingleFileInstallation1.msi package. The Sequence in this table is
an integer that defines the order in which the actions should be performed (lowest sequence number is executed first).
|Figure 1: The InstallUISequence Table|
|Figure 2: The InstallExecuteSequence Table|
blog comments powered by Disqus