ICE32

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

结果

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

示例

ICE32 在显示的示例中发布两个错误:

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

_ 验证表 (分部)

KeyTable KeyColumn
文件 版本 文件 1
Column8 1

列定义 (部分)

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

文件表中的版本列可以是文件表中另一个文件的外键。 伴随文件发生此情况。 不过,版本列只允许字符串长度为32,而 File 列允许字符串长度72。 若要修复此错误,请更改要匹配的字符串长度。

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

ICE 引用