次の方法で共有


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 は整数列です。 外部キーとキーのペアは、データ型が一致するように定義する必要があります。

ICE リファレンス