Как сделать свой установщик программы.  Лучшие бесплатные программы для создания инсталляторов. Демонстрация текста лицензионного соглашения

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

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

Smart Install Maker - наиболее простая и удобная программа для создания установщиков, но несмотря на это она предоставляет пользователю всю полноту функционала.

После первого запуска программы перед нами сразу появляется окно создания нового проекта.

Скрин 1.

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

Если перейти во вкладку «файлы», то появится такое окно:


Скрин 2.


Скрин 3.

«Диалоги» - очень важный компонент установщика. Именно благодаря информационным диалогам установка становится простой для конечного пользователя.


Скрин 4.

Здесь разработчик может указать, какие окна установщика будут показаны пользователю, будет ли показано лицензионное соглашение по использованию программы, отобразится ли инструкция по установке и настройке ПО, установить пароль (если разработчик желает дать доступ к программе ограниченному числу людей) и настроить окно завершения установки (перезагрузить компьютер по завершению или открыть официальный сайт программы).

Настройка интерфейса поможет сделать ваш инсталлятор уникальным, поменять иконку инсталлятора и т.д.


Скрин 5.

Во вкладке «Ярлыки» можно добавить установку иконок программы в меню «Пуск» на «Рабочий стол» и т.д.


Скрин 6.

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


Скрин 7.

Остальные вкладки не требуются рядовому разработчику, например «Команды» отвечает за выполнение специальных функций Smart Install Maker, ознакомиться с которыми можно в официальных мануалах по работе с программой.

Отдельное окно «Деинсталлятор» позволяет разработчику дополнительно устанавливать на ПК пользователя компонент, способный удалить ПО.


Скрин 8.

Во вкладке «Настройки» настраиваются основные функции деинсталлятора. Очень интересна функция «Открыть страницу деинсталляции», что бывает очень полезно для разработчиков коммерческих продуктов.


Скрин 9.

Вкладки «Реестр» и «Команды» пригодятся пользователям, воспользовавшимся этими функциями при создании инсталлятора для очистки ПК пользователя от ненужного мусора.


Скрин 10.

Таким образом, Smart Install Maker является незаменимой утилитой для разработчиков программного обеспечения , если у него нет средств на покупку профессионального инструментария, или отсутствует время на создание собственного.

Предыдущие публикации:

Категория ~ Программирование Administrator

Собственный инсталлятор

Разработка собственного программного обеспечения это одна задача, а установка его - это совсем другое. Как только Вы создали свой продукт, необходимо подумать о том, каким образом он будет предоставляться конечному пользователю. Если это просто один исполняемый файл, который вы можете просто заархивировать и выложить, то все просто. Но когда Ваш продукт состоит из нескольких файлов таких как, например, dll, которые необходимо зарегистрировать, Вам уже необходим инсталлятор. Даже если Вам просто необходимо создать пару ярлыков на компьютерах пользователей, то инсталлятор уже будет удобен, если Вы, конечно, не хотите, чтобы ваши пользователи делали все вручную.

Дорогой и коммерческий флагман InstallShield знаком всем, и Вы не раз пользовались инсталляторами, созданными этим продуктом. Но, он не является единственным оплотом для создания исталляторов. Существуют и достаточно способные бесплатные продукты, которые могут обеспечить Вас всеми необходимыми возможностями. Я выбрал несколько лучших из них. Они охватывают различные подходы к созданию инсталлятора: от быстрых и легко настраиваемых (5-10 минут и готово) до мощных и поддерживающих огромное количество настроек.

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

Программа для создания инсталлятора Inno Setup полноценный инструмент

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

GUI Inno Setup представляет из себя редактор / компилятор для файла конфигурации, который содержит настройки для создания программы установки. Формат текстового файла очень похож на формат файла INI, что позволяет ему быть менее громоздким для работы, чем файл формата XML, как, например, в . Файл справки отлично структурирован, что позволяет легко и просто узнать о доступных параметрах. Редактор поддерживает схему цветовой подсветки кода, что делает его более удобным для работы. Я не буду перечислять все особенности этого профессионального инструмента для создания программы установки, но я не нашел ничего, что еще Inno Setup не будет в состоянии совершить. Исходные файлы, целевые файлы, ярлыки, диалоги, лицензии принятии, удаление, пользовательские формы и многое другое. Я использовал его в течение нескольких проектов за последние годы с большим успехом (а не затрат). Если вы любите GUI, то для этого отличного инструмента вы можете найти несколько сторонних дополнений на главной странице InnoSetup.

Программа для создания инсталлятора NSIS удобная и мощная

- если Вам не особо то и нужен редактор сценариев, и Вы хотите что-то обладающее более расширенными возможностями пользовательского интерфейса, то инструмент от NullSoft для создания программ установки то, что Вам нужно. Это наиболее способный продукт, в котором правда не хватает полноценного пользовательского интерфейса (не считая окна компилятора).

Подобно тому как вы создаете HTML-код для веб-страницы в отдельной программе, и потом отображаете эту страницу в браузере, вы должны создать скрипт NSIS в любом редакторе по вашему вкусу и просто скомпилировать его компилятором NSIS. На домашней странице NSIS Вы можете найти ссылки на редакторы (PSPad, Notepad) и IDE плагины (например, для Eclipse) с поддержкой NSIS скриптов с подсветкой синтаксиса, а так же различные другие вспомогательные программы.

Этот продукт, безусловно, более ориентирован на профессиональных разработчиков, чем на тех, кто ищет быстрых и легких графических решений для создания программ установки. Продукты в данном обзоре рассматривают оба типа этих пользователей, и это создает небольшие трудности для рекомендации одного единого решения. Хотя NSIS более способный, чем , я выбрал последнее из-за его баланса между графическим интерфейсом и функциональностью (включая организацию обучения).

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

Плагины действительно того стоят, они предлагают множество расширенных возможностей, например, эффекты fadeout/fadein для пользовательских диалогов. NSIS предлагает создание более современной установки UI. Вы можете самостоятельно создавать собственные иконки , баннеры, фоны, и сделать из них свой сборник. Сообщество пользователей достаточно велико и многие ресурсы и форумы помогут Вам и поддержат Вас с вашим проектом установки NSIS.

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

Программа для создания инсталлятора Ghost Installer аналог InnoSetup

представляет собой аналог . Если Вы хотите полностью контролировать создание программы установки, и Вы не боитесь работать с XML-файлами конфигурации, то Ghost Installer может быть хорошим выбором для Вас. Хотя коммерческая версия инструмента поставляется вместе с графическим интерфейсом (Ghost Installer Studio), бесплатная версия просто предлагает так называемый gEditor для редактирования файлов XML файлов конфигурации.

Этот продукт требует времени, чтобы освоиться в нем, но как только Вы разберетесь и узнаете обо всех настройках, Вы сможете использовать всю мощь данного инструмента. Файл справки очень хорошо организован, в нем перечислены все ключевые слова и настройки, которые Вы можете использовать. Когда Вы создаете новый проект, мастер-настройки создаст базовый или расширенный шаблон, в котором будет подготовлена необходимая XML-структура, с который Вы можете сразу начать работать. Для меня этот инструмент был несколько сложнее в изучении, нежели InnoSetup, но я уверен, что этот инструмент очень мощный. В итоге мы имеем XML редактор gEditor со встроенной кнопкой, запускающей процесс компиляцию Вашей программы установки. Если для Вас такая схема работы привлекательна, то, безусловно, попробуйте его.

Программа для создания инсталлятора Clickteam Install Creator быстрая и удобная

, наверно, самый быстрый и удобный инструмент создания программ установки из тех, что я рассмотрел. Этот инструмент содержит основные функции, заключенные в эффективный графический интерфейс. Мастер достаточно быстро проведет Вас через основные шаги. Мой первый проект был сделан за несколько минут, и все работало на "ура!".

Каждый этап представлен отдельной вкладкой, поэтому по завершении работы мастера у Вас всегда будет возможность изменить ранее заданные настройки. Если Вам требуется установить несколько исполняемых файлов, то Вам необходимо добавить меню в "Пуск" и создать ярлыки на рабочем столе. Инструмент позволяет легко изменять все тексты установки, даже текст в диалоговом окне "Добро пожаловать". Итоговая программа установки может работать как в режиме диалогового окна, так и в полноэкранном режиме (с возможностью установки градиента заливки фона, как в старые добрые времена Windows).

Можно устанавливать растровые изображения и иконки по своему выбору. В Install Creator отсутствуют более профессиональные функции, такие как добавление записей в реестр , различных пакетов установки или языков. Но это не было целью этого инструмента, и это прекрасно для простых задач. Это отличный выбор для быстрого решения по распространению своей программы, без необходимости разбираться в куче тонкостей процесса создания программ установки. Бесплатная версия полностью функциональна, однако, в конце каждой установки показывается окно с рекламой и со ссылкой на веб-сайт разработчиков.

CreateInstall аналог программы для создания инсталлятора Clickteam

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

Работа с файлами и контекстным меню осуществляется достаточно легко, что является преимуществом над Install Creator. Так же Вам дается возможность задать записи в реестр и зарегистрировать DLL / OCX / TBL файлы. В инструменте есть некоторые дополнительные функции, которые производят достаточно хорошее впечатление. С ними Вы можете изменить некоторые особенности, такие как: выбор языка, выбор пути установки. Однако, у меня возникло несколько вопросов по работе инструмента, а именно по поводу изменения шрифтов диалогов. Для некоторых шрифтов, например, Tahoma, на дисплее будет просто пустое окно. Почему так? Бесплатная версия является полнофункциональной, но выводит строку "CreateInstall Free" в нижнем левом углу каждого окна установки. Вы можете купить этот инструмент, и изменить содержание этой строки по своему вкусу.

Программа Advanced Installer для быстрого создания инсталлятора

является хорошим выбором, если Вам необходимо быстро создать MSI пакет установки. Caphyon предлагает бесплатную версию своего инструмента, встроенного в коммерческий продукт, по созданию программ установки. Вы можете скачать и установить полную версию продукта бесплатно, но только "Basic" опции работают без покупки регистрации. Но этого вполне достаточно для быстрого и простого создания MSI пакета установки.

В нем достаточно дружественный интерфейс, позволяющий Вам задать все основные конфигурации в кратчайшие сроки. Есть довольно много вариантов установки, что позволяет Вам достаточно легко играть с инструментом, например, целевая папка, ярлыки, перезагрузка системы, условия запуска, настройки реестра и многое другое. Единственно, я разочаровался в том, что нельзя определить различные типы установки такие, как "Полная установка" и "Минимальная установка". "Все или ничего" - не есть принцип сегодняшних программ установки. Я бы предпочел вместо опции условий запуска опцию установки типа. Тем не менее, мне очень импонирует простота в использовании и минимальное количество времени на проект. Если вам нужен MSI файл для простой установки, то Advanced Installer, безусловно, то, что Вам нужно.

Руководство по быстрому выбору (скачать бесплатно программы для создания инсталлятора)

Inno Setup

очень мощный - многолетний опыт - простой формат файла

NSIS

большое количество функций - небольшой размер инсталлятора - пользовательские диалоги - возможность подключать плагины
без графического интерфейса - не просто в освоении - нет своего редактора

Ghost Installer Free

мощные возможности - на основе XML
базируется на основе текстовых файлов - без графического интерфейса

Созданную новую версию программы, в принципе, уже можно распростра-нять среди пользователей. Запаковать ЕХЕ-файл ZlP-архиватором, добавить в этот архив readme-файл и файл справки, и разместить получившийся ZIP -файл в Интернете. Однако для серьезной shareware-программы этого мало. Нужно создать к своему продукту специальную программу установки, или, как ее еще называют, инсталлятор ("install " - устанавливать)

Почему shareware-программе необходим инсталлятор? На это есть несколько причин.

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

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

· Инсталлятор - своеобразная "упаковка" программы, имеет большое зна-чение для оповещения пользователя об условиях лицензионного согла-шения.

· Инсталлятор служит еще одним свидетельством того, что данный продукт - серьезная разработка, а не поделка любителя.

Некоторые авторы программ, начав распространение своих продуктов на российском рынке и как freeware , привыкли к тому, что инсталлятор к ним делать не нужно. Некоторые из разработчиков даже с гордостью делают приписку к описанию своей программы: "Не требует инсталляции". Это с одной стороны, оправданно: пользователь может быть уверен, что процесс копирования программы на диск его компьютера будет под его контролем системные настройки будут отредактированы без его ведома или в папку WINDOWS /SYSTEM не будет записано никаких "левых" файлов. Правда, все это может быть сделано уже самой программой при первом запуске ее ЕХЕ-файла. С другой стороны, недоверие к инсталляторам со стороны пользователей в основном обусловлено низкой надежностью старых версий Windows (например, 3.х) и плохим качеством программ сторонних разработчиков, появившихся на рынке в то время, - например, механизм удаления уже установленной под Windows программы работал малоэффективно. Сейчас, по прошествии очень большого для индустрии информационных технологий периода времени, ситуация сильно изменилась, и большинство пользователей рассматривают инсталлятор как помощника в работе, а не обузу, придуманную авторами программ для засорения жестких дисков пользователей.

С увеличением объема продаж через Интернет, бумом shareware , сокраще-нием доли "коробочных" продуктов на рынке и переход некоторой их части в разряд shareware , инсталлятор стал играть роль не только программы уста-новки, но и "упаковки" программного продукта, что имеет большое значе-ние в деле зашиты авторских прав.

Дело в том, что в то время, когда большинство платных продуктов были "коробочными", т. е. продавались в фирменной упаковке, лицензионное соглашение, в котором правообладатель разрешал использование програм-мы, печаталось прямо на этой упаковке. Текст лицензионного соглашения обязательно начинался со слов: "Вскрывая упаковку данного программного продукта, Вы подтверждаете свое согласие с условиями настоящего лицен-зионного соглашения". Лицензионные соглашения даже стали называть "обер-точными лицензиями", т, е. лицензиями, опубликованными на упаковке.

После того как все больше программ стало распространяться по компью-терным сетям, в том числе и по Интернету, термин "оберточная лицензия" стал терять смысл - ведь "обертки" как таковой уже не было! И тогда роль упаковки стал играть инсталлятор: перед началом процесса установки про-дукта он демонстрирует пользователю текст соглашения и требует поставить флажок или переключатель Согласен для продолжения установки. А слова "Вскрывая упаковку данного программного продукта..." заменились на "Устанавливая данный программный продукт..." Таким образом, лицен-зионное соглашение, оформленное в электронном виде, продолжают назы-вать "оберточной лицензией".

Конечно, нельзя не упомянуть о том, что иногда без инсталлятора просто не обойтись - например, когда для нормальной работы устанавливаемой про-граммы требуется скопировать в папку WINDOWS /SYSTEM и зарегистри-ровать в системе ActiveX - и DLL-библиотеки, типы файлов и т. п.

Самостоятельная подготовка инсталлятор - довольно простое дело. Суще-ствует огромное количество продуктов независимых разработчиков (как бесплатных, так и shareware и коммерческих), позволяющих создавать про-граммы установки. Какую из них предпочесть? Давайте посмотрим, на ка-кие параметры нужно обратить внимание при выборе программы создания инсталляторов.

Сначала, экономичность. Казалось бы, для любой программы главное - это функциональные возможности, но здесь они отходят на второй план. Пер-вое, на что стоит обратить внимание при рассмотрении программы создания инсталляторов - объем файлов, которые она генерирует. Ведь функции и диалоговые окна инсталлятора также требуют определенного пространства на диске, в результате файл инсталлятора вместе с содержащимся в нем сжатыми файлами программного продукта окажется несколько больше, чем, например, объем ZlP-архива с теми же файлами внутри.

Эта разница между "обычным" архивом и инсталлятором существует и при использовании различных программ может оказаться очень значительной. Например, известнейший пакет InstallShield (облегченные версии которого, кстати, входят в комплекты поставки многих систем разработки приложе-ний), "добавляет" к дистрибутиву программы более мегабайта! Конечно, ис-пользовать InstallShield можно разве что в том случае, если готовую про-грамму планируется распространять не через Иптернет, где у более ком-пактных программ есть больше шансов привлечь к себе внимание поль-зователей. Тем не менее, некоторые shareware-разработчики все равно при-меняют InstallShield . Например, я иногда спрашиваю авторов, присылающих мне заявки на публикацию своих программ в каталоге SoftList : "Почему Ва-ша программа, являясь вроде бы небольшой утилитой, имеет архив разме-ром почти 2 Мбайта?" "Да не беспокойтесь, - слышу я в ответ, - сама программа занимает всего 500 Кбайт, а все остальное - инсталлятор!" Нет, программа установки, "съедающая" втрое больший объем, чем непосредст-венно "основной" продукт - слишком большая роскошь для shareware . Итак, как я уже упоминал, InstallShield , на мой взгляд, разумно использо-вать для "обертки" к программам, которые не планируется распространять по компьютерным сетям - например, написанных под конкретный заказ или рассчитанных на публикацию на CD -ROM и ему подобных носителях.

Другие программы по созданию инсталляторов гораздо более умеренны в своих аппетитах. Собственно, громоздкость InstallShield явилась своеобраз-ным катализатором появления аналогичных, но более компактных продук-тов: shareware-разработчики, которым для распространения своих продуктов через Интернет требовался более экономичный инсталлятор, писали собст-венные генераторы программ установки, а затем некоторые из них, в свою очередь, были оформлены как самостоятельные shareware-продукты.

Одним из самых популярных среди разработчиков shareware-программ явля-ется пакет Installer Wise (http ://www .mindvision .com ). Помимо широких воз-можностей, о которых вы прочтете ниже, он создает достаточно компактные программы установки: разница между ZIP-архивом с файлами программы и инсталлятором будет всего около 180 Кбайт. Createlnstall 2000 российской фирмы Gentee (http ://www .gentee .com ) еще более экономичен - после его работы дистрибутив программы увеличивается всего лишь на 40 Кбайт. Есть, конечно, еще немало программ для генерации инсталлято-ров, но большинство из них создают относительно компактные установоч-ные программы - в пределах 200 Кбайт. Более "прожорливые" аналоги практически не имеют шансов выжить на рынке shareware (тот же InstallShield , например, в основном применяется при оформлении больших коммерче-ских продуктов), а их появление в дистрибутивах shareware-программ обу-словлено в основном неопытностью автора соответствующей программы.

Вторым по значению фактором выбора программы для создания инсталля-торов является набор функциональных возможностей, который она предос-тавляет разработчику. Естественно, по этому параметру разные продукты в этой категории различаются, и порой очень сильно. Являются ли возмож-ности той или иной программы достаточными - зависит в основном от особенностей этой программы.

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

Если же в процессе установки требуется еще и регистрировать DLL-библиотеки и ActiveX , предоставлять пользователю выбор языка интерфейса или устанавливаемых компонентов программы, выводить определяемые ав-тором программы диалоговые окна и обрабатывать результат действий поль-зователя, изменять ассоциации файлов, делать записи в реестре, перегру-жать компьютер по окончании установки и т. п., требуется более продвину-тый генератор инсталляции. Это уже упомянутые мной Installer Wise , Create Install и др.

И наконец, немаловажным вопросом при выборе программы создания ин-сталляторов является удобство работы с ней. Часть программ этого типа (к счастью, небольшая), например уже упоминавшийся выше InstallShield , a также InnoSetup (http ://www .doniain .com ), для описания инсталлятора (вид диалоговых окон, обработка событий и т. д.) используют специальные скриптовые языки, вследствие чего освоение такого продукта за-медляется. Для преодоления этой проблемы другими авторами написаны специальные визуальные конструкторы, генерирующие текст скриптов по параметрам, указанным пользователем в диалоговом режиме - например, ISTool (http ://www .bhenden .org /istool ), создающий скрипты для InnoSetup .

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

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

Работать с такими программами, конечно, гораздо проще, чем с теми, кото-рые используют скрипты.

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

Демонстрация текста лицензионного соглашения

Как уже говорилось выше, согласие с условиями лицензионного соглаше-ния - это условие, при котором инсталляция программы может быть про-должена. В этом - суть лицензионного соглашения как "оберточной" ли-цензии. Значит в инсталлятор нужно не забыть включить окно с текстом License Agreement , чтобы пользователь мог продолжить установку, только нажав кнопку Согласен или установив соответствующий флажок (пере-ключатель).

Папка для установки по умолчанию

Мне до сих пор попадаются программы, инсталляторы которых предлагают создать папку программы для копирования файлов не в папке C :Program Files , а в корневом каталоге диска С:. Конечно, в большинстве случаев мож-но выбрать для установки любую другую папку, в том числе и Program Files , но, во-первых, это раздражает, т. к. приходится совершать лишние опера-ции, а во-вторых, приходится все равно устанавливать такую программу в каталоге С:, т. к, никогда нельзя быть уверенным в том, что программа бу-дет нормально работать в папке Program Files - например, из-за проблем с длинными именами файлов. Кто-то может удивиться тому, что в наше вре-мя, когда на рынке господствуют 32-разрядные операционные системы, ка-кие-то программы "не понимают" длинные имена файлов, но на самом деле такие программы встречаются, и я бы не сказал, что очень редко.

Создание ярлыков в Главном меню

Я уже говорил "Не трогайте системные файлы и настройки" о том, что группа с ярлыками для установленной программы должна нахо-диться исключительно в папке Программы Главного меню, а не в его первом уровне или где-то еще. Если же вы считаете, что ярлык к вашей программе пригодится пользователю и на Рабочем столе или, например, в первом уровне Главного меню, то инсталлятор программы должен создавать такие ярлыки только с разрешения пользователя.

Если ярлык программы помещается не в собственную группу в меню Про-граммы , а в одну из стандартных групп - например, или Стан-дартные , то нужно учитывать, что в локализованных версиях Windows их названия различаются, и не повторять ошибок разработчиков пакета утилит Microsoft PowerToys , в процессе установки которых даже под русской верси-ей Windows ярлыки создаются в группах "Accessories " и "Startup ", которые, конечно, в данной локализации Windows игнорируются.

Помимо установки, программа должна иметь возможность деинсталляции, т. е. удаления себя из системы. Программа, производящая эту операцию -

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

Деинсталляция - это не просто удаление файлов с компьютера, которое, в общем-то, может произвести любой пользователь вручную. Деинсталляция подразумевает удаление всех следов пребывания программы в системе (записей в реестре и других системных файлах, DLL-библиотек в папке WINDOWS /SYSTEM и т. п). Если же вся эта информация остается в систе-ме, то она по мере установки на компьютер все новых и новых приложений накапливается, что отрицательно сказывается на стабильности работы опе-рационной системы.

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

Например, если справочная система продукта выполнена в формате WinHelp , то обычно программа установки копирует на диск компьютера файлы с расширением hip и cnt (основной файл и файл с оглавлением Справки). Но стоит пользователю хоть один раз посмотреть справочную систему, как на диске будет создан файл с расширением gid , а если пользователь проведет расширенный поиск- создаются файлы FTS и FTG (см. табл. 7.1). Поэто-му файлы с этим расширением также нужно включить в настройки про-граммы деинсталлятора.

То же самое относится и к ключам в системном реестре с настройками программы. Часто эти ключи создаются не инсталлятором, а самой про-граммой, в процессе работы пользователя с ней. В результате эти записи не удаляются деинсталлятором и остаются в реестре, увеличивая его объем и ухудшая скорость работы Windows . Вследствие этого нужно настроить деинсталлятор на удаление всех ключей, которые могут быть созданы програм-мой в процессе ее использования.

Как известно, деинсталлятор приложения для Windows может быть запущен двумя способами: посредством выбора соответствующего пункта в группе с ярлыками программы в меню Пуск и при помощи апплета "Установка и удаление программ" Панели управления Windows . Некоторые программы генерации инсталляторов, например уже упоминавшийся InstallWise , пре-доставляют пользователю возможность при удалении программы воспользо-ваться любым из этих способов на свой выбор: соответствующие пункты присутствуют как в меню Пуск, так и в апплете "Установка и удаление программ" Панели управления. Однако некоторые shareware-продукты можно удалить только одним способом. Нельзя сказать, что это удачный ход, с точки зрения удобства работы с программой. Можно испытать сильно, раздражение, например, последовательно вызвав Панель управления, апплет "Установка и удаление программ", прокрутить длинный список и не найти ту программу, которая вам требуется, прокрутить этот список более медлен-но, тщательно вчитываясь в названия продуктов, чтобы не пропустить инте-ресующую программу, задуматься, как же все-таки удалить эту злосчастную программу и т. д.

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

Подготовка дистрибутива

Итак, инсталлятор программного продукта готов: файл setup .exe лежит в папке вашего shareware-проекта. В принципе, этот файл уже является дист-рибутивом программы, и его можно смело распространять через Интернет. Многие авторы так и делают: переименовывают файл setup .exe так, чтобы его название было созвучно названию программы, и размещают его на Web -сернере.

Это распространенный, но не совсем правильный подход к выбору варианта оформления дистрибутива. Лучше всего - упаковать ЕХЕ-файл инсталлято-ра ZIP-архиватором. Помимо файла setup .exe , в архив нужно включить еще и файл readme .txt , содержащий наиболее важную информацию о программе и се текущей версии, а также файл file _id .diz , в который записывается на-звание программы, ее версия и короткое (10-20 слов) описание.

Главный недостаток распространения "голого" файла setup .exe , без его "оборачивания" архиватором, состоит в том, что пользователь может узнать, какую именно программу содержит дистрибутив, только установив ее. Хотя авторы обычно дают файлу дистрибутива имя, производное от названия программы, оно нередко совершенно ничего не говорит пользователю, т. к. выглядит как аббревиатура и номер версии - например, ср32е45.ехе: попро-буйте догадайтесь, что за этим малопонятным набором букв скрывается Netscape Communicator версии 4.5 для Windows 9.X /NT /2000.

Если же инсталлятор упакован архиватором, а в архиве находится и файл readme .txt , то пользователь может узнать, какая именно программа представлена данным дистрибутивом без ее непосредственной установки, а так же получить много дополнительной информации о ней (что нового появилось в этой версии, какие существуют системные требования и т. п).

Некоторые читатели, возможно, спросят: "А зачем в архив нужно еще включать и файл file _id .diz ? Ведь много информации уже есть в readme .txt ?" Это действительно гак, однако file_id.diz более удобен для чтения, если пользователю всего лишь нужно узнать название программы и ее версию. Но самое главное - многие архиваторы, файловые менеджеры, каталогизаторы автоматически извлекают из архивов файлы file_i d.diz (традиция снабжать дистрибутивы файлами file_id.diz идет еще со времен DOS ) и показывают (или обрабатывают другим образом) их содержимое. В результате пользова-тель получает описания упакованных файлов из таких архивов без необхо-димости открывать их вручную и самостоятельно читать файлы readme .txt . Не случайно текст в файле file_i d.diz принято записывать небольшими по длине строками, чтобы описание помещалось в информационные окна соответствующих программ.

По свидетельству тех shareware-разработчиков, которые размещают на своих Web-сайтах программы сразу в двух вариантах - ехе и zip , оба варианта ска-чивают примерно равное количество пользователей. Тем не менее, с ZIP -архивами работать удобнее, что подтверждают письма от посетителей архива SoftList : в некоторых из них содержатся довольно эмоциональные просьбы публиковать на сайте только программы, дистрибутивы которых оформлены в виде ZIP-файлов, и даже обязать авторов программ распространять свои программы только упакованными в архив. Конечно, выполнить такие просьбы по разным причинам невозможно, но сам по себе факт наличия подобных просьб со стороны пользователей показателен, тем более, что просьб искоренить формат ZIP в области распространения дистрибутивен программ не поступало.

Читатели, наверное, обратили внимание на то, что, говоря об использовании архиватора, я все время упоминаю об одном формате - ZIP . Ведь су-ществует множество других архивных форматов, некоторые из которых бо-лее эффективны, чем ZIP - например, широко распространенный в России RAR Евгения Рошаля (http ://www .rarsoft .com ). Дело в том, что ZIP является стандартом де-факто для распространения файлов в Интернете, чего о дру-гих архивных форматах не скажешь. Конечно, существуют исключения, обу-словленные, в частности, спецификой платформы, для которой предназна-чен файл: например, программы для Linux традиционно упаковываются в архивы tar .gz . Но когда речь идет о распространении через Интернет про-граммного обеспечения для Windows , здесь выбора нет: только ZIP , и ника-кой другой архиватор.

Большое значение для распространения программ среди зарубежных поль-зователей имеет и тот факт, что существует большое количество бесплатных ZIP-архиваторов, а вот тот же RAR (как его версия для Windows - WinRAR ) - shareware-продукт, за использование которого (в данном слу-чае - всего лишь для того, чтобы распаковать чужую программу) нужно платить. И, хотя в комплект поставки RAR входит бесплатная утилита UnRar , которая предназначена только для распаковки файлов, большинство пользователей о ней ничего не знают, т. к. автором RAR она не особо рек-ламируется. Получается, что автор shareware-продукта, упакованной RAR (или другим небесплатным архиватором), вынуждает пользователя заплатить деньги только за право разархивировать программу. Один из российских shareware-разработчиков рассказывал, что в то время, когда он пользовался архиватором RAR для упаковки дистрибутива своих программ, он как-то даже получил письмо с упреком. "Чтобы запустить Вашу программу, я дол-жен зарегистрировать RAR !" - писал пользователь.

Примечание

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

Пожалуй, единственный тип программ, дистрибутивам которых противопо-казана упаковка любым архиватором и которые должны распространяться только в виде исполняемого файла ("голый" инсталлятор или самораспако-вывающийся архив), - это... ZIP-архиваторы. Очень часто пользователь скачивает из Интернета дистрибутив, одной из таких программ как раз для того, чтобы разархивировать другие ZIP-файлы, и поэтому ему, скорее все-го, будет просто нечем распаковать дистрибутив, сжатый ZIP-архивом.

Наконец последний вопрос, который мне хотелось бы рассмотреть в данном разделе, - это вопрос о том, какое имя должен иметь готовый файл дистри-бутива, т. е. файл, который пользователи будут качать из Интернета. Есть три возможных варианта: оставить ему стандартное имя вроде setup .zip , дать имя на основе названия программы (предположим, abc .zip ) и добавить ко второму варианту номер версии - например, abc 20.zip будет означать вер-сию 2.0.

Первый вариант, конечно, отпадает: имя файла setup .zip ничего не скажет пользователю о названии программы, когда он скачает этот файл, а через некоторое время (например, наводя порядок на жестком диске) решит вы-яснить, что же он содержит.

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

Однако, при всех достоинствах, этот способ имеет большой недостаток. По-сле выпуска очередной версии программы ссылки на ее файл быстро рас-ползаются по всему Интернету: автор регистрирует программу в различных online-архивах, а некоторые архивы сами добавляют эту программу в свои базы данных. Но после того, как в свет выходит новая версия программы, имя файла меняется: ведь версия программы тоже изменилась. В результате все ссылки, которые стоят на файл программы на страницах интернет-каталогов программного обеспечения, компьютерных обозрений и других информационных ресурсов, перестают работать, и соответственно посетите-ли не могут скачать программу по этим ссылкам. С помощью небольшой настройки Web-сервера эту проблему можно решить, но не все авторы shareware-программ имеют возмож-ность произвести такую настройку. Чтобы хоть как-то поправить положе-ние, разработчику приходится писать письма администраторам соответст-вующих архивов или заполнять Web-формы с просьбой изменить ссылку на файл программы. Беда в том, что крупные архивы, как уже упоминалось (см. разд. "Периодичность выпуска" данной главы), могут обновить информа-цию о программе в своих базах данных спустя недели и даже месяцы после того, как получат соответствующие запросы, и все это время файл програм-мы не будет доступен для посетителей данных сайтов. И никто не знает, сколько зарегистрированных пользователей из-за этого недосчитается про-грамма. Учитывая сказанное выше, мне наиболее оптимальным представ-ляется вариант номер два: имя файла включает только название (или его аббревиатуру) программы, без номера версии. В таком случае название оста-ется более-менее понятным, а внешние ссылки на файл программы остают-ся рабочими при выходе новых версий программы. Правда, при поиске в файловых системах трудно будет найти конкретную версию данной про-граммы. Однако этим стоит пожертвовать ради того, чтобы внешние ссылки на файл программы сохраняли свою работоспособность после выхода ее но-вой версии: это окажется гораздо более выгодным в плане увеличения числа зарегистрированных пользователей.

Компания Clickteam выпускает простые и дружелюбные продукты для разработчиков: например, Clickteam Fusion, The Games Factory, Multimedia Fusion. В этом же ряду находится программа Install Creator. Основное преимущество продукта - быстрое создание дистрибутива при помощи пошагового мастера.

Разделы настроек расположены в такой строгой последовательности в виде вкладок. Вначале указываются данные (Files), текстовое содержание диалогов (Wizard Text), формат окна (Window), дополнительные настройки (Options), настройки деинсталлятора (Uninstaller), размер дистрибутива (Build). После нажатия на Build запускается компиляция инсталлятора, остается лишь указать место его расположения.

Инсталлятор занимает 65 КБ, с учетом деинсталлятора это 105 КБ. Вдобавок к этому, в Install Creator применяется один из двух алгоритмов компрессии (zipper/ differentiator), оптимальный вариант определяется автоматически. При необходимости, данные можно поместить в пакет отдельно от инсталлятора.

Функциональность Clickteam Install Creator унифицирована, отсутствуют некоторые важные опции. Так, мультиязычность не поддерживается, русский язык в перечне локализаций и вовсе отсутствует. Интеграция со сторонними решениями не предусмотрена, поэтому работа с большими проектами (подразумевающими множество связей в системе) будет неудобной. Программа не позволяет создавать обновления, патчи. Впрочем, в последнем случае, можно использовать - разработку Clickteam.

В незарегистрированной версии Install Creator присутствует реклама. Профессиональная версия, помимо снятия этого лимита, позволяет включать в дистрибутив несколько редакций, устанавливать лицензионное ограничение для пользователя инсталлятора.

Резюме . Возможности Install Creator будут востребованы при работе с несложными проектами. Получаемые инсталляторы содержат базовый набор пользовательских опций, среди которых нет выбора языков или профиля установки. Определенно, это максимально простое решение среди всех упомянутых в обзоре инсталляционных комплексов.

Actual Installer

Actual Installer - программа для создания достаточно сложных установщиков Windows Installer без использования сценариев. В базовый набор возможностей входят мультиязычность, эффективная компрессия, детальная настройка интерфейса, командная строка и прочие функции, перечисляемые ниже.

Использование пошагового мастера не предполагается, но доступно окно параметров для нового проекта. Определив базовые сведения продукта, можно перейти в главное окно программы. Опции расположены в 5 секциях - «Общее», «Установка», «Диалоги», «Система» и «Реестр».

В разделе General (Общее) указывается информация о проекте, здесь же настраивается внешний вид мастера установки. В процессе установщик может проверять системные требования (такие как версия ОС, привилегии пользователя) и зависимости (Microsoft .NET Framework, Internet Explorer, Adobe Reader, Java, SQL Server и прочие). При отсутствии указанных компонентов, инсталлятор потребует от пользователя скачать и установить их.

В Installation («Установка») - расположение файлов и папок, расположение исполнимого файла, настройки процессов установки, обновления и деинсталляции. Оба процесса могут осуществляться в тихом режиме, не требуя вмешательства пользователя. В довесок к установщику, может использоваться (Actual Updater).

Dialogs («Диалоги») предоставляют доступ к «начинке» разделов, включая текст лицензионного соглашения, readme файла, в том числе в формате RTF. Здесь же - выбор языков локализации, причем русский язык числится в списке. Ненужные разделы установщика легко отключить.

System («Система») - настройка системных изменений, вносимых при инсталляции: ярлыки, ключи реестра, переменные и пользовательские команды.

Register («Реестр») - установка файловых ассоциаций, переменных окружения, библиотек.

После выставления нужных опций достаточно нажать на кнопку Build Project - инсталлятор готов к запуску. В случае, если при создании инсталлятора была пропущена важная опция, при компиляции Actual Installer даст об этом знать и укажет на ошибку.

Резюме . Actual Installer включает в себя практически все стандартные параметры и опции проекта. Это «промежуточный» вариант между очень простыми (вроде Clickteam Install Creator) и более тяжеловесными решениями, о которых также пойдет речь.

CreateInstall

CreateInstall - инструментарий для создания установщиков. В его основу заложено две особенности - контроль над процессом установки и неограниченная расширяемость. Обе возможности реализованы благодаря , применяемому для написания сценариев.

Интерфейс CreateInstall разбит на 3 вкладки - «Проект», «Скрипт установки» и «Скрипт деинсталляции». Первый раздел позволяет задать общие настройки инсталлятора: информация о продукте, поддерживаемые языки, пути, внешний вид. Дополнительно, инсталлятор можно защитить цифровой подписью и установить пароль.

«Проект» - не равноценная замена двух последующих разделов, т. е. для создания дистрибутива нужно тщательно настроить скрипты установки и деинсталляции. Соответствующие параметры отображаются в виде групп, можно отобразить их единым списком.

Дополнением для CreateInstall служит утилита Quick CreateInstall. Она значительно упрощает создание инсталлятора, предоставляя только базовые настройки проекта. Из Quick CreateInstall в дальнейшем проект можно импортировать в CreateInstall.

Код проекта не предназначен для самостоятельного редактирования, переноса в IDE-среду, экспорта. Хотя язык Gentee имеет отличный потенциал: как минимум, это переменные и функции, условные выражения и синтаксис, базирующийся на C, C++ и Java.

Существует 3 редакции программы - полная, light (простая) и бесплатная. Список различий между ними опубликован . По большей части, отсутствующие функции бесплатной редакции программы видны при навигации по группам настроек скриптов.

Интерфейс и справка доступны на русском языке.

Резюме . CreateInstall - функциональная и доступная для понимания среда. Инструментарий CreateInstall не так уж и беден и позволяет обходиться собственными средствами. Но к недостаткам все же следует отнести замкнутость программы «в себе», подразумевая функции импорта и экспорта.

Advanced Installer

Advanced Installer основывается на технологии Windows Inslaller, позволяя создавать msi-, exe- и других видов дистрибутивов. Этому способствует продуманный интерфейс и работа с проектами. В Advanced Installer можно обнаружить немало возможностей, которых нет в других подобных комплексах, о чем ниже.

Примечательно, прежде всего, разнообразие проектов: сюда входят инсталляторы, Java-установщики, обновления, дополнения, модули слияния и другие. В разделе меню Installer собраны команды импорта проектов из Visual Studio, RAD Studio, Real Studio, Visual Basic. Здесь раскрывается потенциал Advanced Installer во взаимодействии с IDE-средами.

Для каждого из выбранных типов проекта предусмотрен детальный мастер настройки. Есть общие шаблоны - Simple, Enterprise, Architect или Professional. Большая часть проектов доступна только для определенных типов лицензии, общедоступные проекты обозначены как None в графе License Required.

Как уже сказано, при создании проекта можно воспользоваться пошаговым мастером, где, в частности, доступен выбор способа распространения пакета, языков локализации, настройка пользовательского интерфейса, ввод текста лицензии и другие опции. Advanced Installer позволяет выбрать вариант распространения программы - оставить данные без компрессии, разделить на CAB-архивы, сохранить в MSI и др., добавить цифровую подпись, потребовать ввод серийного номера и т. д.

Главное окно Advanced Installer (редактор проекта), в простом режиме отображения (Simple), содержит несколько секций:

  • Product Information (Информация о продукте) - ввод сведений о продукте, параметры установки.
  • Requirements (Требования) - указание аппаратных и системных требований, зависимостей ПО. Также имеется возможность создания пользовательских условий.
  • Resources (Ресурсы) - редактор ресурсов (файлов и ключей реестра).
  • Deployment (Развертывание) - выбор типа распространения продукта. Это может быть MSI, EXE или веб-инсталлятор. Для MSI, EXE ресурсы можно поместить отдельно от инсталлятора.
  • System Changes - переменные среды.

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

Для выполнения более сложных задач позволяется использовать пользовательские действия, EXE, DLL или скрипты, написанные на C, C++, VBS или JS. Для создания сценариев предусмотрен удобный редактор.

Однако следует отметить, что в режиме Simple доступна лишь малая часть разделов. Работая с Advanced Installer в ознакомительном режиме, есть смысл зайти в настройки и переключиться в другой режим работы с проектом. После этих действий становятся доступны новые подразделы редактора.

Резюме . Благодаря различным редакциям продукта (включая бесплатную), возможностям импорта, множеству шаблонов и схем, редактору проектов - Advanced Installer будет интересен широкой аудитории.

BitRock InstallBuilder

InstallBuilder - кроссплатформенная среда для создания инсталляторов. В перечень поддерживаемых систем входят: Windows ME - Windows 8, Mac OS X, FreeBSD, OpenBSD, Solaris (Intel & Sparc), AIX, HP-UX, IRIX, Linux (Intel x86/x64, Itanium, s390 & PPC). Инсталляторы доступны как для настольного, так и сетевого ПО. В первой части путеводителя уже рассматривался продукт IzPack, но для InstallBuilder характерна поддержка языков написания, включая не только Java, но и PHP, Perl, Python, Ruby, C/C++ и.NET/Mono.

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

  • Product Details («Информация о продукте») - информация о проекте.
  • Files («Файлы») - проводниковый интерфейс для добавления файлов
  • Advanced («Расширенные настройки») - наиболее интересный раздел, где, пожалуй, и раскрывается вся мощь BitRock Installer. Для работы с проектами используется формат XML (см. обзор WiX в первой части), возможна совместная работа, ручная настройка проектов с поддержкой сценариев. Встроенные действия позволяют автоматизировать процессы установки и объединять задачи, делая их доступными в несколько кликов. Таким образом можно проверять зависимости, добавлять переменные окружения, изменять реестр и файловую систему и прочее. Для редактирования сценариев используется встроенный, очень простой, XML-редактор.
  • Customization («Настройка») - настройка пользовательского интерфейса инсталлятора, переменных окружения, пост-установочных действий, платформ, разрешений и компрессии. Для сжатия применяется ZIP/LZMA-компрессия. Можно создать тихий установщик, работающий в текстовом режиме.
  • Packaging («Упаковка») - для отслеживания ошибок имеется встроенный дебаггер. При построении легко создать кроссплатформенный инсталлятор. На выходе он использует «родную» среду ОС (это относится к графическим системам Windows, KDE и Gnome).

Резюме . BitRock InstallBuilder рекомендуется, прежде всего, для создания кроссплатформенных продуктов. Сценарий, основанный на XML-спецификациях, удобен в обращении, проект легко импортировать и экспортировать для редактирования во внешней среде. Таким образом, на основе данного XML-сценария можно быстро генерировать инсталляторы для всех требуемых платформ.

InstallMate

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

Мастер создания нового проекта позволяет выбрать существующий шаблон и указать начальные параметры - языки локализации (один или несколько), имя продукта.

Можно импортировать созданный проект или воспользоваться редактором InstallMate. Кстати говоря возможности импорта не впечатлили: поддерживаются продукты компании Tarma и проекты Visual Basic.

Главное окно программы содержит разделы с параметрами, разделенные, условно, на три секции:

  • Общие настройки: детальная информация о проекте, программные зависимости, системные требования, компоненты, а также опции инсталлятора. В боковой панели Package можно также указать тип инсталлятора, компрессии, ссылку на скачивание (в случае с веб-инсталлятором), пароль на установку. В один инсталлятор можно добавить несколько пакетов.
  • Компоненты: включение в дистрибутив элементов и связей: это файлы и папки, ключи реестра, ini-конфиги, переменные среды, файловые ассоциации, COM-классы, сервисы.
  • Опции инсталлятора: с помощью редактора можно отредактировать текст диалогов. Предусмотрена гибкая настройка локализаций, InstallMate поддерживает 19 языков по умолчанию. Можно создать один дистрибутив с несколькими локализациями либо несколько проектов с одним языком. В этом же разделе доступны пользовательские действия, а также переменные - включая 250 . Расширить функциональность пакета можно с помощью расширений и DLL-библиотек.

Как было отмечено, при создании инсталлятора можно использовать шаблоны. Помимо шаблонов проектов, возможно создание пакетов на основе компонентов, определяя группы элементов. Из других опций стоит отметить скрытую и тихую установку и деинсталляцию, два типа сжатия (Deflate или LZMA).

Полный список функций представлен .

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

Станислав Жарков

Созданную новую версию программы, в принципе, уже можно распростра­нять среди пользователей. Запаковать ЕХЕ-файл ZlP-архиватором, добавить в этот архив readme-файл и файл справки, и разместить получившийся ZIP-файл в Интернете. Однако для серьезной shareware-программы этого мало. Нужно создать к своему продукту специальную программу установки, или, как ее еще называют, инсталлятор ("install" - устанавливать)

Почему shareware-программе необходим инсталлятор? На это есть несколько причин:

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

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

    Инсталлятор - своеобразная "упаковка" программы, имеет большое зна­чение для оповещения пользователя об условиях лицензионного согла­шения.

    Инсталлятор служит еще одним свидетельством того, что данный продукт - серьезная разработка, а не поделка любителя.

Некоторые авторы программ, начав распространение своих продуктов на российском рынке и как freeware, привыкли к тому, что инсталлятор к ним делать не нужно. Некоторые из разработчиков даже с гордостью делают приписку к описанию своей программы: "Не требует инсталляции". Это с одной стороны, оправданно: пользователь может быть уверен, что процесс копирования программы на диск его компьютера будет под его контролем системные настройки будут отредактированы без его ведома или в папку WINDOWS/SYSTEM не будет записано никаких "левых" файлов. Правда, все это может быть сделано уже самой программой при первом запуске ее ЕХЕ-файла. С другой стороны, недоверие к инсталляторам со стороны пользователей в основном обусловлено низкой надежностью старых версий Windows (например, 3.х) и плохим качеством программ сторонних разработчиков, появившихся на рынке в то время, - например, механизм удаления уже установленной под Windows программы работал малоэффективно. Сейчас, по прошествии очень большого для индустрии информационных технологий периода времени, ситуация сильно изменилась, и большинство пользователей рассматривают инсталлятор как помощника в работе, а не обузу, придуманную авторами программ для засорения жестких дисков пользователей.

С увеличением объема продаж через Интернет, бумом shareware, сокраще­нием доли "коробочных" продуктов на рынке и переход некоторой их части в разряд shareware, инсталлятор стал играть роль не только программы уста­новки, но и "упаковки" программного продукта, что имеет большое значе­ние в деле зашиты авторских прав.

Дело в том, что в то время, когда большинство платных продуктов были "коробочными", т. е. продавались в фирменной упаковке, лицензионное соглашение, в котором правообладатель разрешал использование програм­мы, печаталось прямо на этой упаковке. Текст лицензионного соглашения обязательно начинался со слов: "Вскрывая упаковку данного программного продукта, Вы подтверждаете свое согласие с условиями настоящего лицен­зионного соглашения". Лицензионные соглашения даже стали называть "обер­точными лицензиями", т, е. лицензиями, опубликованными на упаковке.

После того как все больше программ стало распространяться по компью­терным сетям, в том числе и по Интернету, термин "оберточная лицензия" стал терять смысл - ведь "обертки" как таковой уже не было! И тогда роль упаковки стал играть инсталлятор: перед началом процесса установки про­дукта он демонстрирует пользователю текст соглашения и требует поставить флажок или переключатель Согласен для продолжения установки. А слова "Вскрывая упаковку данного программного продукта..." заменились на "Устанавливая данный программный продукт..." Таким образом, лицен­зионное соглашение, оформленное в электронном виде, продолжают назы­вать "оберточной лицензией".

Конечно, нельзя не упомянуть о том, что иногда без инсталлятора просто не обойтись - например, когда для нормальной работы устанавливаемой про­граммы требуется скопировать в папку WINDOWS/SYSTEM и зарегистри­ровать в системе ActiveX- и DLL-библиотеки, типы файлов и т. п.

Самостоятельная подготовка инсталлятор - довольно простое дело. Суще­ствует огромное количество продуктов независимых разработчиков (как бесплатных, так и shareware и коммерческих), позволяющих создавать про­граммы установки. Какую из них предпочесть? Давайте посмотрим, на ка­кие параметры нужно обратить внимание при выборе программы создания инсталляторов.

Сначала, экономичность. Казалось бы, для любой программы главное - это функциональные возможности, но здесь они отходят на второй план. Пер­вое, на что стоит обратить внимание при рассмотрении программы создания инсталляторов - объем файлов, которые она генерирует. Ведь функции и диалоговые окна инсталлятора также требуют определенного пространства на диске, в результате файл инсталлятора вместе с содержащимся в нем сжатыми файлами программного продукта окажется несколько больше, чем, например, объем ZlP-архива с теми же файлами внутри.

Эта разница между "обычным" архивом и инсталлятором существует и при использовании различных программ может оказаться очень значительной. Например, известнейший пакет InstallShield (облегченные версии которого, кстати, входят в комплекты поставки многих систем разработки приложе­ний), "добавляет" к дистрибутиву программы более мегабайта! Конечно, ис­пользовать InstallShield можно разве что в том случае, если готовую про­грамму планируется распространять не через Иптернет, где у более ком­пактных программ есть больше шансов привлечь к себе внимание поль­зователей. Тем не менее, некоторые shareware-разработчики все равно при­меняют InstallShield . Например, я иногда спрашиваю авторов, присылающих мне заявки на публикацию своих программ в каталоге SoftList: "Почему Ва­ша программа, являясь вроде бы небольшой утилитой, имеет архив разме­ром почти 2 Мбайта?" "Да не беспокойтесь, - слышу я в ответ, - сама программа занимает всего 500 Кбайт, а все остальное - инсталлятор!" Нет, программа установки, "съедающая" втрое больший объем, чем непосредст­венно "основной" продукт - слишком большая роскошь для shareware. Итак, как я уже упоминал, InstallShield , на мой взгляд, разумно использо­вать для "обертки" к программам, которые не планируется распространять по компьютерным сетям - например, написанных под конкретный заказ или рассчитанных на публикацию на CD-ROM и ему подобных носителях.

Другие программы по созданию инсталляторов гораздо более умеренны в своих аппетитах. Собственно, громоздкость InstallShield явилась своеобраз­ным катализатором появления аналогичных, но более компактных продук­тов: shareware-разработчики, которым для распространения своих продуктов через Интернет требовался более экономичный инсталлятор, писали собст­венные генераторы программ установки, а затем некоторые из них, в свою очередь, были оформлены как самостоятельные shareware-продукты.

Одним из самых популярных среди разработчиков shareware-программ явля­ется пакет Installer Wise (http://www.mindvision.com). Помимо широких воз­можностей, о которых вы прочтете ниже, он создает достаточно компактные программы установки: разница между ZIP-архивом с файлами программы и инсталлятором будет всего около 180 Кбайт. Createlnstall 2000 российской фирмы Gentee (http://www.gentee.com) еще более экономичен - после его работы дистрибутив программы увеличивается всего лишь на 40 Кбайт. Есть, конечно, еще немало программ для генерации инсталлято­ров, но большинство из них создают относительно компактные установоч­ные программы - в пределах 200 Кбайт. Более "прожорливые" аналоги практически не имеют шансов выжить на рынке shareware (тот же InstallShield , например, в основном применяется при оформлении больших коммерче­ских продуктов), а их появление в дистрибутивах shareware-программ обу­словлено в основном неопытностью автора соответствующей программы.

Вторым по значению фактором выбора программы для создания инсталля­торов является набор функциональных возможностей, который она предос­тавляет разработчику. Естественно, по этому параметру разные продукты в этой категории различаются, и порой очень сильно. Являются ли возмож­ности той или иной программы достаточными - зависит в основном от особенностей этой программы.

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

Если же в процессе установки требуется еще и регистрировать DLL-библиотеки и ActiveX, предоставлять пользователю выбор языка интерфейса или устанавливаемых компонентов программы, выводить определяемые ав­тором программы диалоговые окна и обрабатывать результат действий поль­зователя, изменять ассоциации файлов, делать записи в реестре, перегру­жать компьютер по окончании установки и т. п., требуется более продвину­тый генератор инсталляции. Это уже упомянутые мной Installer Wise , Create Install и др.

И наконец, немаловажным вопросом при выборе программы создания ин­сталляторов является удобство работы с ней. Часть программ этого типа (к счастью, небольшая), например уже упоминавшийся выше InstallShield , a также InnoSetup (http://www.doniain.com), для описания инсталлятора (вид диалоговых окон, обработка событий и т. д.) используют специальные скриптовые языки, вследствие чего освоение такого продукта за­медляется. Для преодоления этой проблемы другими авторами написаны специальные визуальные конструкторы, генерирующие текст скриптов по параметрам, указанным пользователем в диалоговом режиме - например, ISTool (http://www.bhenden.org/istool), создающий скрипты для InnoSetup .

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

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

Работать с такими программами, конечно, гораздо проще, чем с теми, кото­рые используют скрипты.

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

Демонстрация текста лицензионного соглашения

Как уже говорилось выше, согласие с условиями лицензионного соглаше­ния - это условие, при котором инсталляция программы может быть про­должена. В этом - суть лицензионного соглашения как "оберточной" ли­цензии. Значит в инсталлятор нужно не забыть включить окно с текстом License Agreement, чтобы пользователь мог продолжить установку, только нажав кнопку Согласен или установив соответствующий флажок (пере­ключатель).

Папка для установки по умолчанию

Мне до сих пор попадаются программы, инсталляторы которых предлагают создать папку программы для копирования файлов не в папке C:\Program Files, а в корневом каталоге диска С:. Конечно, в большинстве случаев мож­но выбрать для установки любую другую папку, в том числе и Program Files, но, во-первых, это раздражает, т. к. приходится совершать лишние опера­ции, а во-вторых, приходится все равно устанавливать такую программу в каталоге С:\, т. к, никогда нельзя быть уверенным в том, что программа бу­дет нормально работать в папке Program Files - например, из-за проблем с длинными именами файлов. Кто-то может удивиться тому, что в наше вре­мя, когда на рынке господствуют 32-разрядные операционные системы, ка­кие-то программы "не понимают" длинные имена файлов, но на самом деле такие программы встречаются, и я бы не сказал, что очень редко.

Создание ярлыков в Главном меню

Я уже говорил "Не трогайте системные файлы и настройки" о том, что группа с ярлыками для установленной программы должна нахо­диться исключительно в папке Программы Главного меню, а не в его первом уровне или где-то еще. Если же вы считаете, что ярлык к вашей программе пригодится пользователю и на Рабочем столе или, например, в первом уровне Главного меню, то инсталлятор программы должен создавать такие ярлыки только с разрешения пользователя.

Если ярлык программы помещается не в собственную группу в меню Про­граммы , а в одну из стандартных групп - например, или Стан­дартные , то нужно учитывать, что в локализованных версиях Windows их названия различаются, и не повторять ошибок разработчиков пакета утилит Microsoft PowerToys, в процессе установки которых даже под русской верси­ей Windows ярлыки создаются в группах "Accessories" и "Startup", которые, конечно, в данной локализации Windows игнорируются.

Помимо установки, программа должна иметь возможность деинсталляции, т. е. удаления себя из системы. Программа, производящая эту операцию -

деинсталлятор, - как правило, генерируется той же программой, которая использовалась для создания инсталляторов. Хотя большинство программ для генерации инсталляторов предоставляют разработчику самому решить, нужен ли его программе деинсталлятор, на самом деле он фактиче­ски является обязательным для любого серьезного программного продукта.

Деинсталляция - это не просто удаление файлов с компьютера, которое, в общем-то, может произвести любой пользователь вручную. Деинсталляция подразумевает удаление всех следов пребывания программы в системе (записей в реестре и других системных файлах, DLL-библиотек в папке WINDOWS/SYSTEM и т. п). Если же вся эта информация остается в систе­ме, то она по мере установки на компьютер все новых и новых приложений накапливается, что отрицательно сказывается на стабильности работы опе­рационной системы.

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

Например, если справочная система продукта выполнена в формате WinHelp, то обычно программа установки копирует на диск компьютера файлы с расширением hip и cnt (основной файл и файл с оглавлением Справки). Но стоит пользователю хоть один раз посмотреть справочную систему, как на диске будет создан файл с расширением gid, а если пользователь проведет расширенный поиск- создаются файлы FTS и FTG (см. табл. 7.1). Поэто­му файлы с этим расширением также нужно включить в настройки про­граммы деинсталлятора.

То же самое относится и к ключам в системном реестре с настройками программы. Часто эти ключи создаются не инсталлятором, а самой про­граммой, в процессе работы пользователя с ней. В результате эти записи не удаляются деинсталлятором и остаются в реестре, увеличивая его объем и ухудшая скорость работы Windows. Вследствие этого нужно настроить деинсталлятор на удаление всех ключей, которые могут быть созданы програм­мой в процессе ее использования.

Как известно, деинсталлятор приложения для Windows может быть запущен двумя способами: посредством выбора соответствующего пункта в группе с ярлыками программы в меню Пуск и при помощи апплета "Установка и удаление программ" Панели управления Windows. Некоторые программы генерации инсталляторов, например уже упоминавшийся InstallWise, пре­доставляют пользователю возможность при удалении программы воспользо­ваться любым из этих способов на свой выбор: соответствующие пункты присутствуют как в меню Пуск, так и в апплете "Установка и удаление программ" Панели управления. Однако некоторые shareware-продукты можно удалить только одним способом. Нельзя сказать, что это удачный ход, с точки зрения удобства работы с программой. Можно испытать сильно, раздражение, например, последовательно вызвав Панель управления, апплет "Установка и удаление программ", прокрутить длинный список и не найти ту программу, которая вам требуется, прокрутить этот список более медлен­но, тщательно вчитываясь в названия продуктов, чтобы не пропустить инте­ресующую программу, задуматься, как же все-таки удалить эту злосчастную программу и т. д.

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

Подготовка дистрибутива

Итак, инсталлятор программного продукта готов: файл setup.exe лежит в папке вашего shareware-проекта. В принципе, этот файл уже является дист­рибутивом программы, и его можно смело распространять через Интернет. Многие авторы так и делают: переименовывают файл setup.exe так, чтобы его название было созвучно названию программы, и размещают его на Web-сернере.

Это распространенный, но не совсем правильный подход к выбору варианта оформления дистрибутива. Лучше всего - упаковать ЕХЕ-файл инсталлято­ра ZIP-архиватором. Помимо файла setup.exe, в архив нужно включить еще и файл readme.txt, содержащий наиболее важную информацию о программе и се текущей версии, а также файл file_id.diz, в который записывается на­звание программы, ее версия и короткое (10-20 слов) описание.

Главный недостаток распространения "голого" файла setup.exe, без его "оборачивания" архиватором, состоит в том, что пользователь может узнать, какую именно программу содержит дистрибутив, только установив ее. Хотя авторы обычно дают файлу дистрибутива имя, производное от названия программы, оно нередко совершенно ничего не говорит пользователю, т. к. выглядит как аббревиатура и номер версии - например, ср32е45.ехе: попро­буйте догадайтесь, что за этим малопонятным набором букв скрывается Netscape Communicator версии 4.5 для Windows 9.X/NT/2000.

Если же инсталлятор упакован архиватором, а в архиве находится и файл readme.txt, то пользователь может узнать, какая именно программа представлена данным дистрибутивом без ее непосредственной установки, а так же получить много дополнительной информации о ней (что нового появилось в этой версии, какие существуют системные требования и т. п).

Некоторые читатели, возможно, спросят: "А зачем в архив нужно еще включать и файл file_id.diz? Ведь много информации уже есть в readme.txt?" Это действительно гак, однако file_id.diz более удобен для чтения, если пользователю всего лишь нужно узнать название программы и ее версию. Но самое главное - многие архиваторы, файловые менеджеры, каталогизаторы автоматически извлекают из архивов файлы file_id.diz (традиция снабжать дистрибутивы файлами file_id.diz идет еще со времен DOS) и показывают (или обрабатывают другим образом) их содержимое. В результате пользова­тель получает описания упакованных файлов из таких архивов без необхо­димости открывать их вручную и самостоятельно читать файлы readme.txt. Не случайно текст в файле file_id.diz принято записывать небольшими по длине строками, чтобы описание помещалось в информационные окна соответствующих программ.

По свидетельству тех shareware-разработчиков, которые размещают на своих Web-сайтах программы сразу в двух вариантах - ехе и zip, оба варианта ска­чивают примерно равное количество пользователей. Тем не менее, с ZIP-архивами работать удобнее, что подтверждают письма от посетителей архива SoftList: в некоторых из них содержатся довольно эмоциональные просьбы публиковать на сайте только программы, дистрибутивы которых оформлены в виде ZIP-файлов, и даже обязать авторов программ распространять свои программы только упакованными в архив. Конечно, выполнить такие просьбы по разным причинам невозможно, но сам по себе факт наличия подобных просьб со стороны пользователей показателен, тем более, что просьб искоренить формат ZIP в области распространения дистрибутивен программ не поступало.

Читатели, наверное, обратили внимание на то, что, говоря об использовании архиватора, я все время упоминаю об одном формате - ZIP. Ведь су­ществует множество других архивных форматов, некоторые из которых бо­лее эффективны, чем ZIP - например, широко распространенный в России RAR Евгения Рошаля (http://www.rarsoft.com). Дело в том, что ZIP является стандартом де-факто для распространения файлов в Интернете, чего о дру­гих архивных форматах не скажешь. Конечно, существуют исключения, обу­словленные, в частности, спецификой платформы, для которой предназна­чен файл: например, программы для Linux традиционно упаковываются в архивы tar.gz. Но когда речь идет о распространении через Интернет про­граммного обеспечения для Windows, здесь выбора нет: только ZIP, и ника­кой другой архиватор.

Большое значение для распространения программ среди зарубежных поль­зователей имеет и тот факт, что существует большое количество бесплатных ZIP-архиваторов, а вот тот же RAR (как его версия для Windows- WinRAR) - shareware-продукт, за использование которого (в данном слу­чае - всего лишь для того, чтобы распаковать чужую программу) нужно платить. И, хотя в комплект поставки RAR входит бесплатная утилита UnRar, которая предназначена только для распаковки файлов, большинство пользователей о ней ничего не знают, т. к. автором RAR она не особо рек­ламируется. Получается, что автор shareware-продукта, упакованной RAR (или другим небесплатным архиватором), вынуждает пользователя заплатить деньги только за право разархивировать программу. Один из российских shareware-разработчиков рассказывал, что в то время, когда он пользовался архиватором RAR для упаковки дистрибутива своих программ, он как-то даже получил письмо с упреком. "Чтобы запустить Вашу программу, я дол­жен зарегистрировать RAR!" - писал пользователь.

Примечание

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

Пожалуй, единственный тип программ, дистрибутивам которых противопо­казана упаковка любым архиватором и которые должны распространяться только в виде исполняемого файла ("голый" инсталлятор или самораспако­вывающийся архив), - это... ZIP-архиваторы. Очень часто пользователь скачивает из Интернета дистрибутив, одной из таких программ как раз для того, чтобы разархивировать другие ZIP-файлы, и поэтому ему, скорее все­го, будет просто нечем распаковать дистрибутив, сжатый ZIP-архивом.

Наконец последний вопрос, который мне хотелось бы рассмотреть в данном разделе, - это вопрос о том, какое имя должен иметь готовый файл дистри­бутива, т. е. файл, который пользователи будут качать из Интернета. Есть три возможных варианта: оставить ему стандартное имя вроде setup.zip, дать имя на основе названия программы (предположим, abc.zip) и добавить ко второму варианту номер версии - например, abc20.zip будет означать вер­сию 2.0.

Первый вариант, конечно, отпадает: имя файла setup.zip ничего не скажет пользователю о названии программы, когда он скачает этот файл, а через некоторое время (например, наводя порядок на жестком диске) решит вы­яснить, что же он содержит.

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

Однако, при всех достоинствах, этот способ имеет большой недостаток. По­сле выпуска очередной версии программы ссылки на ее файл быстро рас­ползаются по всему Интернету: автор регистрирует программу в различных online-архивах, а некоторые архивы сами добавляют эту программу в свои базы данных. Но после того, как в свет выходит новая версия программы, имя файла меняется: ведь версия программы тоже изменилась. В результате все ссылки, которые стоят на файл программы на страницах интернет-каталогов программного обеспечения, компьютерных обозрений и других информационных ресурсов, перестают работать, и соответственно посетите­ли не могут скачать программу по этим ссылкам. С помощью небольшой настройки Web-сервера эту проблему можно решить, но не все авторы shareware-программ имеют возмож­ность произвести такую настройку. Чтобы хоть как-то поправить положе­ние, разработчику приходится писать письма администраторам соответст­вующих архивов или заполнять Web-формы с просьбой изменить ссылку на файл программы. Беда в том, что крупные архивы, как уже упоминалось (см. разд. "Периодичность выпуска" данной главы), могут обновить информа­цию о программе в своих базах данных спустя недели и даже месяцы после того, как получат соответствующие запросы, и все это время файл програм­мы не будет доступен для посетителей данных сайтов. И никто не знает, сколько зарегистрированных пользователей из-за этого недосчитается про­грамма. Учитывая сказанное выше, мне наиболее оптимальным представ­ляется вариант номер два: имя файла включает только название (или его аббревиатуру) программы, без номера версии. В таком случае название оста­ется более-менее понятным, а внешние ссылки на файл программы остают­ся рабочими при выходе новых версий программы. Правда, при поиске в файловых системах трудно будет найти конкретную версию данной про­граммы. Однако этим стоит пожертвовать ради того, чтобы внешние ссылки на файл программы сохраняли свою работоспособность после выхода ее но­вой версии: это окажется гораздо более выгодным в плане увеличения числа зарегистрированных пользователей.




Top