ICE32

ICE32 可验证 .msi 文件中的键和外键的大小和列定义类型是否相同。 此 ICE 自定义操作使用 _Validation 表MsiViewGetColumnInfo 返回的定义类型进行比较。 有关详细信息,请参阅列定义格式

结果

如果 .msi 文件包含对不同列长度或列数据类型的键的任何外键,ICE32 会发布错误。

示例

针对以下显示的示例,ICE32 将发布两个错误:

  • 某个外键与已定义的键大小不同。
  • 某个外键与键在其定义类型方面有所不同。

_Validation表(部分)

KeyTable KeyColumn
文件 版本 文件 1
Flap Column8 Flap 1

 

列定义(部分)

类型 大小
文件 文件 S 72
文件 版本 S 32
Flap Column1 i 2
Flap Column8 S 32

 

File 表的 Version 列可以是 File 表中另一个文件的外键。 这与配套文件一起出现。 但是,Version 列仅允许字符串长度 32,而 File 列允许字符串长度为 72。 若要修复此错误,请更改要匹配的字符串长度。

某个外键与键在其定义类型方面有所不同。 Flap Table 的 Column8 作为 Column1 的外键列出。 Column8 是字符串列,Column1 是整数列。 外键和键必须成对定义,使其数据类型匹配。

ICE 参考