ICE77

Windows Installer

ICE77

ICE77 verifies that custom actions with the msidbCustomActionTypeInScript bit set are sequenced after the InstallInitialize action and before the InstallFinalize action. ICE77 checks the sequence in the InstallExecuteSequence table and AdminExecuteSequence table.

Result

ICE77 posts an error if an in-script custom action is sequenced before the InstallInitialize action or after the InstallFinalize action.

ICE77 posts an error if the InstallInitialize action or the InstallFinalize action is missing.

Example

ICE77 reports the following errors for the example:

InstallFinalize is missing from 'InstallExecuteSequence'. 
CA_InScriptInstall is a in-script custom action. It must be sequenced 
before the InstallFinalize action.
 
CA_InScriptAdmin is a in-script custom action.  It must be sequenced 
in between the InstallInitialize action and the InstallFinalize action 
in the AdminExecuteSequence Sequence table.

CustomAction Table (partial)

Action Type
CA_InScriptInstall 1025
CA_InScriptAdmin 1026

 

InstallExecuteSequence Table (partial)

Action Sequence
CA_InScriptInstall 2000
InstallInitialize 1500

 


AdminExecuteSequence Table (partial)

Action Sequence
CA_InScriptAdmin 1400
InstallInitialize 1500
InstallFinalize 6600

 


To fix the errors, sequence the in-script custom actions after the InstallInitialize action and before the InstallFinalize action. The InstallInitialize and InstallFinalize actions must be present in the InstallExecuteSequence table and the AdminExecuteSequence table.

See Also

ICE Reference

Send comments about this topic to Microsoft

Build date: 8/13/2009

© 2009 Microsoft Corporation. All rights reserved.