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 |
Связанные темы