ICE92

ICE92 проверяет, что компонент без идентификатора GUID компонента также не указан в качестве постоянного компонента. Это настраиваемое действие ICE проверяет таблицу компонентов на наличие компонентов без GUID , указанного в поле ComponentId, и проверяет, не задан ли флаг msidbComponentAttributesPermanent в поле Атрибуты. ICE92 также проверяет, что ни у одного компонента нет атрибутов msidbComponentAttributesPermanent и msidbComponentAttributesUninstallOnSupersedence .

Если столбец ComponentId имеет значение NULL, установщик не регистрирует компонент и компонент не может быть удален или восстановлен установщиком.

Результат

ICE92 выдает следующую ошибку.

Ошибка ICE92 Описание
Компонент "[1]" не имеет ComponentId и помечается как постоянный. Запись для этого компонента в таблице Component имеет значение NULL в столбце ComponentId и msidbComponentAttributesPermanent в столбце Атрибуты.

 

ICE92 публикует следующее предупреждение.

Предупреждение ICE92 Описание
Компонент "[1]" помечается как постоянный и удаляется при замене. Атрибут uninstall-on-supersedence будет игнорироваться, так как компонент является постоянным. Запись для этого компонента в таблице Component содержит атрибуты msidbComponentAttributesPermanent и msidbComponentAttributesUninstallOnSupersedence .

 

Пример

ICE92 сообщает следующую ошибку для примера:

The Component 'Component1' has no ComponentId and is marked as permanent.

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

Компонент ComponentId Каталог_ Атрибуты KeyPath
Компонент1   КаталогA 16 FileA

 

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