ICE Validators
This validation suite contains a set of ICE validators that test if the Advanced Installer guidelines for package generation are infringed.
The following best practice rules are tested:
ICE Name | Description | Resolution | Automatic Fix |
---|---|---|---|
AI_ICE01 | Tests whether the SelfReg table was authored in the MSI database. There are several drawbaks when using this method. For more details please see SelfReg table documentation in MSDN. | It is recommended using the Registry. To fix it, go to the Files and Folders view and enable Extract registration info from native library option. To acces it, use the file's context menu and select the “Properties...” item. | Yes |
AI_ICE02 | Tests whether the TypeLib table was authored in the MSI database. There are several drawbacks when using this method. For more details please see TypeLib table documentation in MSDN. | It is recommended using the Registry. To fix it, go to the Files and Folders view and enable Extract registration info from native library option. To acces it, use the file's context menu and select the “Properties...” item. | Yes |
AI_ICE03 | Tests whether VBScript or JScript custom actions are authored in the MSI database. Script custom actions are difficult to write, also debugging them is not an easy task. Some anti-virus programs may kill them. | Use an executable file or dynamic-link library. | No |
AI_ICE04 | Tests whether nested install custom actions are authored in the MSI database. This Windows Installer feature is deprecated. | Use Prerequistes or chained package instead. | No |
AI_ICE05 | Tests whether the custom actions authored in the Wizard Dialogs Stage is also present in Install Execution Stage. A custom action present only in UI will not be executed during an un-managed install (basic or no user interface). | To fix it, go to the Custom Actions view and add the custom action under Install Execution Stage | Yes |
AI_ICE06 | Tests whether the properties associted with dialog controls are public. A non-public property will not be available durring the execute phase of the installation. | To fix it, go to the Dialogs view, select the control, and in the Properties pane make the associated property public (app caps). | Yes |
AI_ICE07 | Tests whether the properties associted with dialog controls have a default value. The default value will be used durring an un-managed install (basic or no user interface). | To fix it, go to the Dialogs view, select the control, and in the Properties pane edit the “Default Value” field. | No |