| ICE | Brief description of ICE |
| ICE01: | Simple test of ICE mechanism. |
| ICE02: | Circular reference test for File-Component, Registry-Component KeyPaths. |
| ICE03: | Basic data and foreign key validation. |
| ICE04 | Validates file sequence numbers against the Media table's LastSequence numbers. |
| ICE05 | Validates for "required" entries in particular tables. |
| ICE06 | Validates for missing column or tables in the database. Any column defined in the _Validation table must be found in the database. |
| ICE07 | Validates that fonts are installed to the FontsFolder |
| ICE08 | Checks for duplicate GUIDs in the ComponentId column of the Component table. |
| ICE09 | Validates that the permanent bit is set for every component marked for installation into the SystemFolder. |
| ICE10 | Ensures that advertise feature states among children and parents are compatible. |
| ICE11 | ICE11 validates the Source column of the Custom Action table for Nested Installation custom actions. The Source column must contain a valid GUID (MSI product code). |
| ICE12 | Validates type 35 and type 51 custom actions and their locations in the sequence tables. |
| ICE13 | Validates that dialogs are not listed as actions in the execute sequence tables. Dialog actions are only allowed in the user interface sequence tables. |
| ICE14 | Validates that feature parents do not have msidbFeatureAttributesFollowParent bit set. Also validates that the entries in the Feature and Feature_Parent columns are not the same in the same record. |
| ICE15 | Validates that a circular reference exists between every entry in the MIME table and the corresponding extension in the Extension table. |
| ICE16 | Validates that the ProductName in the Property table is not greater than 63 characters in length. |
| ICE17 | Validates control type dependencies in the Control table. Covers PushButtons, RadioButtonGroups, ListBoxes, ListViews, and ComboBoxes |
| ICE18 | Validates the KeyPath column of the Component table when it is NULL. In this case, the key path is a Directory. |
| ICE19 | Validates the advertising tables: Class, TypeLib, Extension, PublishComponents, and Shortcut. |
| ICE20 | Validates that the required dialogs are in the Dialog table. |
| ICE21 | Validates that all components in the Component table map to a feature in the FeatureComponents table. |
| ICE22 | Validates that the Feature_ and Component_ columns in the PublishComponent table. |
| ICE23 | Validates the tab order of controls in all dialog boxes. |
| ICE24 | Validates certain properties in the Property table. |
| ICE25 | Verifies merge module dependencies and merge module exclusions. |
| ICE26 | Validates required and prohibited actions in the sequence tables. |
| ICE27 | Validates the organization and order of the sequence tables. |
| ICE28 | Validates actions that must not be separated by ForceReboot. |
| ICE29 | Validates that your stream names remain unique if truncated to the 62 character limit. |
| ICE30 | Validates that the installation of components containing the same file never installs the file more than once in the same directory. |
| ICE31 | Validates the text styles listed in the Text column of the control table. |
| ICE32 | Compares the column definitions to validates that keys and foreign keys are of the same size and type. |
| ICE33 | Checks for entries in the registry table that belong in other tables. |
| ICE34 | Validates that every group of radio buttons has a default. |
| ICE35 | Validates that any files from a cabinet file cannot be set to run from source |
| ICE36 | Validates that icons listed in the Icon table are used the Class, ProgID, or Shortcut tables. |
| ICE38 | Validates that components installed under the user's profile use a registry key under HKCU as their key path. |
| ICE39 | Validates the Summary Information stream of the database. |
| ICE40 | Performs various miscellaneous checks |
| ICE41 | Validates that entries in the Extension and Class tables refer to components belonging to the referenced feature. |
| ICE42 | Checks that Class table entries don't have EXEs set as InProc, and that only LocalServer contexts have arguments and DefInProc values. |
| ICE43 | Checks that non-advertised shortcuts are in components with HKCU reg keys as the key paths. |
| ICE44 | Checks that dialog events in the ControlEvent table (NewDialog, SpawnDialog, SpawnWaitDialog) reference valid Dialogs in the Dialog table. |
| ICE45 | Checks for reserved bits that are set. |
| ICE46 | Checks for custom properties that only differ from defined properties by their case. |
| ICE47 | Checks for features with more than 1600 components per feature on Windows NT/Windows 2000 and more than 800 components per feature on Windows 95 and Windows 98. |
| ICE48 | Checks for directories that are hard-coded to local paths. |
| ICE49 | Checks for non-REG_SZ default values in the registry table. |
| ICE50 | Checks that advertised shortcuts have correct icons and context menus. |
| ICE51 | Checks that TTC/TTF fonts do not have titles, but that all other fonts do. |
| ICE52 | Checks for non-public properties in the AppSearch table. |
| ICE53 | Checks for registry entries that write private installer information or policy values. |
| ICE54 | Checks for components using companion files as their key path file. |
| ICE55 | Checks that LockPermission objects exist and have valid permissions. |
| ICE56 | Validates that the directory structure of the .msi file has a single valid root. |
| ICE57 | Validates that individual components do not mix per-machine and per-user data. |
| ICE58 | Checks that your Media table does not have more than 80 rows. |
| ICE59 | Checks that advertised shortcuts belong to components that are installed by the target feature of the shortcut. |
| ICE60 | Checks that if a file in the File table is not a font and has a version, then it also has a language. |
| ICE61 | Checks the Upgrade table. |
| ICE62 | Performs extensive checks on the IsolatedComponent table for data that may cause unexpected behavior. |
| ICE63 | Checks for proper sequencing of the RemoveExistingProducts action. |
| ICE64 | Checks that new directories in the user profile are removed in roaming scenarios |
| ICE65 | Checks that the Environment table does not have invalid prefix or append values. |
| ICE66 | Uses the tables in the database to determine which schema your database should use. |
| ICE67 | Checks that the target of a non-advertised shortcut belongs to the same component as the shortcut itself, or that the attributes of the target component ensure that it does not change installation locations. |
| ICE68 | Checks that all custom action types needed for an installation are valid. |
| ICE69 | Checks that all substrings of the form [$componentkey] within a Formatted string do not cross-reference components. |
| ICE70 | Verifies that integer values for registry entries are specified correctly |
| ICE71 | ICE71 verifies that the Media table contains an entry with DiskId equal to 1. |
| ICE72 | ICE72 ensures that the only custom actions used in the AdvtExecuteSequence table are type 19, type 35, and type 51 custom actions |
| ICE73 | ICE73 verifies that your package does not reuse package codes or product codes of the Windows Installer SDK samples. See Package Codes and Product Codes. |
| ICE74 | ICE74 verifies that the FASTOEM property has not been authored into the Property Table. |
| ICE75 | ICE75 verifies that all custom action types that use an installed file as their source are sequenced after the CostFinalize action. |
| ICE76 | ICE76 verifies that no files in the BindImage table reference SFP (WFP) catalogs. |
| ICE77 | ICE77 verifies that in-script custom actions are sequenced after the InstallInitialize action and before the InstallFinalize action. |
| ICE78 | ICE78 verifies that that the AdvtUISequence table either does not exist or is empty. |
| ICE79 | ICE79 validates references to components and features entered in the database fields using the Condition data type. |
| ICE80 | ICE80 validates that Template Summary Property and Page Count Summary Property correctly specify the presence of 64-bit components or custom action scripts. |
| ICE81 | Validates the MsiDigitalCertificate table and MsiDigitalSignature table. |
| ICE82 | Validates the InstallExecuteSequence table. |
| ICE83 | Validates the MsiAssembly table. |
| ICE84 | Checks the sequence tables to verify that required standard actions have not been set with conditions. |
| ICE85 | Validates that the SourceName column of the MoveFile table is a valid long file name. |
| ICE86 | Issues a warning if the package uses the AdminUser property in database column of the Condition type. |
| ICE87 | Validates that the following properties have not been authored in the Property Table. |
| ICE89 | Validates that the value in the Progid_Parent column in ProgId table is a valid foreign key into the ProgId column in ProgId table. |
| ICE90 | Posts a warning if it finds that a shortcut's directory has been specified as a public property. |
| ICE91 | Posts a warning if a file, .ini file, or shortcut file is installed into a per-user profile directory that does not vary based on the ALLUSERS property. |
| ICE92 | Verifies that a component without a Component Id GUID is not also specified as a permanent component. |
| ICE93 | Issues a warning if a custom action uses the same name as a standard action. |
| ICE94 | Issues a warning if there are any unadvertised shortcuts pointing to an assembly file in the global assembly cache. |
| ICE95 | Checks the Control table and BBControl table to verify that the billboard controls fit onto all the billboards. |
| ICE96 | Verifies that the PublishFeatures action and the PublishProduct action are entered in the AdvtExecuteSequence table. |