Инсталляторы которые мы выбираем
Накодив крутую прогу мы спешим выложить ее в инет на всеобщее
юзание. Снабдив свою прогу новейшми технологиями и модным интерфейсом,
нельзя забывать, что прежде, чем юзер сможет все это оценить, ему
придется скачать и установить наше творение. Со скачиванием мы ему
ничем помочь не сможем, а вот процесс установки уже в наших руках.
В простейшем случае эту рутинную процедуру может выполнить архиватор
или созданный им SFX-архив. Однако современный софт обычно требует для
своей работы многих подготовительных действий, кроме распаковки или
копирования, и возлагать обязанность их выполнения на юзера не принято. Инсталляция продвинутой софтины на комп юзера не сводится к
разархивированию файлов в указанную юзером папку и созданию ярлыков
к ехешникам.
Во-первых, у каждой проги есть какие-либо зависимости,
т. е. файлы, которые должны присутствовать на компе для нормальной
работы проги, или, говоря по научному, окружение выполнения.
Как создать свой установщик?
Например, любая прога, написанная на Visual C++ с использованием MFC
требует MFC**.DLL, где ** — номер версии С++, кроме того любая прога
написанная на С++ без специальных ухищрений, требует MCVC***.DLL, где
находятся стандартные функции языка С++. Поскольку такие файлы
используются очень многими прогами, их помещают в системную папку,
чтобы не делать их копий для каждой проги. Инсталлятор должен помещать
туда эти файлы и, если они там уже есть, проверять их версии и
обновлять файлы, если необходимо. Во-вторых, может требоваться проинициализировать какие-нибудь
настройки программы, например, заполнить список закладок браузера.
Настройки могут храниться в реестре и в INI-файлах. Значит, инсталлятор
должен уметь с ними работать. В тех же местах могут храниться пути
установки различных прог, которые могут потребоваться в процессе
установки. Например, если мы устанавливаем плагин к WinAmpу, то его
желательно установить в папку плагинов WinAmpа, не спрашивая ее путь
у юзера, который может его и не знать. Еще инсталлятор должен регить
COM-объекты, если таковые устанавливаются вместе с прогой. Наконец, в-третьих, желательно создать деинсталлятор, работа
которого, опять-таки не сводится к удалению папок и всего их
содержимого. Итак, вот окончательный список требований к инструментам для
создания дистрибутивов:
1) Установка различных файлов в специальные папки (system32,
Application data и т.д.)
2) Создание записей в реестре и INI-файлах
3) Вызов саморегистрации COM-серверов
4) Создание деинсталлятора, проделывающего действия,
противоположные к выше перечисленным.
5) Настраиваемый гуй (splash-screen, логотипы, цвета, шрифты)
6) Все данные и код дистрибутива должны представлять собой
один файл, не требующий предварительной установки чего-либо, что
КАК СОЗДАТЬ ДИСТРИБУТИВ (ИНСТАЛЛЯТОР) ПРОГРАММЫ
не устанавливается вместе с виндой.
И еще одно требование, характерное для российской среды, — это
бесплатность
Далее перечислены некоторые продукты, полностью или частично
удовлетворяющие этим требованиям, в порядке увеличения их гибкости и
полезности.
Visual Studio Installer (Входит в комплект Visual Studio)
Делает все, кроме пунктов 5 и 6. И именно это все портит, так как для
распространения софта в сети каждая прога должна быть строго одним
файлом, а внешний вид, имхо, должен содержать что-нибудь уникальное.
Зато он автоматически вытаскивает из
проекта зависимости и перекомпилирует его перед компиляцией дистрибутива.
Virtual Speed Installation Creator (http://www.vsic.narod.ru)
free
Прога отвечает своему названию: работать с ней — быстро. Вводишь
название твоей проги, папку с файлами, которые нужно положить в
дистрибутив, а остальные параметры можно оставить по умолчанию, и
уже можно запускать компиляцию. Язык инсталлятора может быть русский или английский.
Можно указать цвета фона, картинки и иконку инсталлятора.
Нет саморегистрации COM-компонентов. Основной недостаток в том, что все файлы, включаемые в дистрибутив,
должны находиться в одной папке.
Возможности те же, что и у VSIC, только здесь можно добавлять файлы в
инсталлятор, не копируя их в папку с проектом. Однако, вместо одного
недостатка появляется другой: файлы
добавляются по одному. То есть нельзя выделить сразу несколько файлов и нажать «Открыть». Представь,
что у тебя проект, сравнимый по размаху с MS Office. Придется Несколько
сотен раз в диалоге открытия файлов отыскивать путь к папке Release.
Installer2Go (http://dev4pc.com) shareware
Без регистрации создаваемые инсталляторы показывают окно с рекламой.
Это уже значительно более продвинутый инсталлятор. Тут помимо
создания записей в реестре есть возможность добавлять/изменять переменные
окружения, запускать службы, создавать источники данных ODBC и запускать
Java и VB скрипты во время установки. На вкладке «Файлы» отображается дерево файловой системы компа, на
который будет производиться установка, и там
присутствуют все специальные папки. На вкладке «Ярлыки» тоже дерево файловой системы, но
там по умолчанию отображаются папки, в которые обычно устанавливаются
ярлыки: рабочий стол, меню «Пуск» и панель быстрого запуска.
Чтобы не запутаться в этой куче настроек авторы
предусмотрели мастер, который шаг за шагом проведет тебя через процесс создания инстллятора.
Inno Setup — это пример другого подхода к созданию инсталляторов. В нем
реализован скриптовой язык, который по своей структуре напоминает
INI-файлы. Весь скрипт разделен на секции, имена которых пишутся
в квадратных скобках. Большинство возможностей инсталлятора реализуются
путем написания функций на языке Pascal и размещением их в секции
Code. Для обработки паскалевских скриптов автор написал свой собственный
компилятор, который, кстати, можно использовать отдельно от Inno Setup.
NullSoft Install System (http://nsis.sourceforge.net) open-source
Сколькими языками программирования ты, уважаемый читатель, владеешь?
Теперь этот список пополнит язык скриптов NSIS, потому что NSIS — это
еще один инструмент создания дистрибутивов, для использования которого
необходимо написать скрипт. NSIS был написал специально для создания дистрибутивов
WinAmp. Сейчас NSIS очень распространен. Например, на нем сделан setup для
виндовой версии PHP. Язык NSIS намного проще языков программирования общего назначения,
но зато в нем все основные действия делаются одной
командой. Выучить этот язык можно за один день. Если его возможностей не хватает, можно
написать плагин. Несколько плагинов входят в комплект. Например,
реализовать splash-screen можно с помощью двух разных плагинов:
splash и advsplash. Действия, выполняемые деинсталлятором, тоже
необходимо явно прописать в скрипте.
Подходя к вопросу о создании инсталлятора философски, можно утверждать,
что самый гибкий способ его создания — это написать его на С++. Однако,
наилучшее соотношение между гибкостью и удобством обеспечивает
NSIS. Когда не лень немного поработать ради удобства юзера это, имхо, NSIS is
the best. Если нужно за минуту создать дистрибутив для крупного проекта,
то Installer2Go будет наилучшим вариантом. Ну а если работать вообще
лень, юзай RAR
Источник: xakep.ru
InstallShield
Если ваше программное обеспечение предназначено для Windows, InstallShield — ваше решение.
InstallShield разработан, чтобы позволить командам разработчиков быть более гибкими, совместными и гибкими при создании надежных установок InstallScript и Windows Installer (MSI) для ПК, серверов, веб-приложений и виртуальных приложений. InstallShield — единственный установщик программного обеспечения, который может напрямую преобразовывать MSI в виртуальные пакеты Microsoft App-V.
Источник: progsoft.net
Применение инсталлятора приложений для OS Windows в разработке корпоративных решений
На одном из проектов перед нами стояла задача создания приложения для Windows, которое должно управлять пользовательскими сессиями в компьютерном клубе.
Приложение состоит из двух компонентов:
- Оболочка — приложение с графическим интерфейсом, взаимодействующее с пользователем. Компонент реализован с помощью библиотеки ReactJS и фреймворка Electron.
- Служба на Java, которая работает “незаметно” для пользователя и выполняет ряд задач бизнес-логики приложения. Служба также следит за тем, чтобы процесс оболочки всегда был запущен.
Одним из требований к продукту было обеспечить простоту установки программного обеспечения, а значит необходимо было найти решение для автоматизации процесса установки компонентов и настройке окружения.
Сложность заключалась в том, что приложение должно работать в отдельно созданной учетной записи Windows. У учетной записи не должно быть администраторских прав. Пользователь, работая под этой учетной записью, должен взаимодействовать с системой через разработанную нами “оболочку”.
Настройку учетной записи, установку и запуск службы, а также все необходимые дополнительные файлы мы поместили в инсталлятор.
Инструмент для создания инсталляторов Inno Setup
Для создания инсталлятора был выбран инструмент Inno Setup.
Inno Setup — один из самых мощных инструментов для создания инсталляторов. За 20 лет своего существования он заслужил популярность среди разработчиков ПО и “репакеров” — людей, которые модифицируют установочные файлы.
Этот инструмент поддерживает работу с реестром, выполнение дополнительных программ на любом этапе установки, и возможность использования Pascal scripting для обращения к Windows API. Хотелось бы отметить множество статей и руководств по использованию, в том числе на русском языке. И довольно активное сообщество пользователей, к которым можно обратиться за советом, посмотреть примеры, прочитать о проблемах с которыми они сталкивались и как их решали.
Скачать бесплатно стабильную версию Inno Setup Compiler можно с официального сайта. Там же можно найти FAQ и документацию на английском языке и сторонние библиотеки, упрощающие процесс создания Inno Setup Script (.iss).
Классическое приложение Inno Setup Compiler поддерживает два режима создания скрипта.
Самый простой и понятный — мастер автоматического создания скриптов.
С помощью мастера можно создать готовый установочный файл, добавить ярлыки приложения, лицензионное соглашение, инструкцию по установке, поддержку разных языков установки. Если необходима дополнительная настройка или кастомизация страниц установки, придется поработать со скриптом.
Inno Setup Script делится на несколько секций по зонам ответственности в процессе установки.
Большинство секций содержат строки, разделенные на параметры. Каждый параметр состоит из имени, за которым следует двоеточие, а затем значение. Если не указано иное, параметры являются необязательными, поскольку в случае отсутствия они принимают значение по умолчанию. Несколько параметров в строке разделяются точкой с запятой и могут быть перечислены в любом порядке.
Настройка окружения во время установки
Итак, мастер установки уже решил задачу упаковки службы и оболочки в один запускаемый файл, но пока остается открытой задача создания новой учетной записи, настройки доступов и очистки компьютера при удалении приложения.
Для создания и настройки новой учетной записи Windows была использована секция [Code]. В этой секции Inno Setup позволяет запускать Delfi-подобный код на Pascal Script. Здесь можно выполнять дополнительную настройку или дополнительные действия в зависимости от фазы установки или системных событий.
В нашем случае создать учетную запись было недостаточно. Для дальнейшей настройки нужно было сразу же получить SID (секретный идентификационный номер) нового пользователя.
Полученный SID мы использовали в специальной секции [Registry], которая предназначена для работы с реестром.
Мы записываем в реестр новому пользователю оболочку как shell, чтобы она загружалась автоматически вместе с профилем пользователя. Также с помощью полученного SID мы дополнительно блокируем для этого пользователя редактор реестра.
Одновременно оставляем администратору возможность настраивать и обслуживать пользовательскую машину.
С помощью этой секции мы:
- Сделали учетную запись пользователя загружаемой по умолчанию. (строки 194-201)
- Добавили нашу оболочку в системные переменные, чтобы служба не зависела от физического расположения exe файла при перезапуске процесса оболочки. (строки 206-208)
- Заменили новому пользователю explorer.exe на нашу оболочку. (строки 210-213)
- Запретили запускать редактор реестра. (строки 215-218)
- Отключили анимацию с приветствиями windows при первой загрузке профиля. (строки 220-227)
Флаг “uninsdeletevalue” показывает, что это значение ключа должно быть удалено вместе с программой при деинсталляции. Таким образом при удалении программы очищаются и назначенные значения ключей реестра.
Установку и запуск службы мы обеспечили в секции [Run]. Код из этой секции выполняется в конце установки. Так мы добились установки и запуска системной службы в процессе установки графического приложения.
Зеркально секции [Run] существует секция [UninstallRun]. В секции [UninstallRun] указаны команды и файлы, которые необходимо выполнить при удалении приложения. Мы использовали её для остановки и удаления службы, которая будет не нужна, если необходимо будет удалить “оболочку”.
Вывод
После того, как создан какой-то продукт, необходимо подумать о том, как передать его потребителю. В случае приложений для Windows — сделать один исполняемый файл, чтобы пользователь мог его запустить, подождать завершения установки и работать не отвлекаясь на дополнительную настройку. Современные инструменты для создания инсталляторов дают широкие возможности для того, чтобы “незаметно” для пользователя сделать все необходимые действия во время установки программы.
С помощью инсталлятора Inno Setup мы решили следующие задачи:
- Упаковали все файлы службы и оболочки в один единственный .exe файл.
- Добавили иконки приложения на рабочий стол и в меню “Пуск”.
- Создали учетную запись пользователя и настроили все необходимые разрешения.
- Настроили окружение и корректное удаление программы.
- Предоставили пользователю возможность выбрать удобный язык установки приложения.
Дополнительные ресурсы
Ресурсы, которые очень помогли в освоении этого инструмента:
- Тема для обсуждения скриптов на русскоязычном форуме. На данный момент тема разрослась уже на 9 частей. Там можно найти много интересных примеров или попросить совета.
- Мануал по созданию инсталлятора при помощи Inno Setup.
Источник: jazzteam.ru
Программы создания инсталляторов что это
WiX Toolset — полезным коллекция инструментов для многих программистов, которые создают инсталляторы для приложений. Этот набор утилит командной строки предназначен для обработки ряда файлов, а также для автоматизации процесса сборки каждого выпуска. При создании каждой новой программы программисты имеют дело с несколькими ресурсами, файлами с исходным кодом и библиотеками.
Все эти файлы должны находиться в одном каталоге для успешного функционирования созданного приложения. Подготовки развернутого пакета является важным шагом. WiX Toolset представляет ряд утилит, необходимых для предварительной обработки, компиляции, компоно.
Ghost Installer — компактное приложение, разработанное для создания пакетов-установщиков. Благодаря такой программе можно создать любую оболочку для инсталляции определенной программы. Установщик поддерживает неограниченное количество диалоговых окон. Создаваемые пакеты-установщики способны проверять реестр операционной системы на наличие нужных записей.
Ghost Installer позволяет редактировать конфигурационные файлы инсталлируемых программ. Также можно настроить показ различных объявлений в процессе установки. Любую нужную программу можно значительно сжать, тем самым уменьшив размер конечного пакета. При желании пользователь им.
Advanced Installer — профессиональная программа, разработанная специально для создания пакетов Windows Installer. Этот инструмент поставляется с множеством полезных функций. Современный интерфейс помогает создавать установочные пакеты. Advanced Installer в состоянии генерировать MSI файлы. Программа связывает все необходимые функции для создания инсталляционных пакетов.
Пользователь может добавлять информацию о деталях продукта. Поддерживает создание INFO, а также позволяет идентифицировать программное обеспечение. Можно выбрать папки установки и параметры и добавить цифровую подпись в пакеты. Приложение показывает изображения.
IzPack – удобная программа для генерации установщиков, работающая с платформой Java. Генератор создаёт качественные инсталляторы, которые будут работать везде, где поддерживается виртуальная платформа Java.
От операционной среды компьютера зависит метод запуска приложения: простым двойным щелчком либо из командной строки системы посредством запуска исполняемого файла с нужным расширением .jar. Главным достоинством IzPack является возможность создания проектов, для распространения среди пользователей, работающих в различных операционных оболочках. Программа создана модульной и гибкой, имеет малый вес. Пользователь может определи.
Clickteam Install Creator – простой в использовании, удобный продукт для профессиональных создателей приложений. Позволяет создавать удобный инсталляционный пакет для любого необходимого проекта. В программе доступен режим wizard, который позволяет добавлять нужные файлы в инсталляцию, задавать путь инсталляции и добавлять лицензионное соглашение.
Позволяет создавать сжатый установочный .ехе файл. Пользователь может добавлять любые иконки, логотипы либо текст, регулировать дополнительные опции такие, как DLL, TLB, OCX, REG регистрации, установка нужных шрифтов, ярлыки на рабочий стол. Clickteam Install Creator имеет возможность.
Actual Installer — инсталлятор приложений для профессиональных пользователей, позволяющий легко и просто создавать первоклассные пакеты-установщики для программ Windows. Удобный и мощный создатель EXE-формата позволяет также тестировать пользовательские установщики. Actual Installer является свободным небольшим приложением.
Пользовательский интерфейс весьма дружественный и делится на несколько частей. Новички могут воспользоваться встроенным мастером для обучения, чтобы настроить специальные параметры. Приложение позволяет создавать новый пакет установщика, с внесением такой информации как название продукта, имя компании, веб-с.
Windows Post-Install Wizard или WPI – пользовательская утилита, позволяющая собирать все нужные для инсталляции программы в одном WPI-пакете. Программа даёт возможность создать один образ, который в дальнейшем можно автоматизировать и настраивать под свои нужды. Утилита проста и делает несложной работу по инсталляции большого количества программ, скриптов и твиков.
Приложение избавит пользователя от большого количества дисков и подойдёт для системных администраторов. Её можно использовать на многих компьютерах с разными операционными оболочками Windows. Мастеру Windows Post-Install необходим один, два компакт-диска или флеш-нак.
CreateInstall – функциональная программа, позволяющая опытным и начинающим разработчикам контролировать процессы установок приложений. Утилита даёт возможность пошагово наблюдать за процессом инсталляции. Она способна создавать установочные пакеты с хорошим сжатием и быстрой распаковкой. Внешний вид программы не вызывает сложностей, он понятен как новичку, так и профессионалу.
Использование языка Gentee даёт программе неограниченные возможности. Функционал приложения позволяет выбирать различные алгоритмы сжатия, изменять вид диалоговых окон, добавлять элементы. Возможность добавления функций делает инсталлятор незаменимым помо.
NSIS — это профессиональная система которая предназначена, чтобы создавать инсталлеры для различных версий ОС Windows. Программа была создана с максимально возможной гибкостью и минимальным размером. NSIS также имеет уникальные способы сжатия (ZLib, BZip2, LZMA), и пользователь может выбрать любой из них. Поддержка скриптов позволяет создавать более продвинутые инсталляторы.
Например, появляется возможность проверять наличие обновлений, при установке и проверки данной версии. NSIS поддерживает более 40 языков и позволяет работать в одном инсталляторе с разными языками. Также важно заметить, что пользователь может добавить свой .
InstallSimple – программа которая позволит любому пользователю создать инсталлятор. Имеет множество возможностей, которые будут предоставлены пошагово. Инсталлятор будет выглядеть как стандартный инсталлятор Windows, но при этом его можно персонализировать. Например добавить заглавную картинку, далее имя и все детальные данные при желании.
Как и в других инсталляторах, здесь можно выбрать место куда распаковать данные, создавать ярлыки на рабочем столе, добавлять дополнительные возможности после инсталляции и многое другое. Можно добавить информацию о совместимости, например совместимость с какой либо операционной системой. Так.
Inno Setup — программа для создания установочных пакетов, которая может пригодиться для более удобного распространения собственных программ, либо для превращения портабельной версии программы в установочную. Программа является бесплатным решением, однако по своим возможностям Inno Setup может конкурировать со многими платными аналогами. А возможности у программы достаточно обширные.
Прежде всего, Inno Setup поддерживает работу с реестром. Вы можете задать, какие записи нужно внести в реестр, а какие удалить. Такую же операцию можно проделать с ярлыками программ. Кроме того, вы можете создать несколько ярлыков, например.
Источник: xetcom.net