Windows Installer
Unrestricted access to Windows Installer functionality!
Open Source
Open source!


Plain XML based source scripts!
Free, no strings attached!
Build Automation
Command-line interface for automated application build process!
Thriving community support!
Why WiX?

What does ICE32 check?

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.

When does ICE32 show up?

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

How can I fix ICE32?

If the foreign key and key defined differ in size, you should change the data type length to match.

If there is a foreign key and key defined that differ in their definition types, the foreign key and key pairs must be defined so that their data types match.

Note: As long as you use a good MSI template to start with and do not manually add any extra custom tables to the database, you should never see any ICE32 errors.