ICE32

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

结果

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

ICE32 发布了两个所示示例的错误:

  • 定义了大小不同的外键和键。
  • 定义外键和键的定义类型有所不同。

_Validation 表(部分)

桌子 KeyTable KeyColumn
文件 版本 文件 1
皮 瓣 Column8 皮 瓣 1

 

列定义(部分)

桌子 类型 大小
文件 文件 s 72
文件 版本 S 32
皮 瓣 Column1 2
皮 瓣 Column8 S 32

 

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

定义外键和键的定义类型有所不同。 Flap 表的 Column8 列为 Column1 的外键。 Column8 是字符串列,Column1 是整数列。 必须定义外键和键对,使其数据类型匹配。

ICE 参考