Создание инсталлятора

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

Свободные программы для создания инсталляторов


. NSIS (Nullsoft Scriptable Install System) — один из самых популярных инсталляторов. Обладает богатыми возможностями, которые присутствуют в большинстве коммерческих продуктов. Позволяет устанавливать различные параметры сжатия при создании дистрибутива.
. IzPack — Java-инсталлятор. Это универсальный инсталлятор, который способен создавать дистрибутивы для Unix, Linux, FreeBSD, Mac OS X и Windows 2000, XP. Он может создавать как обычные пакеты инсталляции, так и web-инсталляторы, которые подгружают необходимые файлы по мере необходимости. Данная возможность позволяет свести к минимуму количество загружаемых файлов в зависимости от требуемой конфигурации установки.
. Inno Setup — довольно популярный простой инталлятор. Содержит встроенный скриптовый язык.
. Windows Installer XML (WiX) — специализированный продукт от Microsoft для создания MSI и MSM инсталляционных пакетов.

Коммерческие программы для создания инсталляторов

. InstallShield — один из самых известных продуктов в ряду инсталляторов.
. WISE — простой в освоении с богатыми возможностями генератор инсталляторов.
. VISE — профессиональный инсталлятор для Windows, MacOS X и Macintosh.
. CreateInstall — универсальный, гибкий и мощный инсталлятор как для профессиональных разработчиков, так и для начинающих. С помощью этой программы можно создавать полнофункциональные инсталляционные программы для своих приложений, а также самораспаковывающиеся архивы с высокой степенью сжатия и многое другое.
. Advanced Installer — позволяет создавать инсталляторы для Java-приложений. Создает дополнительный исполняемый файл.

Проект EclipseNSIS

Проект EclipseNSIS представляет собой набор подключаемых модулей для конфигурации файлов настроек инсталлятора NSIS. Содержит визуальный мастер создания конфигурационных файлов, а также специализированный редактор данных файлов.

Создание инсталлятора с использованием программ NSIS и EclipseNSIS

Создадим отдельный проект для инсталлятора. Для этого вызываем мастер проектов из меню File -> New -> Project -> General Project. Вводим наименование проекта "com.berdaflex.filearranger.installer" и нажимаем кнопку Finish. Создадим заготовку инсталляционного скрипта при помощи мастера EclipseNSIS. Для этого вызываем мастер из меню File -> New -> Other -> EclipseNSIS -> NSIS Script. Из списка доступных шаблонов выбираем классический инсталлятор Classic Installer.


Рис. 1. Выбор классического инсталлятора

В следующем окне мастера вводим базовые атрибуты создаваемого инсталлятора:
. Application Name: "File Arranger".
. Application Version: "0.1".
. Publisher Name: "Berdaflex Software Systems".
. Installer File: "FileArrangerSetup.exe".

Укажем также иконки для установки и удаления программы, что придает современный вид инсталлятору. Одним из важных моментов при создании инсталлятора является указание уровня сжатия Compressor, используемого для создаваемого инсталляционного файла. Сжатие позволяет уменьшить размер инсталлятора, что актуально для распространения программ через сеть Интернет. Доступны опции архиваторов zlip,bzip2 и lzma. Самую высокую степень сжатия позволяет достичь режим SetCompressor/SOLID lzma, но за это приходится платить более длительным временем на создание инсталлятора и его установку.


Рис. 2. Ввод основных атрибутов проекта

Следующая страница мастера предлагает указать пути установки программы и группу меню. Оставим предложенные по умолчанию значения. При этом установка будет производиться в стандартный каталог Program Files в папку Berdaflex File Arranger. В меню будет создана группа Berdaflex File Arranger. Программа создания инсталляторов NSIS содержит мультиязычные ресурсы для отображения информации на разных языках. Выберем из списка поддержку русского и английского. Если включить галочку Allow user to Select Language, то при старте инсталлятора будет предложен выбор желаемого языка установки, в противном случае язык будет определяться по установкам операционной системы.


Рис. 3. Выбор пути установки, группы меню и поддерживаемых языков

Далее мастер предлагает указать файл лицензии, картинку прогресса загрузки, фоновое изображение и звуковые файлы. Укажем пока только файл лицензии.


Рис. 4. Настройка параметров отображения инсталлятора

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


Рис. 5. Выбор контента для инсталляции

Завершающей стадией будет указание предпочтительных параметров поведения инсталлятора.


Рис. 6. Выбор параметров поведения инсталлятора

Результатом работы мастера будет конфигурационный файл для создания инсталлятора программой NSIS (по умолчанию файл должен быть с расширением .nsi). Открываем данный файл редактором EclipseNSIS. Нам доступна подсветка синтаксиса, навигация по разделам, а также панель с кнопками наиболее используемых операций для компиляции, тестирования инсталлятора, вызова файла справки и др.


Рис. 7. Редактор скриптов EclipseNSIS

Есть возможность создания собственных диалогов для настройки различных параметров инсталлятора (по умолчанию данные файлы должен быть с расширением .ini). Редактор позволяет переключаться между визуальним и тектовым редакторами по нажатию клавиши F12.


Рис. 8. Визуальный редактор диалогов EclipseNSIS

В поставку программы создания инсталляторов NSIS входит большое количество примеров скриптов, на основе которых можно реализовать разнообразную логику поведения и внешний вид создаваемого инсталлятора.

Рекомендуемые ресурсы:

Сайт проекта "Аранжировщик файлов": сайт
Сайт проект EclipseNSIS: сайт

Сайты инсталляторов:
NSIS: сайт
IzPack: сайт
Inno Setup: сайт
WIX: сайт
InstallShield: сайт
WISE: сайт
VISE: сайт
CreateInstall: сайт
Advanced Installer: сайт

Сергей Бердачук,
сайт


Компьютерная газета. Статья была опубликована в номере 40 за 2006 год в рубрике программирование

©1997-2024 Компьютерная газета