An ICE is used to validate installation packages. The table in this topic identifies each ICE. For information about ICEMs used to validate merge modules, see Merge Module ICE Reference.
ICE | Description |
---|---|
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 LastSequence numbers of the Media Table. |
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. |
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 the 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 install the file more than one time in the same directory. |
ICE31 | Validates the text styles listed in the Text column of the control table. |
ICE32 | Compares the column definitions to validate that keys and foreign keys are of the same size and type. |
ICE33 | Checks the registry table for entries 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 the source. |
ICE36 | Validates that icons listed in the Icon table are used in 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 do not have .exe files set as InProc values, and that only LocalServer contexts have arguments and DefInProc values. |
ICE43 | Checks that non-advertised shortcuts are in components with HKCU registry 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.. |
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 | Verifies that the Media Table contains an entry with DiskId equal to 1. |
ICE72 | Ensures that the only custom actions used in the AdvtExecuteSequence Table are type 19, type 35, and type 51 custom actions. |
ICE73 | Verifies that your package does not reuse package codes or product codes of the Windows Installer SDK samples. For more information, see Package Codes and Product Codes. |
ICE74 | Verifies that the FASTOEM property has not been authored into the Property Table. |
ICE75 | Verifies that all custom action types that use an installed file as their source are sequenced after the CostFinalize Action. |
ICE76 | Verifies that no files in the BindImage Table reference SFP (WFP) catalogs. |
ICE77 | Verifies that in-script custom actions are sequenced after the InstallInitialize Action and before the InstallFinalize Action. |
ICE78 | Verifies that the AdvtUISequence Table either does not exist or is empty. |
ICE79 | Validates references to components and features entered in the database fields using the Condition data type. |
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, MsiDigitalSignature Table and MsiPackageCertificate Table. |
ICE82 | Validates the InstallExecuteSequence Table. |
ICE83 | Validates the MsiAssembly Table. |
ICE84 | Checks the sequence tables to verify that required Standard Actions are not 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. |
ICE88 | Validates the DirProperty column of IniFile 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. Verifies that no component has both the msidbComponentAttributesPermanent and msidbComponentAttributesUninstallOnSupersedence attributes. |
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. |
ICE97 | Verifies that two components do not isolate a shared component to the same directory. |
ICE98 | Verifies the description field of the ODBCDataSource Table for an ODBC data source. |
ICE99 | Verifies that no property name entered in the Directory table duplicates a name reserved for the public or private use of the Windows Installer. |
ICE100 | Checks the authoring of the MsiEmbeddedUI and MsiEmbeddedChainer tables. |
ICE101 | Checks that no value in the Feature column of the Feature table exceeds a maximum length of 38 characters. |
ICE102 | Validates the MsiServiceConfig and MsiServiceConfigFailureActions tables. |
ICE103 | Validates the MsiPrint and MsiLaunchApp control events. |
ICE104 | Verifies the MsiLockPermissionsEx and LockPermissions tables. |
ICE105 | Validates that the package has been authored to be installed in a per-user context. |
Send comments about this topic to Microsoft
Build date: 8/13/2009
© 2009 Microsoft Corporation. All rights reserved.