110 likes | 288 Views
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ. Математико-механический факультет Кафедра Системного программирования. Разработка инструмента интеграции технологии Windows Installer XML и Visual Studio 2005. Зайцев Андрей Владимирович. Научный руководитель:
E N D
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Математико-механический факультет Кафедра Системного программирования Разработка инструмента интеграции технологии 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 + дополнительные инструменты
Круг задач • Комплексный подход; сквозная поддержка процесса разработки дистрибутивов • Расширение возможностей Wix • Наибольшая отдача за счёт совместного использования технологий • Автоматизация работы программиста • Тонкая настройка проектов установки (и её автоматизация) 1 Внедрение 2 Разработка 3 Отладка 4 Тестирование и анализ ошибок (на стороне клиента)
Цели, задачи, результат • Цели: • Освоить технологии Microsoft Installer и Wix • Разработать инструменты для интеграции Wix и Visual Studio, для отладки и тестирования установочных пакетов. • Задачи: Реализация подпроектов • инсталлятор (“WixAngela”) • плагин для VS 2005 (“WixAngela”) • технология отладки (“AnyDynA”) • «Мастер отладки пакета Msi» • «Визуализатор запросов Sql» • «Визуализатор отладочного протокола» • Результат: дистрибутив WixAngela
Components Setup Components Setup Please select components to install: Please select components to install: Visual Studio Addon Visual Studio Addon Refal Driver Refal Driver < Back < Back Next > Next > 1: Внедрение • Интегрированный дистрибутив WixAngela • MSI SDK • Wix 2.0.5325.0 • Votive • WixEdit • Документация по Wix • Надстройка/плагин для Visual Studio • RefalDriver • Прочие инструменты • Автоматическая установка (вызов из командной строки)
Картинка:Visual Studio с раскрытым меню Installer Картинка:BinCA C++ Proj SFX Package Proj Картинка: Распаковка SFX, Окно custom bootstrapper 2: Разработка • Надстройка для Visual Studio: • Централизованный вызов функцийиз меню “Installer” • Удобный графический интерфейс • Автоматическая генерация кода и тонкая настройка проектов • Настройка проекта Binary Custom Actions • Настройка проекта SFX-дистрибутиваи Custom Bootstrapper • Возможность использовать RefalDriver
Картинка:код AnyDynA Картинка:галочки напротив имён CA с выбором MsgBox Картинка: Отладочные сообщения 2: Разработка • Библиотека AnyDynA для ведения отладочного протокола • Специальные макросы (мини-язык) BinCA, FUNCTION, MsgInfo, Warning, Error • Гибкая настройка параметров вывода сообщений • Средство трассировки и подключения отладчика VS2005
2: Разработка • Программный интерфейс для внешних клиентов • Интерфейсы MsiFn (около 120 функций!!), WixCaFn, CustomFn (применён иск.интеллект) • Возможность программирования «на лету» • Основа для создания вспомогательных средств отладки (с богатым графическим интерфейсом) Картинка:COM, Interfaces Картинка:окно (+логотип)Visual Basic 6 Картинка: Msi Sql Inspector
Картинка:Msi Debug Wizard Картинка:Msi Debug Wizard Картинка:Msi Debug Wizard Картинка:Msi Debug Wizard Отладка, Тестирование и анализ ошибок • AnyDynA: • Ведение отладочного протокола • Гибкая настройка класса Logger • Выполнение «по шагам», прерывание исполнения, остановка и вызов отладчика • Мастер отладкипакетов Msi (Msi Debug Wizard) • Удобный графический интерфейс (для настройки параметров ведения логов) • Регистрация COMпонентов (для интерфейсов обратной связи) на «чистых» машинах • Реализация средства просмотра Sql-запросов Msi (Msi Sql Inspector) • Msi Sql Inspector • Приложение Msi Log Viewer