Использование средств оценки внутренней согласованности
Чтобы проверить базу данных, используйте специальное средство проверки, чтобы объединить CUB-файл, содержащий средства оценки внутренней согласованности (ICEs), в базу данных, выполнить icEs и сообщить результаты. Несколько таких средств предоставляются в пакете средств разработки программного обеспечения (SDK) Microsoft Windows. Среды разработки от сторонних поставщиков также могут включать систему проверки ICE в свою среду разработки. Можно также написать собственное средство для выполнения проверки ICE. Большинство средств проверки ICE объединяют CUB-файл и базу данных в третью временную базу данных. Установщик Windows отображает предупреждения, ошибки, сведения об отладке и ошибки API при выполнении каждого ICE в файле CUB. Когда установщик завершит выполнение icEs, он закрывает .msi файл, CUB-файл и временную базу данных без сохранения изменений. Файл .msi и CUB-файл остаются неизменными после проверки.
Пользовательские действия ICE взаимодействуют с пользователем, вызывая MsiProcessMessage и публикуя сообщение INSTALLMESSAGE_USER. Сообщение ICE обычно возвращает следующие сведения:
- Имя объекта ICE, который обнаружил ошибку
- Дата создания ICE
- Автор ICE
- Дата последнего изменения ICE.
- Описание ошибки API, приводяющей к сбою ICE
- Описание ошибки
- Предупреждение для пользователя
- Имя таблицы базы данных, содержащей ошибку или предупреждение
- Имя столбца таблицы, содержащего ошибку или предупреждение
- Первичные ключи таблицы, содержащей ошибку или предупреждение
- URL-адрес HTML-файла с предложениями по отладке
- Строка, которая может содержать другие сведения
Авторы пакетов установки могут создавать пользовательские действия ICE или использовать стандартный набор ices, включенный в CUB-файлы, предоставляемые пакетом SDK. Дополнительные сведения о написании ICE см. в разделе Создание ICE.
После написания соответствующих ices для проверки разработчик должен собрать пользовательские действия вместе в базу данных .msi, называемую CUB-файлом, который содержит только ices и необходимые для их работы таблицы. CUB-файл не может быть установлен и используется только для хранения пользовательских действий ICE и предоставления доступа к ней. Дополнительные сведения о создании CUB-файлов см. в разделе Создание базы данных ICE. Кроме того, разработчики могут проверить свой пакет установки с помощью существующих ICES, описанных в справочнике по ICE. Эти ICEs можно получить из стандартных CUB-файлов, предоставляемых вместе с пакетом SDK.
Установка редактора таблиц базы данных Orca или средства проверки msival2 предоставляет файлы Logo.cub, Darice.cub и Mergemod.cub. Набор ices в файле Logo.cub является подмножеством из тех, которые есть в файле Darice.cub. Если пакет проходит проверку с помощью Darice.cub, он будет проходить с logo.cub. Mergemod.cub содержит набор ICE, используемых для проверки модулей слияния. Дополнительные сведения см. в справочнике по ICE модуля слияния.
Проверка пакета установки
- Получите или создайте соответствующие пользовательские действия ICE. Вы можете использовать одну или несколько существующих ICEs, описанных в справочнике по ICE. Если для проверки требуется ice еще нет в этом списке, можно создать новый ICE, как описано в разделе Создание ICE.
- Подготовьте базу данных ICE, содержащую все настраиваемые действия ICE. Сведения о подготовке CUB-файла см. в разделе Создание базы данных ICE .
- Предоставьте CUB-файл и .msi файл средству проверки пакета, например Orca.exe или Msival2.exe.
Обратите внимание, что модули слияния должны проверяться, как описано в разделе Проверка модулей слияния.