ICE77

ICE77 可验证设置了 MSIDBCustomActionTypeInScript 位的自定义操作的顺序是否在 InstallInitialize 操作后且在 InstallFinalize 操作前。 ICE77 可检查 InstallExecuteSequence 表AdminExecuteSequence 表中的序列。

结果

如果在 InstallInitialize 操作前或 InstallFinalize 操作后对脚本内自定义操作进行排序,ICE77 会发布错误。

如果缺少 InstallInitialize 操作或 InstallFinalize 操作,ICE77 会发布错误。

示例

对于示例,ICE77 报告以下错误:

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 表(部分)

操作 类型
CA_InScriptInstall 1025
CA_InScriptAdmin 1026

 

InstallExecuteSequence 表(部分)

操作 序列
CA_InScriptInstall 2000
InstallInitialize 1500

 

AdminExecuteSequence 表(部分)

操作 序列
CA_InScriptAdmin 1400
InstallInitialize 1500
InstallFinalize 6600

 

若要修复错误,请将脚本内自定义操作放在 InstallInitialize 操作后且在 InstallFinalize 操作前。 InstallExecuteSequence 表和 AdminExecuteSequence 表中必须存在 InstallInitialize 和 InstallFinalize 操作。

ICE 参考