ICE02

ICE02 проверяет, являются ли некоторые ссылки между таблицами компонента, файла и реестра взаимной. Эти ссылки должны быть взаимной для установщика, чтобы правильно определить состояние установки компонентов.

Установщик использует столбец KeyPath таблицы компонентов для обнаружения присутствия компонента, указанного в столбце компонента. Столбец KeyPath содержит ключ в таблицах реестра или файлов. Обе эти таблицы имеют столбец Component_, содержащий ключ обратно в таблицу компонента, указывающий на компонент, который управляет записью реестра или файлом. Эти ссылки должны быть взаимными.

Результат

ICE02 публикует сообщение об ошибке, если он находит ссылку, которая должна быть взаимной и не является.

Пример

ICE02 опубликовал следующее сообщение об ошибке для MSI-файла, содержащего отображаемые записи базы данных.

File: 'Red_File' cannot be the key file for Component: 'Blue'. The file belongs to Component: 'Red'

Таблица компонентов (частичная)

Компонент KeyPath
Красный Red_File
Синий Red_File

 

Таблица файлов (частичная)

Столбец файлов Компонент_
Red_File Красный
Blue_File Синий

 

Синие компоненты Red_File, но Red_File не контролируется компонентом Blue и поэтому не может быть файлом KeyPath. Если установщик был вызван для получения состояния установки Blue, он неправильно проверка, был ли установлен Red_File. Изменение поля KeyPath для Blue в таблице компонентов, чтобы Blue_File исправляет ошибку.

Справочник по ICE