ICEM12

ICEM12 验证在 ModuleSequence 表中,标准操作是否具有序列号,自定义操作具有 BaseAction 和 After 值。

此 ICEM 在 Windows Installer 2.0 SDK 及更高版本中提供的 Mergemod.cub 文件中提供。 有关详细信息,请参阅Windows 安装程序开发人员的 Windows SDK 组件

结果

ICEM12 在下列情况下发布错误:

如果 ICEM12 找到的自定义操作指定了序列号,但在 BaseAction 或 After 字段中没有值,则 ICEM12 将发出警告。

请注意,CustomAction 表中找到 的所有操作 都被视为自定义操作。 所有其他操作都被视为标准操作。

示例

ICEM12 为包含如下所示的数据库条目的模块发布以下错误和警告消息:

Error. Custom actions should use the BaseAction and After fields and not use the 
Sequence field in the Module Sequence tables. The custom action 'Action1' uses the Sequence field 
and does not use the BaseAction and After fields in the ModuleInstallExecuteSequence table. 
    
Error. Custom actions should not leave the Sequence, BaseAction, and After fields 
of the Module Sequence tables all empty. The custom action 'Action3' leaves the Sequence, 
BaseAction, and After fields empty in the ModuleAdminExecuteSequence table.

Error. Standard actions should not use the BaseAction and After fields in Module 
Sequence tables. The standard action 'Action2' has a values entered in the BaseAction 
or After fields of the ModuleAdminExecuteSequence table.

Error. Standard actions must have a entry in the Sequence field of Module Sequence 
tables. The standard action 'Action2' does not have a Sequence value in the 
ModuleExecuteSequence table.

CustomAction

操作 类型 目标
Action1 30 source1 target1
Action3 30 source3 target3

ModuleAdminExecuteSequence

操作 序列 BaseAction 之后 条件
Action2 Action1 1
Action3

ModuleInstallExecuteSequence

操作 序列 BaseAction 之后 条件
Action1 1

若要修复这些错误,请尝试以下操作:

  • 删除自定义操作 Action1 的序列号,并改为使用 BaseAction 和 After 字段。
  • 在自定义操作 Action3 的 Sequence、BaseAction 或 After 字段中输入值。 对于标准操作 Action2,将 BaseAction 和 After 字段留空。
  • 对于标准操作 Action2,请勿将"序列"字段留空。

合并模块 ICE 参考