Даю установку...

Десятки чашек кофе, выпитых бессонными ночами, сотни и тысячи часов наедине с компьютером, бесчисленное количество компиляций и тестовых запусков. И вот на свет явилась ваша новая программа. Осталось сделать всего один шаг, приближающий новоиспеченный шедевр к пользователям, – создать удобный инсталлятор. Сегодня мы рассмотрим ряд программ, облегчающих эту задачу.

Суть вопроса
Инсталлятор1 – это программный модуль, отвечающий за установку вашей программы на компьютер, а также за ее регистрацию в системе.
Для начала разберемся, какие функции выполняет инсталлятор. Первая (и самая главная) его задача — копирование (или распаковка) файлов, составляющих вашу программу, а также установка файлов в системные папки Windows (общие библиотеки, шрифты и т.п.). Вторая функция – запись в системный реестр ключей, отвечающих за интеграцию программы в оболочку и регистрацию типов файлов. И последнее, что может сделать инсталлятор – создать ярлыки вашей программы на Рабочем столе, в Главном меню или панели быстрого запуска. Некоторые инсталляторы имеют дополнительные возможности, которые могут сделать процесс установки еще более гибким.
Утилиты для создания установочных пакетов обычно различают по двум критериям.

Первый – это способ конструирования установочного пакета. Может быть программным (создание инсталлятора осуществляется при помощью мастера, все настройки доступны через главный интерфейс или систему диалоговых окон; утилиты такого типа проще в использовании, но ограничены в функциональности) или скриптовым. При создании программы установки в скриптовом инсталляторе вам придется вручную подключить необходимые функции и опции будущего инсталлятора через особые файлы сценариев. По сути, это написание программы. Как правило, инсталляторы используют скриптовый язык, напоминающий по синтаксису один из популярных языков программирования (чаще всего — Си или Паскаль). Утилиты скриптового типа предоставляют более широкие возможности по созданию инсталляторов, но для их полноценного использования придется тщательно изучить прилагаемую документацию.
Второй критерий – архитектура. Она может быть монолитной или дискретной. В первом случае все данные, относящиеся к программе, помещаются в файл-инсталлятор. При создании установочного пакета ресурсы компилируются, а при необходимости – еще и упаковываются встроенным архиватором. В итоге мы получаем исполняемый файл, не отягощенный множеством вспомогательных библиотек и архивов.
Дискретная архитектура предполагает наличие установочного модуля, файла сценария и архива с ресурсами. Здесь же могут находиться лицензионное соглашение, ReadMe и другие вспомогательные данные. Файлы вашей программы будут запакованы в отдельном архиве, чаще – формата cab, zip или rar. Иногда используются и упаковщики поэкзотичнее, наподобие Ace и 7zip. Часто для обеспечения лучшей защиты данных на архивы ставится пароль или применяется шифрование (как альтернатива – сдвиг на несколько байт). Некоторые утилиты для создания инсталляторов позволяют создавать многотомные архивы, которые можно легко распределить по сменным носителям.
Сегодня мы рассмотрим несколько инсталляторов программного типа. Они отличаются простотой использования, понятным интерфейсом, но, к сожалению, – очень ограниченным набором функций. Как правило, программные инсталляторы используются или при острой нехватке времени (осваивать утилиты программного типа проще), или при очередном приступе лени. Но порой того джентльменского набора, который предоставляют такие программы, вполне достаточно.

Create Install 4.4 (free-версия)
Create Install – удобная программа, обеспечивающая необходимый минимум функций для создания инсталлятора. Интерфейс организован очень грамотно, структура диалогов тщательно продумана. Все параметры будущего инсталлятора разделены по тематическим вкладкам («Ярлыки», «Реестр» и т.д.), что обеспечивает комфортную работу. Create Install разговаривает на четырех языках, среди которых есть и русский. Перевод выполнен качественно, есть англоязычная справка.

Рассмотрим возможности программы поближе. Мы можем выбирать язык будущего инсталлятора, настраивать отображение диалогов (приветствие, лицензионное соглашение), выбирать тип сжатия и степень компрессии (fast, normal, maximum). Поддерживаются три собственных формата упаковки. Используя возможности реестра, вы можете, к примеру, закрепить за своей программой новое расширение или отредактировать параметры системы. Create Install может автоматически создавать деинсталлятор (кстати, очень быстрый и компактный). По умолчанию он доступен только через «Установку и удаление программ», но вы можете создать к нему ярлык в Главном меню (во вкладке «Ярлыки»). Кроме того, ваш инсталлятор может регистрировать динамические библиотеки (dll) и создавать в системных папках конфигурационные файлы. Эти возможности доступны во вкладке «Дополнительно».

Virtual Speed Installation Creator 2.09
Эта программа представляет собой более продвинутый инструмент для создания инсталляторов. VSIC имеет подробную справку на русском языке и бесплатен для российских пользователей. Правда, вам придется пройти несложную процедуру регистрации, после чего вы сможете зайти на официальный сайт программы и получить ключ.
Каковы же преимущества VSIC? Доступна работа с переменными среды («%Windows%», «%InstallPath%») – это решает одну из проблем, типичных для программ установки. Простой пример: если вы укажете, что библиотеки необходимо установить в папку «C:\Windows», то у некоторых пользователей могут возникнуть проблемы (если папка Windows имеет другое имя), а если вы укажете «%Windows%», то путь к системной папке будет взят из реестра, и установка пройдет нормально. Поддерживаются два формата компрессии (зашифрованный CAB и традиционный RAR), три типа (максимальный, нормальный, быстрый) и пять уровней сжатия. При необходимости можно включить разбивку установочного пакета на тома свободного размера. Поддерживается создание мультиязычных инсталляторов.

Возможно задать требования программы к операционной системе, версии .NET Framework (1.0; 1.1), правам пользователя. Также можно указать заголовки приложений, которые не должны быть запущены во время работы программы установки.
Внешний вид получаемого инсталлятора полностью настраивается в опциях проекта. В качестве фона можно задать GradientScreen или картинку, а также выбрать изображение в левой части окна установки. К сожалению, в бесплатной версии программы нельзя создавать мультиязычные инсталляторы, но после покупки программы будут доступны три языковых модуля. При использовании архиватора RAR установка проходит за считанные минуты. Единственный недостаток: при распаковке больших файлов шкала прогресса останавливается, так как ориентируется не на объем приложения, а на количество файлов. При использовании архиватора CAB дела обстоят чуть похуже – скорость распаковки заметно снижается. Программа умеет создавать небольшой деинсталлятор, в считанные секунды удаляющий увесистое приложение.

WinRar 3.5
Едва ли не самый известный архиватор в мире, WinRar, не умеет делать непосредственно инсталляторов, но может создать весьма функциональный самораспаковывающийся архив (SFX). Работать с WinRAR легко и… привычно. Набор опций включает в себя стандартный набор возможностей WinRAR (защита архива паролем, шифрование и разбивка дистрибутива на тома, добавление записи для восстановления), и функции самого SFX-архива.

Таким образом, мы можем указать путь установки, запланировать создание ярлыков (Рабочий стол, Главное меню, Автозагрузка), написать текст лицензии и файла ReadMe. Возможен режим распаковки во временную папку, и последующий запуск файлов из нее. Из настроек интерфейса доступен выбор логотипа и иконки SFX-архива. Сжатие осуществляется в двух форматах (RAR и ZIP). Первый пакует тщательнее, второй – быстр и нетребователен к ресурсам. Можно также создавать непрерывные и заблокированные от изменения архивы.

Самораспаковывающийся архив WinRAR работает довольно быстро, особенно при использовании формата ZIP. Размер стандартного модуля распаковки WinRar составляет чуть менее ста Кбайт.

Приехали
Подведем итоги. В категории «Инсталляторы программного типа» оценивался баланс простоты использования и функциональности: для создания более сложных установочных пакетов существуют конструкторы инсталляторов скриптового типа, которые будет рассмотрены во второй части статьи.
Сегодня же первое место по праву отдается VSIC – эта программа отлично сочетает в себе удобство и функциональность. Второе место присуждается Create Install – инсталлятору более слабому в плане набора опций. И, наконец, третье место завоевывает программа WinRar: SFX‑архив – это еще не инсталлятор, но все же альтернатива вполне достойная.


Рекомендуем почитать: