Разработка инструмента интеграции технологии Windows Installer XML и Visual Studio 2005

advertisement
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Математико-механический факультет
Кафедра Системного программирования
Зайцев Андрей Владимирович
Разработка инструмента интеграции
технологии Windows Installer XML
и Visual Studio 2005
Научный руководитель:
(должность, степень, звание) Губанов Ю.А.
Рецензент:
Санкт-Петербург
2008
Введение
• Установка может быть очень непростой
– установка системных компонент (IIS, SQL Server)
на разных версиях Windows
– развёртывание базы данных, веб-узла
– создание пользователей, назначение прав, запуск
служб и т.д.
• Требуются профессиональные инструменты
для создания хороших дистрибутивов
• Внедрение в процесс разработки (нужна
интеграция с Visual Studio и SourceSafe; Build)
• Печальный опыт использования стандартных
проектов VdProj
Мотивации
• Гибкость (возможность изменить и
настроить под свои потребности)
• Инструментальная поддержка
• Открытость (open source), доступность
(free), постоянное развитие
• Сокращение времени и затрат на
внедрение (“plug-n-play”, “run-n-go”)
• Решение: Wix 2.0 + дополнительные
инструменты
Круг задач
1
Внедрение
2
Разработка
3
Отладка
4
Тестирование и
анализ ошибок
(на стороне
клиента)
• Комплексный подход; сквозная
поддержка процесса
разработки дистрибутивов
• Расширение возможностей Wix
• Наибольшая отдача за счёт
совместного использования
технологий
• Автоматизация работы
программиста
• Тонкая настройка проектов
установки (и её автоматизация)
Цели, задачи, результат
• Цели:
– Освоить технологии Microsoft Installer и Wix
– Разработать инструменты для интеграции Wix и Visual Studio,
для отладки и тестирования установочных пакетов.
• Задачи: Реализация
подпроектов
–
–
–
–
–
–
инсталлятор (“WixAngela”)
плагин для VS 2005 (“WixAngela”)
технология отладки (“AnyDynA”)
«Мастер отладки пакета Msi»
«Визуализатор запросов Sql»
«Визуализатор отладочного
протокола»
• Результат: дистрибутив
WixAngela
1: Внедрение
Components Setup
• Интегрированный
дистрибутив WixAngela
–
–
–
–
–
–
MSI SDK
Wix 2.0.5325.0
Votive
WixEdit
Документация по Wix
Надстройка/плагин для
Visual Studio
– RefalDriver
– Прочие инструменты
• Автоматическая
установка (вызов из
командной строки)
Please select components to install:
Visual Studio Addon
Refal Driver
< Back
Next >
2: Разработка
Надстройка для Visual Studio:
1.
•
•
•
Централизованный вызов функций из меню “Installer”
Удобный графический интерфейс
Автоматическая генерация кода и тонкая настройка
проектов
•
•
•
Настройка проекта Binary Custom Actions
Настройка проекта SFX-дистрибутива и Custom Bootstrapper
Возможность использовать RefalDriver
Картинка:
Visual Studio
с раскрытым меню
Installer
Картинка:
BinCA C++ Proj
SFX Package Proj
Картинка:
Распаковка SFX,
Окно custom bootstrapper
2: Разработка
Библиотека AnyDynA для ведения отладочного
протокола
2.
•
•
•
Специальные макросы (мини-язык) BinCA, FUNCTION,
MsgInfo, Warning, Error
Гибкая настройка параметров вывода сообщений
Средство трассировки и подключения отладчика VS2005
BinCA( SampleCA, TRACER_LEVEL_WARNINGS, hInstall, lResult)
{
Картинка:
MsgInfo( 1(TEXT("Message Text")),
Картинка:
1(TEXT("Message Caption"))); галочки напротив
код AnyDynA
имён CA с
lResult = 1602;
выбором MsgBox
return 0;
}
Картинка:
Отладочные сообщения
2: Разработка
3. Программный интерфейс для внешних
клиентов
•
•
•
Интерфейсы MsiFn (около 120 функций!!),
WixCaFn, CustomFn (применён иск.интеллект)
Возможность программирования «на лету»
Основа для создания вспомогательных средств
отладки (с богатым графическим интерфейсом)
Картинка:
COM, Interfaces
Картинка:
окно (+логотип)
Visual Basic 6
Картинка:
Msi Sql Inspector
Отладка,
Тестирование и анализ ошибок
•
AnyDynA:
– Ведение отладочного протокола
– Гибкая настройка класса Logger
– Выполнение «по шагам», прерывание исполнения, остановка и вызов
отладчика
•
Мастер отладки пакетов Msi (Msi Debug Wizard)
– Удобный графический интерфейс (для настройки параметров ведения
логов)
– Регистрация COMпонентов (для интерфейсов обратной связи) на «чистых»
машинах
– Реализация средства просмотра Sql-запросов Msi (Msi Sql Inspector)
•
•
Msi Sql Inspector
Приложение Msi Log Viewer
Картинка:
Msi Debug Wizard
Картинка:
Msi Debug Wizard
Картинка:
Msi Debug Wizard
Картинка:
Msi Debug Wizard
Заключение
RefalDriver Light v1.0.0.13
WixAngela Setup
AnyDynA For Binary CA
WixAngela VS Plugin
Msi Callback Interfaces
Программная документация Doxygen
Msi Debug Wizard
Msi Sql Inspector
Msi Log Viewer
Download