Использование средств оценки внутренней согласованности
Чтобы проверить базу данных, используйте специальное средство валидации для слияния CUB-файла, содержащего средства оценки внутренней согласованности (ICEs), в вашу базу данных, выполните ICEs и сообщите о результатах. В пакете средств разработки программного обеспечения Microsoft Windows (SDK) предоставляется несколько таких средств. Среды разработки сторонних поставщиков также могут включать систему проверки 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 содержит набор ICEs, используемых для проверки модулей слияния. Дополнительные сведения см. в справочнике по модулю объединения ICE .
Проверка пакета установки
- Получите или создайте необходимые пользовательские действия для ICE. Вы можете иметь возможность использовать один или несколько существующих ICE, описанных в ICE-справочнике . Если для проверки требуется ICE, которого еще нет в этом списке, вы можете создать новый ICE, как описано в Создание ICE.
- Подготовьте базу данных ICE, содержащую все пользовательские действия ICE. См. раздел создание базы данных ICE для получения информации о подготовке CUB-файла.
- Укажите CUB-файл и файл .msi в средство проверки пакета, например Orca.exe или Msival2.exe.
Обратите внимание, что модули слияния должны проверяться, как описано в Проверка модулей слияния.