msi: Test the install sequence order

James Hawkins truiken at
Thu Oct 12 17:32:35 CDT 2006

On 10/12/06, James Hawkins <truiken at> wrote:
> Hi,
> MSI installers usually have at least two install sequencing tables,
> InstallExecuteSequence and InstallUISequence.  If the install is run
> at the Full UI level, then the installer executes the actions in the
> InstallUISequence table in order, up to the ExecuteAction sequence.
> At this point, the installer starts running through the actions in the
> InstallExecuteSequence table.  On the other hand, this test shows that
> some actions in the InstallExecuteSequence are run before certain
> actions in the InstallUISequence table.  I don't know if the installer
> has a set list of standard actions that are run in the
> InstallExecuteSequence before the InstallUISequence, or what, but this
> test at least shows that there is at least one action, ResolevSource,
> that is run in the InstallExecuteSequence before other actions in the
> InstallUISequence.  The test works like this:
> InstallExecuteSequence         InstallUISequence
> ------------------------------------     -------------------------
> ResolveSource          850        SetMagicKey       925
> WriteRegistryValues 6000      ResolveSource  960
>                                                      ExecuteAction     1300
> ResolveSource (IES) gets called to set the property SOURCEDIR.
> SetMagicKey sets the property MAGICKEY to 1 only if the SOURCEDIR
> property is set.  WriteRegistryValues writes a certain registry key
> only if MAGICKEY is set.  If the ResolveSource from the
> InstallExecuteSequence doesn't get called before SetMagicKey, then
> SOURCEDIR will not be set, and SetMagicKey, and thus
> WriteRegistryValues, will not be called.
> Changelog:
> * Test the install sequence order.

*sigh* Ignore this for now.  The solution is easier than all of this.
Though documentation says otherwise, the SourceDir and SOURCEDIR
property are set unconditionally when you run the install with
MsiInstallProduct.  I'll resend the tests without the ResolveSource
action to show this.

James Hawkins

More information about the wine-devel mailing list