Condividi tramite


ICE32

ICE32 convalida che le chiavi e le chiavi esterne nel file .msi siano dello stesso tipo di dimensione e definizione di colonna. Questa azione personalizzata ICE esegue il confronto usando la tabella _Validation e usando i tipi di definizione restituiti da MsiViewGetColumnInfo. Per altre informazioni, vedere Formato definizione colonna.

Risultato

ICE32 invia errori se il file di .msi contiene chiavi esterne alle chiavi di una lunghezza di colonna o di un tipo di dati di colonna diverso.

Esempio

ICE32 pubblica due errori per l'esempio mostrato:

  • È presente una chiave esterna e una chiave definita che differiscono in base alle dimensioni.
  • È presente una chiave esterna e una chiave definita che differiscono nel tipo di definizione.

tabella _Validation (parziale)

Tabella Colonna KeyTable KeyColumn
File Version File 1
Lembo Colonna8 Lembo 1

 

Definizioni di colonna (parziale)

Tabella Colonna Tipo Dimensione
File File s 72
File Versione S 32
Lembo Colonna 1 i 2
Lembo Colonna8 S 32

 

La colonna Version della tabella File può essere una chiave esterna a un altro file nella tabella File. Ciò si verifica con i file complementari. Tuttavia, la colonna Version consente solo una lunghezza stringa 32, mentre la colonna File consente una lunghezza stringa 72. Per correggere questo errore, modificare la lunghezza della stringa in modo che corrisponda.

È presente una chiave esterna e una chiave definita che differiscono nei tipi di definizione. La colonna8 della tabella Flap è elencata come chiave esterna a Column1. Column8 è una colonna stringa e Column1 è una colonna integer. Le coppie chiave esterna e chiave devono essere definite in modo che i relativi tipi di dati corrispondano.

Riferimento ICE