Программа для установки setup файлов
Я не являюсь профессиональным программистом. В том смысле, что не зарабатываю денег этим ремеслом, а использую свои навыки в качестве инструмента для основной, научной, деятельности. Поэтому все мои «поделки» живут лишь отведенный им на решение конкретной задачи период и не выходят за пределы каталогов проекта. Кроме того, уже довольно давно я отошел от разработки под ОС Windows, ибо Linux для решения моих задач более удобен.
Однако ученым тоже хочется кушать, прилично одеваться и заправлять машину. Поэтому (правда довольно редко) возникает необходимость немного пофрилансить.
Недавно мне подкинули не слишком сложный проект — одна фирма хочет написать аналог программы, имеющейся у другой. Немного реверсинга, немного кодинга, в целом проект вполне обыденный. Однако тут же возник вопрос о создании инсталлятора — клиент ведь желает продукт «под ключ», чтобы клацнуть на «сетап», понажимать «Далее» и получить готовую к работе программу.
Созданием инсталляторов я не занимался никогда. Поэтому данный вопрос был основательно «загуглен», в числе прочего попалась и такая статья с Хабра. Выбор средств для подобной задачи довольно широк, и включает как проприетарные, так и открытые продукты. Вот список того, что я «пощупал»
-
— классика жанра, достаточно солидный проприетарный продукт — проприетарный инструмент с широкими возможностями кастомизации через GUI. На сайте сказано, что если Вы блоггер и будете писать об этом продукте много хороших слов, то у Вас есть возможность получить Free License — открытый бесплатный продукт, основанный на XML-скриптах. Мощная, хорошо документированная штука. Разбираться с ним я пока не стал, ибо время дорого (да и к XML душа лежит не очень). Возможно когда нибудь я к нему вернусь. Да, к нему есть плагины для Visual Studio, что несомненный плюс. — опенсорсный проект, код которого доступен на гитхабе. В силу бесплатности и низкого порога вхождения мой выбор остановился именно на нем, как инструменте позволившем выполнить работу быстро и качественно.
Так что в статье мы будем рассматривать пример использования Inno Setup, для которого имеется полезный фронтэнд Inno Script Studio, позволяющий выполнять создание простых инсталляторов с помощью мастера и менять настройки через GUI. GUI понадобился мне для первого знакомства, с продуктом, но мы не будем уделять ему большого внимания — мой «линукс головного мозга» в последнее время всё больше и больше уводит меня от желания использовать разного рода «мастера» (это субъективно, прошу не пинать). Мы рассмотрим хардкорный способ написания скрипта с чистого листа.
Думаю, что скачать программу с официального сайта и установить её труда не составит. Запускаем Inno Setup Compiler и видим такое окно
Пугающе уныло встречает нас Inno Setup.
Что это? По сути это просто-напросто редактор для набора скриптов, снабженный подсветкой синтаксиса и кнопками компиляции и запуска. От нас ждут, что мы начнем набирать в этом окне текст скрипта, определяющий логику работы будущего инсталлятора. Ну так и не будем терять время.
Прежде всего определим необходимые константы
Тело скрипта разделяется на секции, каждая из которых несет свое функциональное назначение. Обязательная секция [Setup] задает глобальные параметры работы инсталлятора и деинсталатора.
Пристальное внимание уделаем опции AddId — уникальный идентификатор приложения (GUID), используемый для регистрации приложения в реестре Windows. Его пишем не «от фонаря», а генерируем, открывая фигурную скобку, и выбрав в меню пункт Tools -> Generate GUID (или используя хот-кей Shift + Ctrl + G). Далее указываем имя приложения, под которым оно будет установлено в системе, его версию, данные фирмы разработчика, адреса сайтов разработчика, технической поддержки и обновления.
Путь, по умолчанию предлагаемый инсталлятором для установки определяем опцией DefaultDirName. При этом переменная — это путь в каталог Program Files соответствующей разрядности. Опция DefaultGroupName определяет имя группы программы в меню «Пуск». Обратите внимание на то, что для указания имени приложения мы используем данное нами выше макроопределение Name, обрамляя его фигурными скобками и решеткой.
Пара опций OutputDir и OutputBaseFileName задают каталог, куда будет записан скомпилированный «сетап» и его имя (без расширения). Кроме этого, указываем где взять иконку для test-setup.exe опцией SetupIconFile.
Последние опции в этой секции определяют алгоритм сжатия (LZMA) и указывают, что все файлы сжимаются одновременно, а не по отдельности (SolidCompression) что ускоряет процесс распаковки при большом количестве однотипных файлов.
В хорошем исталяторе должна быть поддержка нескольких языков. Включаем её в наш «сетап», используя опциональную секцию [Languages]. При отсутствии данной секции будет использоваться английский язык.
Каждая строка в данной секции задает один из используемых при установке языков. Синтаксис строки таков
Параметр LicenseFile задает путь к файлу с текстом лицензии на соответствующем языке.
Обычно установщик предлагает нам, например, определится, хотим мы или не хотим создать ярлык на рабочем столе. Такие опции установки определяются необязательной секцией [Tasks]
Здесь Name задает имя операции — «desktopicom» — создание иконки на рабочем столе; Description — описание чекбокса с опцией, которое увидит пользователь. Конструкция
Теперь укажем, какие файлы надо включить в дистрибутив и где их надо поместить при установке. Для этого используется обязательная секция [Files]
- Source — путь к файлу-источнику. У меня всё необходимое программе для работы лежит в каталоге Release проекта MS VS
- DestDir — каталог установки, переменная содержит путь, выбранный пользователем в окне установщика
- Flags — разнообразные флаги. В нашем примере для исполняемого файла: игнорирование версии программы при перезаписи исполняемого модуля, если он уже существует в системе (ignorevarsion); для остальных файлов и каталогов так же игнорируем версию, рекурсивно включаем все подкаталоги и файлы источника (recursesubdirs) и создаем подкаталоги, если их нет (createallsubdirs)
Наконец, чтобы всё было красиво, опционально укажем компилятору, где брать иконки для размещения в меню программ и на рабочем столе
Тут я указываю, что для группы в меню «Пуск» и для рабочего стола иконку надо брать из исполняемого модуля. Естественно, что иконка должна быть в него «вкомпилена», иначе в требуемых местах мы увидим стандартный значок из коллекции винды.
Итак, всё вроде готово. Жмем Ctrl + F9 и пытаемся собрать инсталлятор. Если не допущены синтаксические ошибки, начнется процесс сборки
Inno Setup собирает инсталлятор
После успешной сборки инсталлятор можно запустить, нажав F9. Если Вы работаете под учеткой с ограниченными правами (а я работаю в винде именно так), то придется полезть в каталог с результатами компиляции, который мы указали в скрипте, и запустить инсталлятор с правами админа
Запуск инсталлятора под ограниченной учетной записью
В итоге мы увидим до боли знакомое каждому пользователю Windows окно выбора языка
приветствие мастера
лицензионное соглашение
ну и так далее. Приятно, что по умолчанию используется лаконичный дизайн мастера, без рюшечек (которые при желании можно добавить)
Ну что сказать? Ура! Мы написали свой первый «сетап» и могли бы радоваться, но
- Определиться с тем, как будем получать дистрибутив фреймворка. Тут есть два варианта — поставлять его вместе с дистрибутивом программы или, при необходимости установки загрузить его онлайн на целевую машину. Мы остановимся на варианте включения фреймворка в дистрибутив. Сам фреймфорк, скажем версии 4.0, можно взять бесплатно у Майкрософта
- Детектировать наличие/отсутствие данного фреймфорка в целевой системе. Для этого потребуется написать логику, анализирующую состояние системного реестра.
Значения в реестре, которые необходимо проверить приведены в официальной документации Microsoft, в статье я приведу краткую выжимку из неё
хотя можно набить код и непосредственно в секции [Code]. Надо помнить, что внутри этой секции используется синтаксис Pascal, и комментарии предваряются последовательностью "//" вместо используемой в основной части скрипта точки с запятой.
Не смотря на обилие кода, логика его работы достаточно проста — в зависимости от значения параметра version с помощью функции RegQueryDWordValue(. ) читается значение соответствующего ключа реестра и сравнивается с требуемым значением (смотрим таблицу 1). Для версии 4.5 дополнительно передаем номер релиза в параметре release.
Для того, чтобы перед началом установки проверить наличие фреймворка и сообщить пользователю о предпринимаемых действиях используем Callback-функцию InitializeSetup()
Сам запуск инсталляции фрейворка можно выполнить после установки основной программы, поэтому включаем в скрипт секцию [Run], в которой указывается, что необходимо запускать по окончании установки
Обратите внимание на то, что мы сначала указываем имя секции [Run], чтобы закрыть секцию [Code], а затем пишем комментарий начинающийся с точки с запятой. Это необходимо из-за различия синтаксиса основного скрипта и секции [Code], в противном случае при компиляции мы получим синтаксическую ошибку.
Майкрософт просит нас принять лицензию.
Я не профессионал и во многих вещах могу ошибаться. Прошу отнестись к этому с пониманием. Статья писалась нубом для нубов, её основная цель — задать вектор поиска при решении задачи написания инсталлятора. За остальными вопросами можно обратится к документации, поставляемой вместе с Inno Setup.
Код данного примера доступен в моем репозитории на Github. «Кракозябры» в комментах вызваны несовпадением кирилических кодировок. Для себя всегда пишу английские комментарии, но для лучшего понимания кода допустил этот ляп. При скачивании в винде всё просматривается замечательно, так что прошу простить мне и эту несуразность.
В остальном, полагаю «хаутушка» вышла достойной и благодарю за уделенное мне внимание.
Ускоряет систему, реестр и доступ в Интернет. Оптимизирует, чистит и исправляет все проблемы с ПК в 1 клик. Выявляет и удаляет шпионские и рекламные модули.
Программа - победитель многих конкурсов. Подробнее
UPX - бесплатный, портируемый упаковщик исполняемых файлов. Поддерживает множество форматов, включая COM, EXE, SYS. После упаковки UPX-ом Ваши файлы занимают минимум места на диске и распаковываются непосредственно в память при запуске программы.
get_app35 213 | Бесплатная |
Это профессиональный инсталлятор программ который позволит Вам с легкостью создавать великолепные установочные программы для Ваших Windows приложений.
get_app13 744 | Условно-бесплатная |
DeployMaster - программа позволяет создавать инсталляционные пакеты для вашего программного обеспечения под Windows.
get_app5 512 | Условно-бесплатная |
InstallAware - платформа для автоматического создания установочных пакетов в среде Visual Studio.
get_app2 251 | Бесплатная |
Inno Setup - бесплатный инструмент для создания инсталляторов с большим количеством полезных функций. Позволяет определить все записи в файлах реестра и инициализации, задавать автозагрузку будущего приложения. Оснащает каждый дистрибутив деинсталлятором.
get_app75 633 | Бесплатная |
Утилита для обеспечения переносимости qt С++/C программ, которая позволяет извлекать все зависимые библиотеки исполняемого файла и создавать сценарии запуска для разрабатываемого приложения. Отличается гибкостью, высокой скоростью работы и кроссдеплоем.
get_app716 | Бесплатная |
CreateInstall Light является очень удобным инсталлятором и позволяет создавать установки с хорошим интерфейсом и со всеми наиболее важными возможностями.
get_app6 252 | Условно-бесплатная |
CreateInstall - универсальный, гибкий и мощный инсталлятор как для профессиональных разработчиков, так и для начинающих. С помощью этой программы Вы можете создать полнофункциональные инсталляционные программы для Ваших приложений.
get_app11 650 | Условно-бесплатная |
EMCO MSI Package Builder - отличный редактор для разработчиков программного обеспечения, предназначенный для легкого и быстрого создания пакетов MSI.
get_app1 526 | Условно-бесплатная |
Cameyo - отличное приложение для создания портативных версий любых программ и утилит.
get_app12 600 | Бесплатная |
Exe to MSI converter преобразует обычные инсталляторы .exe в MSI (Microsoft Software Installer) пакеты. Вы также можете создавать сценарии автоматической установки программ.
get_app11 163 | Демо версия |
Nullsoft Install System (NSIS) - программа предназначена для легкого и быстрого создания профессиональных инсталляционных файлов.
get_app16 892 | Бесплатная |
Free UPX - графический интерфейс для UPX (the Ultimate Packer for eXecutables). Позволяет сжимать и распаковывать файлы, производимые в соответствии с Microsoft Portable Executable и COFF Спецификации (EXE, DLL, OCX, BPL, CPL и др.).
get_app6 211 | Бесплатная |
ABTool - приложение для быстрой и комфортной установки пакетов часто используемых программ, а также запуска разнообразных утилит для диагностики характеристик компьютера.
get_app2 782 | Бесплатная |
McRip SystemFiles - инсталляционный пакет обновления самых необходимых программ и утилит, без которых невозможно полноценное функционирование системы.
Inno Setup - эта программа представляет собой многофункциональный инструмент для создания исполняемых (ЕХЕ) файлов, имеющий в своем арсенале множество полезных функций. Например, при создании нового дистрибутива поможет специальный "мастер" (wizard), а в процессе вы можете настроить множество различных параметров.
Кроме этого, эта утилита позволяет определить все записи в файлах системного реестра и инициализации, выбрать, будет ли программа автоматически загружаться с запуском операционной системы и добавлять свою пиктограмму в меню "Пуск", а также оснащает каждый дистрибутив системой корректного удаления из системы.
- Улучшения в работе программы
- Исправлены ошибки
Inno Setup - бесплатный инструмент для создания инсталляторов с большим количеством полезных.
UPX - бесплатный, портируемый упаковщик исполняемых файлов. Поддерживает множество.
Cameyo - отличное приложение для создания портативных версий любых программ и утилит.
Smart Install Maker - мощная программа для создания инсталляторов. Обладает простым и понятным.
InstallAware - платформа для автоматического создания установочных пакетов в среде Visual Studio.
Exe to MSI converter преобразует обычные инсталляторы .exe в MSI (Microsoft Software Installer) пакеты. Вы также.
Отзывы о программе Inno Setup
Илья про Inno Setup 6.0.5 [13-01-2022]
на официальном сайте пытался скачать дискорд, скачалась эта прога и установила мне танки и ещё какое-то г*вно, ущербы.
| | Ответить
Евгений про Inno Setup 6.0.2 [25-02-2020]
Вообще непонятно как включить русский язык, или его вообще нет?
1 | | Ответить
ToLi@ про Inno Setup 5.5.9 [16-05-2018]
Ужасная программа. Нет русского языка, непонятно, а файлы сохраняет не в .exe а в .iss.
2 | 7 | Ответить
Олегович в ответ ToLi@ про Inno Setup 6.0.4 [22-03-2020]
Иди уроки учи, и всё работает чётко!
3 | | Ответить
Нет русского. Болтуны блин.
5 | 5 | Ответить
Safonov про Inno Setup 5.5.9 [29-05-2016]
Программа то хорошая, слов нет. Но после инсталляции антивирусы 360, Avira и другие многие файлы определяют как вирусы.
5 | 4 | Ответить
MultiSetup (рус. «Мультисетап») – продвинутый установщик для Windows, аналог InstallPack. Программа предназначена для быстрого выбора необходимых компьютеру приложений, их скачивания и инсталляции. С помощью русского MultiSetup можно в несколько кликов установить огромное количество программ. Особенно она полезна при покупке нового железа и необходимости быстро оснастить его ежедневно используемым софтом.
Установка MultiSetup
Чтобы загрузить на компьютер установочный файл, произведите следующие действия:
Настройка MultiSetup
Данная программа не требует инсталляции (она портативная), поэтому при двойном клике на скачанный файл вы сразу получите доступ ко всем её функциям. Основное окно MultiSetup содержит в себе следующие элементы:
- Список доступных для загрузки и инсталляции Windows-утилит;
- Информация о требуемом для установки дисковом пространстве;
- Выбор папки назначения загружаемых файлов;
- Ссылка на лицензионное соглашение MultiSetup.
Стоит отметить, что для установки через MutliSetup доступно огромное количество приложений для Windows.
Категории программ
Вот их основные категории:
- Безопасность (антивирусы, фаерволы, прокси-серверы и др.);
- Офис (офисные пакеты, архиваторы, софт для расчётов и черчения и др.);
- Интернет (браузеры, мессенджеры, торрент-клиенты, почтовые клиенты и др.);
- Мультимедиа (плееры, графические и 3D-редакторы, кодеки, звуковые редакторы и др.);
- Система (работа с дисками, очистка от ненужных файлов, различные тесты оборудования, восстановление файлов и др.);
- Драйверы (необходимое программное обеспечение для кулеров, видеокарты и другого оборудования);
- Игры (настройка игрового оборудования, софт для игровых платформ);
- Разработка (средства поддержки для веб-разработчиков).
Автоустановка программ
После выбора необходимых для инсталляции приложений, нажмите кнопку «Далее». Вы увидите список выбранных утилит и их размер, после чего нажмите кнопку «Начать установку». После этого будет произведена загрузка инсталляционных файлов необходимых приложений.
Как только установочный файл первого приложения будет скачан, откроется мастер его установки, через который вы сможете настроить ту или иную программу под свои нужды. После того, как установка будет произведена в отношении всех утилит, нажмите кнопку «Завершить».
Особенности MultiSetup
Плюсы
- Огромный выбор устанавливаемого софта;
- Не нужно искать инсталляционные файлы в интернете (для некоторых программ это бывает очень сложной процедурой);
- Надёжные репозитории приложений.
Минусы
- отсутствие «тихого режима» установки – каждую программу надо устанавливать вручную.
Выводы
MultiSetup на русском языке отлично подойдёт для нового оборудования, на которое нужно быстро установить большое количество программного обеспечения. Также рекомендуем ознакомиться с MultiSetup новичкам в деле инсталляции софта, т.к. она значительно облегчает процесс оснащения компьютера необходимыми для комфортной работы приложениями.
Мы рекомендуем скачать бесплатно MultiSetup для Windows с официального сайта, чтобы максимально ускорить процесс установки софта на ваш ПК.
InstallPack (рус. «Инстал Пак») — это портативный мультиустановщик необходимого ПО для ОС Windows, позволяющий быстро скачать и установить необходимые программы. Как утверждает разработчик, данная утилита вмещает в себя более 700 программ в одном инсталляторе и не засоряет реестр компьютера.
В InstallPack для Windows собраны самое разнообразное ПО, начиная от клиента uTorrent и заканчивая Яндекс Браузером.
Интерфейс
Окно инсталлятора на русском языке и выглядит как список программного обеспечения, доступного для установки. Справа от названия находится краткое описание утилиты, ее рейтинг, размер и статус (бесплатная, условно-бесплатная или платная).
Слева от списка пользователь может выставить необходимые галочки, после чего отмеченные программы из общего списка переместятся в раздел выбранных.
Выбор программ для установки
Вверху окна расположен поиск, если необходимо скачать что-то конкретное, а также разделы: например, Must have, мультимедиа или драйвера. Здесь же можно выбрать режим «тихой установки». В правом верхнем углу окна указано количество выбранных утилит и свободное место на диске.
Особенности
Преимущества
- Приложение портативно и не засоряет реестр;
- InstallPack скачивает на ПК новейшие версии программ;
- В установщик не входит пиратское ПО, а значит, отсутствуют вирусы;
- Возможность поиска необходимого программного обеспечения;
- Утилиты рассортированы по группам: на случай, если вам необходимо скачать только драйвера или антивирус.
Недостатки
- Отсутствует кнопка «выбрать все»;
- Не совсем понятно, откуда берется рейтинг программ, так как сам пользователь оценку поставить не может;
- Утилита не разворачивается на полный экран, из-за чего описание видно не полностью.
Вывод
InstallPack не вызывает никаких подозрений: новейшие версии ПО качаются с официальных сайтов, что исключает возможность заражения ПК. При установке предлагается установить программы от партнеров, но галочки для снятия полностью исправны. Помимо всего этого инсталпак имеет функцию «тихой установки», из-за чего им удобно пользоваться при переустановке Windows.
Таким образом, программа существенно экономит время, потраченное на скачивание и установку нового ПО, поэтому мы рекомендуем скачать InstallPack для Windows 7 или 10.
Читайте также: