ICE32

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

結果

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

範例

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

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

_Validation資料表 (部分)

資料表 資料行 KeyTable KeyColumn
檔案 版本 檔案 1
皮 瓣 Column8 皮 瓣 1

 

資料行定義 (部分)

資料表 資料行 類型 大小
檔案 檔案 s 72
檔案 版本 S 32
皮 瓣 資料行1 i 2
皮 瓣 Column8 S 32

 

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

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

ICE 參考