Блог → Ставим софт правильно: обзор инсталляторов для Windows

Как ни крути, а инсталлятор продукта должен внушать пользователю доверие. Если вы делаете солидный продукт, то кустарная программа установки, вроде самораспаковывающегося RAR-архива или дивной поделки на Дельфях вряд ли вызовет у пользователя ощущение комфорта, скорее наоборот - заставит серьёзно призадуматься о профессионализме автора. Между тем, в природе немало софта для создания инсталляторов, краткий обзор таких продуктов и предлагается вашему вниманию.

При написании заметки, для проверки возможностей продуктов, использовался проект текстового редактора, включающий в себя исполняемый файл, DLL библиотеку, файл со шрифтом, звуковой WAV файл, руководство в формате *.НLР, несколько шаблонов и таблицы кодировок. Задача же стояла так - создать инсталлятор, который мог бы делать следующие вещи: сохранять структуру каталогов проекта, производить опциональную установку компонентов (наборов файлов), инсталлировать шрифты, вносить изменения в реестр и системные файлы инициализации, создавать группу в меню "Пуск" и помещать туда избранные элементы (ярлык приложения, документации и URL сайта продукта), создавать ярлык на рабочем столе, и наконец, сжимать данные в самом дистрибутиве.

Что до сжатия, то хотелось получить наименьший размер дистрибутива, общий "вес" файлов которого без архивации составлял 1543 Кб. Итак - имеем довольно спартанский набор требований к тестируемым генераторам инсталлятора. При написании обзора не будем подробно рассматривать все возможности больших генераторов - таких как Install Shield и Wise InstallManager, a также оставим за бортом странные программы, качество которых вызывает опасения. Все описанные ниже продукты поддерживают выбор языка установки и проверку серийного номера, поэтому не будем особо оговаривать эти возможности. Начинаем?

Setup Factory 5.0

Производитель: Indigo Rose Corp.
Дисковое пространство: 7.1 Мб

Эргономичность превыше всего! Удобный дизайн, создание проекта подразумевает общение с несколькими менеджерами: Screen Manager - операции с экранами. Экраны в понимании Setup Factory - это диалоговые окна, показываемые при каждом "шаге" процедуры инсталляции. Менеджер включает в себя типовые окна, вроде выбора папки установки, показа лицензионного сообщения (в формате Rich Text - RTF), список выбора устанавливаемых компонентов, и пр. При этом каждое окно можно настраивать: менять надписи кнопок и заголовков, задавать условия выполнения при помощи логических переменных.

Package Manager - здесь можно задать наборы компонентов, которые будут соответствовать вариантам установки: Typical, Custom, и т.д. Не забудьте предварительно вставить окно выбора варианта установки (те самые Typical, Custom и прочие) в менеджере экранов! Без этого окна последующее, собственно со списком набора компонентов, не вызовется.

Для каждого из включенных в проект файлов Setup Factory позволяет задать массу параметров. Во-первых, принадлежность к тому или иному пакету установки. Далее, можно указать путь назначения, опции ярлыка на рабочем столе (если таковой нужно создать). Для шрифтов, элементов управления ActiveX и OLE-серверов - опциональная регистрация их в системе. Есть много различных опций деинсталляции.

Условные операторы помогут выборочно установить файл. Скажем, можно проверить наличие звуковой карты, разрешение экрана, получить доступ к переменным, содержащим пути к системным папкам, имени пользователя, и так далее. В Setup Factory существует набор встроенных переменных, которые можно использовать для более гибкого управления проектом. Они действуют и в логических выражениях, и в полях менеджеров и мастеров. Runtime Support позволяет добавить в проект установку таких полезных мелочей, как Adobe Acrobat Reader, Quick Time, файлов поддержки баз данных, Visual Basic и т.д.

Завершая разговор о Setup Factory, стоит вкратце упомянуть о других его возможностях. Разумеется, продукт умеет создавать инсталляторы с полностью настраиваемым интерфейсом: хотите - положите любую картинку вместо фона, используйте градиентную заливку, или просто сплошной цвет; можете проиграть музыку или отправить пользователя на свой сайт. Все это - в мастерах General Design и Shell Operations. Резюме: отличный продукт, с которым приятно работать.

Installer VISE 3.5

Производитель: MindVision Software, Inc.
Дисковое пространство: 20.1 Мб

Этот продукт можно считать одним из лучших в данной нише. Стандартный набор конфигурируемых пошаговых экранов, к которым можно добавлять новые, собственные - для чего есть прекрасный WYSIWYG редактор. Чрезвычайно удобно создавать пакеты для различных типов установки -достаточно просто пометить в списке файлов рядом с их именами check-box'ы, соответствующие заданным режимам инсталляции - Typical, Custom и т.д.

Предусмотрены проверки наличия установленных DirectX и QuickTime, регистрация типов файлов, включение в проект message- и input-боксов, мощная поддержка работы с внутренними переменными, ветвление процедуры установки при помощи меток и операторов Goto. Визуальное составление инсталляционного скрипта путём добавления в него program items: диалоговых окон, процедур всевозможных проверок, манипуляций с файловой системой и т.д.

Резюме: весьма гибкий в настройке продукт, от которого можно добиться в точности задуманного результата. Почти как Unix - можно вникнуть в любые подробности, всё проконтролировать и запрограммировать лично. Однако, при всех его достоинствах, интерфейс самого Installer VISE оставляет желать лучшего. Распространяется в двух версиях - для Windows и Mac OS.

Wise InstallMaster 8.1

Производитель: Wise Solutions
Дисковое пространство: 152 Мб

Вот и ещё один "brandname". Популярная мощная программа с передовым интерфейсом, состоящим из пяти следующих страниц. Files and Components - здесь задаются наборы инсталлируемых и деинсталлируемых файлов, шрифтов, файлов поддержки Visual Basic и Visual Fox Pro, баз данных (ODBC, BDE и т.п.), библиотек DirectX, MFC и некоторых других, а также опция Smart Patch, которая позволяет превратить ваш инсталлятор в программу установки не целого продукта, а патча. System Additions - менеджер работы с иконками, реестром, файлами инициализации, регистрацией типов файлов, и тому подобными вещами.
User System Check - опции проверки системы пользователя, поиск ранее установленной версии продукта.

Wizard Appearance - внешний вид инсталлятора, менеджмент пошаговых экранов с WYSIWYG дизайнером окон. Последний напоминает некий гибрид IDE Delphi и Macromedia Dreamweaver, и позволяет спроектировать диалоговое окно любого вида, оснастив его стандартными элементами управления вроде комбобоксов, меток, кнопок и тому подобным. Advanced Functionality - задание опций проверки пароля, online-инсталляции и различных параметров установки под WinCE. Finish - тип носителя (одиночный файл, либо ориентированный на конкретный носитель: флоппи (кому он сейчас нужен?), CD-ROM, DVD, Zip или вообще Internet-инсталляция), опции сжатия дистрибутива, включения режима создания "снимков состояния" (snapshots) системы для Windows ME (а вдруг ваша программа что-то "напортачит"?), и многие другие опции.

Любителям повозиться с кодом - достаточно перейти в Script Editor, в котором доступен скрипт создания инсталлятора, а экспериментаторам доступны "мастера", которые умеют делать многие чудесные вещи. Например, есть мастер, осуществляющий мониторинг системы при запуске вашего приложения, после чего используемые им DLL'ки и OSX'ы будут включены в проект инсталлятора. Говоря о продукции от Wise, нельзя обойти вниманием и другое приложение, а именно - Wise For Windows Installer Professional v3.1. Это программное средство очень похоже на Wise InstallMaster, но генерирует дистрибутивы в виде MSI или MSM-файлов (для стандартного Windows Installer).

На всякий случай напомню, что инсталлятор такого вида имеют все приложения Win2000, (например, MS Office 2000) - громоздкий, с древовидной структурой выбора инсталлируемых компонентов. Интерфейс и возможности практически повторяют Wise InstallMaster, за исключением некоторых специфических для формата MSI опций, а также поддержки новой 64-битной Windows-платформы, технологии Microsoft .NET framework и удобного Setup Editor'a.

Последний попросту предоставляет все параметры проекта в несколько ином виде, заменяя интерфейс на более привычный, позволяющий совершать меньше лишних движений мышью. Лично мне Wise For Windows Installer показался удобнее, чем Wise InstallMaster. Резюме: генераторы инсталляторов от компании Wise отличаются отличным качеством и широким спектром предоставляемых возможностей, и отлично подходят для создания дистрибутивов любых проектов, от мала до велика. На всякий случай привожу полный перечень этих генераторов и менеджеров: Wise for Windows Installer 3, InstallMaster 8, InstallBuilder 8, InstallMaker 8, InstallManager 1.5.

Astrum InstallWizard

Производитель: Thraex Software
Дисковое пространство: 1.4 Мб

Небольшой, довольно удобный и средний по своим возможностям продукт. Прост в использовании, умеет включать в дистрибутив файлы MP3, которые играют в процессе инсталляции, а также JPEG'и для показа слайд-шоу (чтобы пользователь не скучал). Обладает на редкость жизнерадостным интерфейсом. Свои, новые экраны создавать нельзя, зато можно выбрать из уже имеющихся стандартных: какой показывать, а какой - нет. Очень удобный редактор вносимых в реестр изменений, который очень похож на классическую программу RegEdit. Большая забота проявляется о безопасности установки - в частности, отслеживается конфликт версий инсталлируемых динамических библиотек, а при необходимости есть возможность делать backup старых версий.

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

GkSetup 1.92

Производитель: Gero Kuehn
Дисковое пространство: 3.6 Мб

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

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

Последовательность шагов-экранов инсталляции - тоже одна и неизменна. Вы можете лишь включать или отключать определенные шаги. Как видим, до пакетов Setup Factory и тамошних "File Properties", воспринимаемых как должное, здесь далеко! Правда, имеются внутренние переменные, создание автоматического деинсталлятора. Очень удобный редактор ключей реестра и INI-файлов. Резюме: GkSetup может выбрать тот человек, которому нужно быстро и качественно создать дистрибутив небольшого продукта с несложной структурой.

Install Maker Pro 1.3

Производитель: Clickteam S.A.R.L.
Дисковое пространство: 2 Мб

Простой и очень надёжный генератор инсталлятора от компании, известной своим "конструктором игрушек" Klik&Play. Install Maker позволяет создать полноценную программу установки буквально за пару минут, причем отлично сжимая дистрибутив. Как обычно, присутствует набор видоизменяемых пошаговых экранов с возможностью предварительного просмотра, приемлемый редактор работы с реестром и INI-файлами, опции установки для каждого файла в отдельности, регистрация шрифтов, ОСХ-контролов, инсталляция программы в качестве "хранителя экрана".

Простенько и со вкусом. Резюме: вероятно, для создания дистрибутива небольшой программки, которая будет распространяться через Internet, лучший выбор - это именно он, Install Maker Pro. Кстати, стоит обратить внимание и на другие продукты от Clickteam, в частности, на бесплатную утилиту Patch Maker, предназначенную для создания дистрибутивов патчей.

InstallShield Professional 6.2

Производитель: Install Shield Corp.
Места на диске: 272 Мб

Вот уж поистине гигант из племени титанов (причём это ясно уже из "веса" программы). Умеет всё - от инсталляции вместе с продуктом дополнительных средств (вроде DirectX или ADO), до создания самых гибких и сложных программ установки. Концепция работы с ним проста, но реализована, пожалуй, слишком громоздко.

О сути философии InstallShield - вначале вы собираете файлы проекта в группы, а группы подключаете к компонентам и субкомпонентам, и уж затем ассоциируете компоненты с типами установки. Идея хороша, но вам придется добираться к результату через тернии возникающих на пути окон. Поэтому желательно иметь здоровенный монитор - на 15" развернуть для нормальной работы окно редактора скрипта можно, лишь уменьшив до состояния тонкой полоски панель с закладками навигации по элементам проекта. А панель эта - очень полезная. Нужно, например, создать компоненты "Файлы программы" и "Примеры" - переходим на закладку Components и создаем их. А у этих компонентов могут быть субкомпоненты, которые можно выбирать для установки.

Более того, есть возможность прописать скрипты для событий установки компонента. Скриптовый язык в InstallShield мощный, похож на смесь C++ и Object Pascal, и предоставляет возможность вызывать функции WinAPI и внешних DLL. Именно благодаря скриптам можно создать гибкий инсталлятор для сложного продукта - а для программ среднего размера со сравнительно простой структурой вряд ли стоит использовать InstallShield Pro, поскольку процесс создания дистрибутива отнимает гораздо больше времени, чем в других, описанных в этом обзоре приложениях.

Простой пример: я хочу сделать ярлык на рабочем столе для файла N. В той же Setup Factory мне достаточно щелкнуть правой кнопкой мыши на имени файла, и перейти в свойствах на закладку Shortcut. А в InstallShield Pro тоже все вроде бы логично, но громоздко: на закладке Resources, в Shell Objects - Explorer Shell - Desktop нужно войти в меню New, откуда выбрать Shortcut, и вручную заполнить кучу полей. Согласен, что это вполне функционально. Но ведь куда удобнее просто кликнуть правой кнопкой мыши, и получить результат!

Нужен комфорт. Посему, для большего удобства пользователей, компания предлагает Install Shield Express 3. А InstallShield Professional Windows Installer Edition 2.0 предназначен для тех, кто намерен создавать дистрибутивы формата Windows Installer. Правда, эта версия продукта сильно завязана на Internet Explorer и Visual Basic скрипты, поэтому для работы важно иметь их в наличии. Резюме: продукты корпорации Install Shield (кроме Express-версии) ориентированы прежде всего на разработчиков крупных серьезных продуктов. Вот кому - раздолье, в виде 11 приложений, среди которых не только генераторы дистрибутивов, но и полезные утилиты.

Ну и наконец, в заключение обзора - хочу привести сравнительные данные по размерам дистрибутивов тестового проекта, полученных с помощью описанных выше продуктов:
- Setup Factory 5.0 (1343 Кб)
- GkSetup 1.92 (990 Кб)
- Installer VISE 3.5 (1211 Кб)
- Wise InstallMaster 8.1 (1042 Кб)
- Astrum Install Wizard (1073 Кб)
- Install Maker Pro 1.3 (956 Кб)
- InstallShield Pro 6.2 (1878 Кб)