Windows Installer XML. Создание программы установки в Visual Studio

Евгений Воднев

Текущая версия документа: 2011-05-21

На сегодняшний день наличие профессионально выполненной программы установки является непременным атрибутом успешного программного продукта. На рынке присутствует ряд средств, предназначенных для решения этой задачи, но посвященной данному вопросу документации крайне мало
В данной книге рассматривается использование пакета Windows Installer XML для создания широкого круга программ установки для операционных систем Windows

Содержание

Введение
  • Зачем нужна программа установки
  • Структура книги
  • Примеры
  • Отличия технологий Windows Installer и ClickOnce
  • Почему именно Windows Installer XML
Глава 1. Основы и простой пример
  • Структура установочного пакета Windows Installer
  • Основы Windows Installer XML
    • Общая структура файла сценария
    • GUID – зачем он нужен и как его получить
  • Требования к системе и установка WiX
  • Создание простого решения
    • Основные свойства проекта и пакета
    • Определение структуры каталогов
    • Компоненты – контейнеры для файлов
    • Наборы компонентов - Features
    • Добавление стандартного интерфейса пользователя
    • Результат
Глава 2. Интеграция в Visual Studio
  • Шаблоны основных типов проектов
  • Добавление ссылок на проекты и библиотеки
    • Ссылочные переменные
    • Подключение библиотек расширения
  • Свойства проекта
    • Закладка «Installer»
    • Закладка «Build»
    • Build Events
    • Paths
    • Tool Settings
  • Возможности редактора по работе с XML
  • Сборка проектов WiX в Team Foundation Server
Глава 3. Базовая функциональность
  • Решение для демонстрации возможностей
  • Пример
    • Свойства программы и пакета
  • Компонент – контейнер для ресурсов
  • Работа с каталогами
    • Добавление каталогов
    • Удаление каталогов
    • Поиск каталогов
    • Стандартные пути и их аналоги в управляемом коде
  • Работа с файлами
    • Элемент Media – контейнер для содержимого
    • Копирование файлов
    • Создание ярлыков и пиктограмм
    • Копирование .NET сборок в GAC
    • Установка шрифтов
    • Принудительная перезапись файлов
    • Поиск файлов и каталогов
    • Полное удаление файлов
  • Работа с INI-файлами
    • Извлечение данных
    • Запись INI-файлов
  • Работа с реестром
    • Чтение ключей реестра
    • Пример организации сложного поиска
    • Добавление ключей
    • Удаление ключей
    • Регистрация расширений файлов
  • Выборочная установка наборов компонентов
    • Установка наборов по требованию
    • Запуск содержимого с источника
  • Использование свойств и переменных
    • Стандартные свойства Windows Installer
    • Передача значений свойств в параметрах командной строки
    • Переменные препроцессора и переменные WiX
    • Форматированные строки
  • Проверка условий
    • Проверка условий при запуске
    • Управление доступностью компонентов и наборов
    • Свойства элементов управления
Глава 4. Использование расширений
  • Встроенные расширения
  • Расширение WixComPlusExtension – регистрация COM+-компонентов
  • Расширение WixDifxAppExtension – установка драйверов устройств
  • Расширение WixFirewallExtension – настройка сетевого экрана
  • Расширение WixDirectXExtension – проверка возможностей видеокарты
  • Расширение WixGamingExtension – регистрация игр
    • Подготовка программы к регистрации в обозревателе игр
    • Регистрация игры
    • Создание задач для Windows Vista
    • Поддержка сохраненных игр
  • Расширение WixIISExtension – установка веб-приложений
    • Создание пула приложений в IIS 6
  • Расширение WixUtilExtension – полезные возможности
    • Получение дополнительной информации об операционной системе
    • Управление учетными данными пользователей
    • Создание общего каталога
    • Редактирование XML-файла
    • Проверка отсутствия запущенного процесса, закрытие работающего процесса
    • Установка разрешений на доступ к объектам
    • Регистрация счетчиков производительности
    • Создание ссылок на веб-страницы
  • Расширение WixNetFxExtension – работа с .NET Framework
    • Генерация образа в машинном коде для .NET сборки
    • Проверка наличия .NET Framework, .NET Framework SDK, Windows SDK
  • Расширение WixSqlExtension – управление базами данных SQL Server
Глава 5. Настройка и расширение интерфейса
  • Стандартные наборы диалогов и их простая настройка
    • Набор WixUI_Advanced
    • Простая настройка внешнего вида стандартных диалогов
  • Наборы диалогов – взгляд внутрь
  • Добавление простого диалога
  • Элементы управления
    • Элементы оформления (Bitmap, Icon, Line, GroupBox, Hyperlink, Text, ScrollableText)
    • Кнопки и переключатели (CheckBox, PushButton, RadioButtonGroup)
    • Редакторы (Edit, MaskedEdit, PathEdit)
    • Списки (ComboBox, ListBox, ListView)
    • Работа с каталогами (VolumeSelectCombo, DirectoryCombo, DirectoryList)
    • Наборы компонентов и связанные задачи (SelectionTree, VolumeCostList)
    • Элементы процесса установки (Billboard, ProgressBar)
  • Отображение модального диалога
  • Механизм событий
  • Отображение прогресса установки
  • Локализация ресурсов
  • Визуальное проектирование диалоговых окон
Глава 6. Последовательности, стандартные и расширенные операции
  • Доступные режимы установки и уровни интерфейса
    • Обычная установка, административная и по требованию
    • Уровни отображения интерфейса
  • Реализация таблиц последовательностей в WiX
  • Расширение функционала с помощью элемента CustomAction
    • Присваивание значения свойству
    • Прерывание установки с сообщением об ошибке
    • Запуск исполняемого файла
    • Вызов функций, определенных во внешних библиотеках
    • Отложенное выполнение операции
  • Создание операции и добавление в последовательность
    • Открытие файла с использованием расширенной операции
  • Объект Session – основа взаимодействия с Windows Installer
Глава 7. Продвинутые возможности
  • Установка служб Windows
  • Выпуск обновления
    • Автоматическое обновление
  • Bootstrapper – загрузчик
  • Использование загрузчика dotNetInstaller
    • Общие свойства и создание простой программы установки
    • Внедрение файла внутрь сборки
    • Зависимости от сторонних компонентов
    • Загрузка отсутствующих пакетов из сети
    • Настройка интерфейса программы установки
  • Анализ и декомпиляция msi-пакетов
    • Просмотр и модификация содержимого пакетов
    • Декомпиляция пакетов
  • Вопросы отладки
    • Включение ведения журналов
    • Чтение журналов Windows Installer
    • Использование утилиты WiLogUtl для обработки журналов
  • Автоматизация сбора данных
Приложение
  • Описание стандартных диалогов из расширения WixUIExtension
  • Дополнительные ресурсы и материалы
    • Онлайн-руководство по WiX
    • Справочные материалы из библиотеки MSDN
    • Чтение журналов Windows Installer
    • Bootstrapper из комплекта поставки Visual Studio
    • Онлайн-доклады на русском языке
Об авторе

Last edited Jul 5, 2011 at 8:01 PM by EvgeniyVodnev, version 2