共用方式為


ICE32

ICE32 會驗證 .msi 檔案中的索引鍵和外鍵大小和數據行定義類型相同。 此 ICE 自定義動作會使用 _Validation 數據表,並使用 msiViewGetColumnInfo所傳回的定義型別進行比較。 如需詳細資訊,請參閱 資料行定義格式

結果

如果 .msi 檔案包含不同數據行長度或數據行數據類型之索引鍵的任何外鍵,ICE32 會張貼錯誤。

ICE32 會針對顯示的範例張貼兩個錯誤:

  • 定義外鍵和索引鍵的大小不同。
  • 已定義外鍵和索引鍵,其定義類型不同。

_Validation 資料表(部分)

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

 

資料列定義 (部分)

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

 

File 數據表的 Version 數據行可以是 File 數據表中另一個檔案的外鍵。 這與隨附檔案一起發生。 不過,Version 資料行只允許字串長度 32,而 [檔案] 資料行則允許字串長度 72。 若要修正此錯誤,請將字串長度變更為相符。

定義外鍵和索引鍵的定義類型不同。 Flap 數據表的 Column8 會列為 Column1 的外鍵。 Column8 是字串數據行,Column1 是整數數據行。 必須定義外鍵和金鑰組,使其數據類型相符。

ICE 參考