Export (0) Print
Expand All

ICE32

ICE32 validates that keys and foreign keys in the .msi file are of the same size and column definition types. This ICE custom action makes the comparison using the _Validation table and using the definition types that are returned by MsiViewGetColumnInfo. For more information, see Column Definition Format.

Result

ICE32 posts errors if the .msi file contains any foreign keys to keys of a different column length or column data type.

Example

ICE32 posts two errors for the example shown:

  • There is a foreign key and key defined that differ in size.
  • There is a foreign key and key defined that differ in their definition type.

_Validation Table (partial)

TableColumnKeyTableKeyColumn
FileVersionFile1
FlapColumn8Flap1

 

Column Definitions (partial)

TableColumnTypeSize
FileFiles72
FileVersionS32
FlapColumn1i2
FlapColumn8S32

 

The Version column of the File table can be a foreign key to another file in the File table. This occurs with companion files. However, the Version column only allows a string length 32, whereas the File column allows a string length 72. To fix this error change the string lengths to match.

There is a foreign key and key defined that differ in their definition types. Column8 of the Flap Table is listed as a foreign key to Column1. Column8 is a string column and Column1 is an integer column. The foreign key and key pairs must be defined so that their data types match.

Related topics

ICE Reference

 

 

Community Additions

ADD
Show:
© 2014 Microsoft