"Технология Windows Installer. Часть I. Обзор возможностей" - читать интересную книгу автора (Андрей Алифанов)

Windows Installer - новое слово в технологиях инсталляции

Глоссарий

Прежде, чем продолжить, необходимо ввести минимально необходимый для понимания дальнейшего текста набор терминов, используемых в Windows Installer. Таблица ниже включает список, достаточный для понимания текста данной статьи, в следующих статьях при необходимости будут добавлены новые термины.

Термин Краткое описание
Внешний пользовательский интерфейс Пользовательский интерфейс, не использующий встроенные возможности Windows Installer. Такой интерфейс использует, например, инсталлятор Microsoft Visual Studio.NET.
Встроенный пользовательский интерфейс Пользовательский интерфейс, основанный на встроенных возможностях Windows Installer. Инсталляторы с таким интерфейсом работают в режиме Мастера, то есть инсталляция выполняется пошагово. Такой интерфейс используют, например, инсталляторы Microsoft Office 2000 и XP.
Патч (заплата) Метод обновления файлов на уровне изменения байтов, а не замены файла целиком. Применяется при мелких обновлениях.
Инсталляционная база данных Реляционная база данных, содержащая всю необходимую логику и данные для установки приложения
Инсталляция по требованию Служба Installer, позволяющая устанавливать приложение или его опции только, когда их запрашивает пользователь или другое приложение
Код пакета Глобально уникальный идентификатор (GUID) пакета (модуля инсталляции)
Компонент Наименьшая часть инсталляции, обрабатываемая инсталлятором, а также часть функциональности приложения с точки зрения программиста
Обновление Установка самой последней версии приложения
Операция Инкапсуляция некоторой типичной функции, выполняемой во время инсталляции или обновления приложения.
Опция Часть функциональности приложения, видимая со стороны пользователя
Оценка стоимости Метод, используемый Windows Installer для оценки дискового пространства, необходимого приложению
Откат Автоматическое восстановление оригинальной конфигурации компьютера при сбоях в установке
Пакет (модуль) инсталляции Состоит из .msi-файла и внешних, связаных с ним файлов. Содержит всю логику, необходимую для установки и удаления приложения.
Подключаемый модуль База данных, содержащая наборы компонентов. Позволяет создавать пакеты инсталляции из готовых наборов компонентов. Отдельно устанавливаться не может.
Пользовательская операция Операция, определенная разработчиком пакета инсталляции.
Свойство Глобальная переменная, используемая Windows Installer при интсалляции приложения
Стандартная операция Встроенная в Windows Installer предопределенная операция, например, CreateShortcuts или InstallFiles.
Таблицы последовательности установки Таблицы в инсталляционной базе данных, задающие правила установки
Трансформация Шаблон изменений, используемый для добавления или замены элементов исходной базы данных. Применяется, например, для замены языка приложения.
Уровень базового пользовательского интерфейса Уровень, при котором Windows Installer обеспечивает простой пользовательский интерфейс с немодальными диалогами. На этом уровне недоступно использование пользовательских диалогов.
Уровень инсталляции Уровень, задаваемый для каждой инсталляции. Приложение устанавливается только если его уровень меньше или равен уровню инсталляции. Таким образом, можно управлять инсталляцией наборов приложений.
Уровень полного пользовательского интерфейса Уровень, при котором можно задействовать все встроенные возможности пользовательского интерфейса Windows Installer
Уровень сокращенного пользовательского интерфейса Уровень, при котором Windows Installer обеспечивает интерфейс с немодальными пользовательскими диалогами. Также могут использоваться встроенные модальные диалоги для сообщений об ошибках.
SQL (Structured Query Language) Язык запросов, используемый для работы с реляционными базами данных. Windows Installer поддерживает ограниченное подмножество языка.

Итак, продолжим. Что же такое технология Windows Installer, о которой я написал уже десяток абзацев, но еще ничего так толком и не сказал? Чем она так замечательна? Что в ней нового по сравнению с уже существующими решениями?