内部一致性计算器 - ICE

内部一致性计算器(也称为 ICE)是用 VBScript、JScript 或 DLL 或 EXE 编写的自定义作。 执行这些自定义作时,会扫描数据库以查找在单独检查时有效的数据库记录中的条目,但这可能会导致整个数据库的上下文中出现不正确的行为。 请注意,这不同于使用 MsiViewModify对单个记录执行的验证。

例如,组件表 可能会列出多个组件,这些组件在 MsiViewModify单独测试时都是有效的。 但是,当两个组件使用与其组件代码相同的 GUID 时,MsiViewModify 不会捕获错误。 ICE08 自定义作旨在验证组件表是否不包含重复的组件代码 GUID。

ICE 自定义作返回四种类型的消息:

  • 错误 错误消息报告导致错误行为的数据库创作。 例如,重复的组件 GUID 会导致安装程序错误地注册组件。
  • 警告 警告消息报告数据库创作,在某些情况下导致行为不正确。 警告还可以报告数据库创作的意外副作用。 例如,在两个条件中输入相同的属性名称,这些条件仅与名称中的字母大小写不同。 由于安装程序区分大小写,因此安装程序将这些属性视为不同的属性。
  • 故障 故障消息报告 ICE 自定义作失败。 故障通常是由数据库导致,出现如此严重的问题,即 ICE 甚至无法运行。
  • 信息 信息性消息提供来自 ICE 的信息,并且不指示数据库出现问题。 它们通常是有关 ICE 本身的信息,例如简要说明。 它们还可以在 ICE 运行时提供进度信息。

有关详细信息,请参阅 使用内部一致性计算器