Технология Windows Installer. Часть I. Обзор возможностей

Андрей Алифанов

Windows Installer API

 

 

Таблицы - это конечно, хорошо. Но как добраться до содержимого этих таблиц? И как изменять эти таблицы? То есть, говоря иными словами, как можно работать с базой данных инсталляционного пакета?

Для этого существует Windows Installer API. Этот API весьма обширен и включает в себя несколько десятков функций, различных констант и агрегатных типов данных. Все функции Windows Installer API поддерживают как ANSI, так и Unicode. Это позволяет использовать их как в операционных системах на основе Windows NT, для которых кодировка Unicode является родной, так и в системах Windows 9x, ограниченно поддерживающих Unicode.

Все функции Windows Installer API легко найти по префиксу - Msi.

Функции API можно условно разделить на две большие группы:

• Функции общего назначения.

• Функции доступа к инсталляционной базе данных.

 

Функции общего назначения

Эта большая группа функций делится на следующие группы:

• Функции пользовательского интерфейса и журналирования.

• Функции управления дескрипторами.

• Функции конфигурирования и инсталляции.

• Компоненто-ориентированные функции.

• Функции приложения.

• Функции статуса системы.

• Функции запросов.

• Функции исправлений.

 

Функции доступа к инсталляционной базе данных

Функции доступа к базе данных используются в пользовательских операциях, выполняемых во время инсталляции программ, и в инструментальных утилитах (например, в тех же ORCA и MsiSpy из Platform SDK). Некоторые из этих функций используют подмножество языка SQL для запросов к базе данных.

Функции доступа к базе данных можно разделить на следующие группы:

• Общие функции - эта группа функций используется для открытия, закрытия базы данных, работы с представлениями базы данных.

• Функции управления - эта группа используется в основном для работы с трансформациями, а также для объединения баз данных, и их импорта/экспорта в текстовые файлы.

• Функции обработки записей - это различные функции для манипулирования записями базы данных. С помощью этих функций можно извлекать данные из базы и помещать их туда. В Windows Installer поддерживаются следующие типы записей: String - строка, заканчивающаяся нулем, Integer - 32-битное целое число и Stream - поток байтов произвольной длины.

• Функции для работы c суммарной информацией - эта группа функций позволяет извлекать из базы и записывать в базу свойства суммарной информации.

• Функции доступа к состоянию инсталлятора - эти функции позволяют получать и задавать различные свойства инсталлятора.

• Функции выполнения операций - эта группа функций используется для выполнения пользовательских и стандартных операций, вычисления условий и обработки сообщений.

• Функции поиска - эти функции позволяют получать и записывать информацию в таблице Directory.

• Функции выбора - эта группа функций используется для работы с функциями приложения и компонентами.Также в нее входят функции для установки уровня инсталляции и оценки места на диске, необходимого как для установки отдельных компонентов приложения, так и для всего продукта в целом

• Функции пользовательского интерфейса - эти функции используются в инструментальных средствах для предварительного просмотра диалоговых окон и различных