ICE32
ICE32 は、.msi ファイル内のキーと外部キーのサイズと列定義の種類が同じであることを検証します。 この ICE カスタム アクションでは、_Validation テーブル を使用し、MsiViewGetColumnInfoによって返される定義の型使用して比較を行います。 詳細については、「列定義形式の」を参照してください。
結果
ICE32 は、.msi ファイルに異なる列長または列データ型のキーに対する外部キーが含まれている場合にエラーをポストします。
例
ICE32 は、次に示す例の 2 つのエラーを投稿します。
- サイズが異なる外部キーとキーが定義されています。
- 定義の種類が異なる外部キーとキーが定義されています。
テーブル の _Validation (一部)
テーブル | コラム | KeyTable | KeyColumn |
---|---|---|---|
ファイル | バージョン | ファイル | 1 |
羽ばたく | Column8 | 羽ばたく | 1 |
列の定義 (部分)
テーブル | コラム | 種類 | 大きさ |
---|---|---|---|
ファイル | ファイル | s | 72 |
ファイル | バージョン | S | 32 |
羽ばたく | Column1 | 私 | 2 |
羽ばたく | Column8 | S | 32 |
ファイル テーブルの Version 列は、ファイル テーブル内の別のファイルの外部キーにすることができます。 これはコンパニオン ファイルで発生します。 ただし、Version 列では文字列の長さ 32 のみが許可されますが、File 列では文字列の長さが 72 になります。 このエラーを修正するには、文字列の長さを一致するように変更します。
定義の種類が異なる外部キーとキーが定義されています。 フラップ テーブルの列 8 は、Column1 の外部キーとして一覧表示されます。 Column8 は文字列列で、Column1 は整数列です。 外部キーとキーのペアは、データ型が一致するように定義する必要があります。
関連トピック