Search

Internal Consistency Evaluators (ICE) Reference

Internal Consistency Evaluators

Internal consistency evaluators also called ICE’s are custom actions written in VBScript, JScript or as a DLL or EXE. When these custom actions are executed, they scan the database for entries in database records that are valid when examined individually but that may cause incorrect behavior in the context of the whole database.Watch Full Movie Online Streaming Online and Download

On basic level ICE01 to 105 are a set of predefined rules created by Microsoft to confirm the contents, logic and structure of Windows Installer package (MSI).

The table below also includes the recent additions ICE101 to ICE105 which were introduced with Windows Installer 5.0

ICE Reference Table

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.

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 theFASTOEM 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.

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 theAdminUser 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 theALLUSERS 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.

Meta

Related Posts

You see error -2146232060 when attempting to configure your ACT database using the following steps: In the Configuration Manager console, navigate to System Center Configuration Manager / Site Database / Computer Management / Application Compatibility Read more…