Использование средств оценки внутренней согласованности

Чтобы проверить базу данных, используйте специальное средство проверки, чтобы объединить 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 модуля слияния.

Проверка пакета установки

  1. Получите или создайте соответствующие пользовательские действия ICE. Вы можете использовать одну или несколько существующих ICEs, описанных в справочнике по ICE. Если для проверки требуется ice еще нет в этом списке, можно создать новый ICE, как описано в разделе Создание ICE.
  2. Подготовьте базу данных ICE, содержащую все настраиваемые действия ICE. Сведения о подготовке CUB-файла см. в разделе Создание базы данных ICE .
  3. Предоставьте CUB-файл и .msi файл средству проверки пакета, например Orca.exe или Msival2.exe.

Обратите внимание, что модули слияния должны проверяться, как описано в разделе Проверка модулей слияния.