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.
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.
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.