ICE32
ICE32 verifierar att nycklar och sekundärnycklar i den .msi filen har samma storlek och kolumndefinitionstyper. Den här anpassade ICE-åtgärden gör jämförelsen med _Validation-tabellen och använder definitionstyperna som returneras av MsiViewGetColumnInfo. Mer information finns i Kolumndefinitionsformat.
Resultat
ICE32 publicerar fel om filen .msi innehåller sekundärnycklar till nycklar med en annan kolumnlängd eller kolumndatatyp.
Exempel
ICE32 publicerar två fel för exemplet som visas:
- Det finns en sekundärnyckel och nyckel definierad som skiljer sig åt i storlek.
- Det finns en sekundärnyckel och nyckel som har definierats som skiljer sig åt i definitionstypen.
_Validation tabell (delvis)
Bord | Spalt | KeyTable | KeyColumn |
---|---|---|---|
Fil | Version | Fil | 1 |
Klaff | Kolumn 8 | Klaff | 1 |
Kolumndefinitioner (partiella)
Bord | Spalt | Typ | Storlek |
---|---|---|---|
Fil | Fil | s | 72 |
Fil | Version | S | 32 |
Klaff | Kolumn1 | jag | 2 |
Klaff | Kolumn 8 | S | 32 |
Kolumnen Version i tabellen Fil kan vara en sekundärnyckel till en annan fil i tabellen Arkiv. Detta inträffar med tillhörande filer. Men kolumnen Version tillåter endast en stränglängd 32, medan kolumnen Arkiv tillåter en stränglängd 72. Om du vill åtgärda det här felet ändrar du stränglängderna så att de matchar.
Det finns en sekundärnyckel och nyckel definierad som skiljer sig åt i definitionstyperna. Kolumn 8 i tabellfliken visas som en sekundärnyckel till Kolumn1. Column8 är en strängkolumn och Column1 är en heltalskolumn. Sekundärnyckeln och nyckelparen måste definieras så att deras datatyper matchar.
Relaterade ämnen