ICE32

ICE32 は、.msi ファイル内のキーと外部キーが同じサイズと列定義の種類であることを確認します。 この ICE カスタム アクションにより、_Validation テーブルを使い、MsiViewGetColumnInfo から返される定義値を使って比較を行います。 詳細については、「列定義の形式」を参照してください。

結果

列の長さまたは列のデータ型が異なるキーの外部キーが .msi ファイルに含まれている場合、ICE32 はエラーを投稿します。

ICE32 は、次の例のような 2 つのエラーを投稿します。

  • サイズが異なる外部キーとキーが定義されています。
  • 定義の種類が異なる外部キーとキーが定義されています。

_Validation テーブル (部分)

テーブル KeyTable KeyColumn
ファイル バージョン ファイル 1
Flap Column8 Flap 1

 

列の定義 (部分)

テーブル Type サイズ
ファイル ファイル s 72
ファイル バージョン S 32
Flap 列 1 i 2
Flap Column8 S 32

 

File テーブルの Version 列は、File テーブル内の別のファイルの外部キーである可能性があります。 これは、コンパニオン ファイルがある場合に発生します。 ただし、Version 列は文字列長 32 のみを使用できますが、File 列は文字列長 72 を使用できます。 このエラーを修正するには、文字列長が同じになるように変更します。

定義の種類が異なる外部キーとキーが定義されています。 Flap テーブルの Column8 は、Column1 の外部キーとして定義されています。 Column8 は文字列列であり、Column1 は整数列です。 外部キーとキーのペアは、そのデータ型が一致するように定義する必要があります。

ICE リファレンス