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 исправляет ошибку.