Как упаковать приложение в установщик
Или вы можете пофантазировать и вместо этого создать установщик EXE.
В этом посте мы рассмотрим три различных способа создания EXE: самораспаковывающийся пакет, простой установщик с использованием встроенного IExpress и расширенный установщик с помощью настраиваемой Inno Setup.
1. Создайте быстрый EXE-файл с помощью 7-Zip.
Вероятно, вы уже используете 7-Zip для извлечения всех видов архивных файлов и знаете, что 7-Zip может создавать архивные файлы, но знаете ли вы, что вы также можете использовать его для создания EXE-файла, который действует как установщик?
Он называется SFX-архивом (самораспаковывающимся) и работает, сжимая все ваши конечные файлы вместе, а затем встраивая в архив специальный EXE-файл, который знает, как все распаковать.
Другими словами, получатель может извлечь SFX-архив (который выглядит как EXE-файл), даже если у него нет нужного программного обеспечения, что может случиться с такими форматами, как 7Z, RAR, TAR и ZIP.
Вот как создать SFX-архив с помощью 7-Zip:
Обратите внимание, что SFX-архивы не являются настоящими файлами установщика. Они не помещают извлеченные файлы в назначенный целевой каталог. Они не изменяют реестр Windows. Кроме того, они не создают журналы установки и не отображаются как установленное программное обеспечение в приложении «Удалить». Это буквально архивные файлы, оформленные как EXE-файлы.
2. Как использовать IExpress для простого создания EXE
Как и 7-Zip, описанный выше, этот метод создает самораспаковывающийся архив, но с двумя основными отличиями: во-первых, конечный пользователь будет проходить через многостраничный мастер установки, а во-вторых, конечный пользователь может указать целевой каталог для куда инструмент извлечет файлы.
И вот как вы создаете свой установщик EXE с помощью IExpress:
Ваш пакет будет создан через несколько минут. Обратите внимание, что у IExpress есть некоторые особенности и проблемы:
Из-за этих странностей мы рекомендуем вместо этого использовать метод, описанный ниже.
Связанный: Что такое GUI (графический интерфейс пользователя)?
3. Лучший способ создать EXE: используйте Inno Setup.
Теперь выполните следующие действия, указанные ниже:
На странице настроек компилятора вы можете настроить EXE-файл установщика:
После настройки параметров нажмите Готово. Когда будет предложено скомпилировать новый сценарий, нажмите Да. Когда будет предложено сохранить сценарий, выберите Нет, если это одноразовый файл установщика. Выберите Да, если вы планируете изменить или обновить его позже.
Подождите, пока процесс завершится, и вуаля, у вас будет с собой исполняемый файл.
Какой метод лучше всего подходит для создания установщика EXE?
Если у вас базовое программное обеспечение или вы собираетесь распространять его среди ограниченного числа людей, используйте метод 7-Zip. Это просто, быстро и практически не требует технических знаний.
Если ваше программное обеспечение несколько простое, и вы хотите предоставить конечным пользователям настоящий мастер установки, воспользуйтесь методом IExpress. Наконец, выберите приложение Inno, если у вас сложное программное обеспечение и вы знаете, что делаете.
В этой статье показано, как вручную создать файл установщика приложения, который определяет связанный набор с возможностями автообновления и восстановления. Связанный набор — это не один объект, а сочетание основного и дополнительных пакетов.
Чтобы получить возможность установить связанный набор как один объект, необходимо указать основной и дополнительные пакеты как один объект. Для этого необходимо создать XML-файл с расширением appinstaller , чтобы определить связанный набор. Установщик приложений использует файл *. appinstaller и позволяет пользователю установить все определенные пакеты одним щелчком мыши.
Во время развертывания файл установщика приложения будет:
- пакет приложения Windows, на который ссылается URI атрибут <> элемента маинпаккаже, будет проверять Name Publisher и Version атрибуты целевого Windowsного пакета приложения. если элемент пакета или удостоверения в манифесте пакета приложения Windows не совпадает, установка завершится ошибкой.
- Создайте ссылку на обновления и исправьте URI для семейства пакета.
Инструкции по созданию файла Установщика приложений.
Чтобы распространить связанный набор как одну сущность, необходимо создать файл установщика приложения, содержащий элементы, необходимые для схемы установщика приложений.
Пример файла установщика приложения
Выполнив приведенные выше действия, вы успешно создали файл установщика приложения, который будет выглядеть следующим образом:
Шаг 1. Создание файла *.appinstaller
С помощью текстового редактора (Notepad.exe) создайте новый файл с расширением имени файла *. AppInstaller
Руководство.
- Откройте меню "Пуск".
- Введите следующее: notepad.exe .
- Откройте меню файл .
- В раскрывающемся меню выберите команду Сохранить как .
Шаг 2. Добавление базового шаблона
Включите AppInstaller элемент в файл установщика приложения, указывая версию, путь и сетевое расположение файла установщика приложения. сведения в AppInstaller элементе будут использоваться при установке связанных приложений Windows.
Элемент | Описание |
---|---|
xmlns | Пространство имен XML |
Версия | Версия файла установщика приложения в нотации с четырьмя точками (1.0.0.0). |
URI | Путь URI к текущему файлу установщика приложения, доступный для устройства. |
Руководство.
Откройте файл, созданный на шаге 1.
Скопируйте следующее XML-содержимое в *. Файл AppInstaller .
Обновление Version атрибута с помощью версии файла установщика приложения
Обновите URI атрибут с помощью сетевого расположения, в котором находится этот * URI будет доступен из.
Шаг 3. Добавление сведений об основном пакете
<MainPackage> и <MainBundle> используются для задания основного Windows приложения, которое будет установлено с помощью файла установщика приложения. <MainPackage> используется, если установщик Windows приложения имеет значение * <MainPackage> или *. appx. используйте, <MainBundle> когда установщик приложения Windows является пакетным установщиком Windowsного приложения с расширением * <MainBundle> или *. appxbundle.
Элемент | Описание |
---|---|
Название | Имя основного приложения, которое будет распространяться через файл установщика приложения. Его можно найти, выполнив следующий командлет PowerShell: $(Get-AppxPackage [AppName]).Name . |
Publisher | каноническое имя сертификата издателя, используемого для подписания основного установщика Windows приложения. Его можно найти, выполнив следующий командлет PowerShell: $(Get-AppxPackage [AppName]).Publisher . |
Версия | версия основного установщика приложения Windows в нотации с четырьмя точками (1.0.0.0). Его можно найти, выполнив следующий командлет PowerShell: $(Get-AppxPackage [AppName]).Version . |
ProcessorArchitecture | архитектура, на которой устанавливается основной установщик приложения Windows. |
URI | путь URI к основному установочному носителю Windows приложения. |
Сведения в атрибуте <MainBundle> или <MainPackage> должны совпадать с элементом <MainBundle> в манифесте пакета приложений или пакета приложения соответственно.
установщик приложения Windows
Если основным пакетом приложения является файл. msix или. appx, используйте <MainPackage> , как показано ниже. Обязательно включите ProcessorArchitecture, так как он обязателен для пакетов, не относящихся к пакету.
установщик пакета приложений Windows
Если основным пакетом приложения является msixbundle или appxbundle или файл, используйте <MainBundle> вместо, <MainPackage> как показано ниже. Для пакетов ProcessorArchitecture не требуется.
Шаг 4. Добавление дополнительных пакетов
Как и атрибут основного пакета приложений, если дополнительный пакет может являться пакетом приложения или пакетом приложений, дочерний элемент с атрибутом <OptionalPackages> должен являться <Package> или <Bundle> . Сведения о пакете в дочерних элементах должны соответствовать элементу идентификатора в манифеста пакета приложений или пакета приложения.
Элемент | Описание |
---|---|
Название | Имя дополнительного приложения, которое будет распространяться через файл установщика приложения. Его можно найти, выполнив следующий командлет PowerShell: $(Get-AppxPackage [AppName]).Name . |
Publisher | каноническое имя сертификата издателя, используемого для подписи необязательного установщика Windows приложения. Его можно найти, выполнив следующий командлет PowerShell: $(Get-AppxPackage [AppName]).Publisher . |
Версия | версия необязательного установщика Windows приложения в нотации с четырьмя точками (1.0.0.0). Его можно найти, выполнив следующий командлет PowerShell: $(Get-AppxPackage [AppName]).Version . |
ProcessorArchitecture | архитектура, на которую устанавливается необязательный установщик приложения Windows. |
URI | путь URI к основному установочному носителю Windows приложения. |
Шаг 5. Добавление зависимостей
В элементе зависимостей можно указать требуемые пакеты платформы для основного пакета или дополнительных пакетов.
Элемент | Описание |
---|---|
Название | Имя приложения зависимости, которое распространяется в файле установщика приложения. Его можно найти, выполнив следующий командлет PowerShell: $(Get-AppxPackage [AppName]).Name . |
Publisher | каноническое имя сертификата издателя, используемого для подписания Windows установщика приложения зависимостей. Его можно найти, выполнив следующий командлет PowerShell: $(Get-AppxPackage [AppName]).Publisher . |
Версия | версия установщика зависимостей Windows приложения в нотации с четырьмя точками (1.0.0.0). Его можно найти, выполнив следующий командлет PowerShell: $(Get-AppxPackage [AppName]).Version . |
ProcessorArchitecture | архитектура, на которой устанавливается установщик приложения зависимостей Windows. |
URI | универсальный код ресурса (URI) для установочного носителя приложения зависимости Windows. |
Шаг 6. Добавление параметра обновления
В файле Установщика приложений можно также указать параметр обновления, чтобы связанные наборы автоматически обновлялись при публикации нового файла Установщика приложений. Параметр является необязательным элементом. В параметре OnLaunch указывает, что проверки обновлений должны выполняться при запуске приложения, а хаурсбетвинупдатечеккс = "12" указывает, что проверка обновлений должна выполняться каждые 12 часов. Если параметр HoursBetweenUpdateChecks не задан, интервал проверки обновлений по умолчанию — 24 часа. дополнительные типы обновлений, например фоновые обновления, можно найти в схемеПараметры обновления. Дополнительные типы обновлений для запуска, такие как обновления с запросом, можно найти в схеме OnLaunch.
Элементы | Описание |
---|---|
хаурсбетвинупдатечеккс | определяет минимальный зазор в Windows проверки обновлений приложения. |
упдатеблокксактиватион | Определяет интерфейс при проверке обновления приложения. |
шовпромпт | Определяет, отображается ли окно при установке обновлений и когда выполняется проверка обновлений. |
шаг 7. добавление Параметры автоматического обновления
следующие параметры доступны только при использовании схемы 2021 в сборке Windows Insider Windows 10.
Windows приложения, установленные с помощью файла установщика приложения, по умолчанию обновляют Windows приложения из URI установщика приложений, адхереинг к конфигурациям, заданным на предыдущем шаге. URI обновления, настроенные на этом шаге, будут действовать как резервные URI, которые можно использовать, если исходный URI установщика приложения больше недоступен. для любого Windows приложения можно настроить не более 10 URI обновления.
URI обновления должен быть предназначен для файлов установщика приложений.
Эти параметры работают, только если схема настроена как 2021 или более новая.
шаг 8. добавление Параметры автоматического восстановления
следующие параметры доступны только при использовании схемы 2021 в сборке Windows Insider Windows 10.
Windows приложения, установленные на устройстве, могут поддерживать автоматическое восстановление приложения Windows, когда оно становится незаконным. исходный установщик, который будет использоваться для восстановления Windows приложения, можно настроить с помощью <RepairURIs> свойства. приложение Windows попытается восстановиться на основе URI установщика приложения, если он недоступен, Windows приложение будет использовать универсальный код ресурса (uri) восстановления для идентификации источника исправления. для любого Windows приложения можно настроить не более 10 URI восстановления.
универсальный код ресурса (URI) восстановления может ориентироваться Windows файлы установщика приложения или приложения. этот параметр не требует, чтобы Windows приложение было установлено с помощью файла установщика приложения.
Полные сведения о схеме XML см. в разделе Справочник по файлу Установщика приложений.
тип файла установщика приложений новый в Windows 10, версия 1709 (Windows 10 Fall Creators Update). развертывание Windows 10 приложений с помощью файла установщика приложения в предыдущих версиях Windows 10 не поддерживается. элемент хаурсбетвинупдатечеккс доступен начиная с Windows 10 версии 1803.
Знакомство пользователя с программой чаще всего начинается с запуска инсталлятора. Внешний вид («упаковка») и функциональность продукта определяется разработчиком. Пользователю нужно иметь возможность проконтролировать процесс, выставив нужные параметры установки. Для разработчика же важно, чтобы, как минимум, его программа была установлена корректно, а инсталлятор был совместим с необходимыми платформами.
Решений для создания инсталляторов достаточно много. Чаще всего используется подсистема Windows Installer, которая уже входит в инструментарий операционной системы. Но существуют и альтернативные решения — как платные, так и бесплатные, различной функциональности. Зачастую с их помощью можно создавать пакеты с инсталлятором, не зависящим от Windows Installer.
- Среда разработки, интерфейс, поддержка сценариев
- Работа с проектом, типы создаваемых пакетов, возможности импорта проектов из других сред разработки
- Пользовательские опции инсталлятора: поддержка языков, профилей и другие опции
- Поддержка расширений
NSIS (Nullsoft Scriptable Install System)
NSIS — бесплатный и широко известный инструментарий для создания инсталляционных пакетов в среде Windows. Отличительные особенности — компактность, масштабируемость, поддержка плагинов и локализаций. Из других возможностей NSIS: поддержка сценариев, различных вариантов установки (включая несколько проектов внутри одного инсталлятора), создание веб-инсталляторов.
Дистрибутивы NSIS создаются на основе сценариев. Переменные, функции полностью контролируют как инсталляцию, так и деинсталляцию продукта. С помощью скриптов можно добавлять файлы и директории, вносить изменения в реестр, редактировать текстовые и двоичные файлы, создавать патчи, управлять переменными среды и даже обращаться к Windows API (посредством расширений).
Синтаксис языка NSIS достаточно прост и удобен для чтения, основная документация к нему доступна здесь. Более того, в комплекте с программой содержится большое количество примеров (файлы формата nsi доступны в папке Examples). Для редактирования nsi-сценариев пригоден любой редактор кода, где без особых усилий можно включить подсветку синтаксиса. Множество задач сразу унифицируется, если использовать специальный плагин для IDE Eclipse, EclipseNSIS, либо Venis. Venis представляет собой интуитивную визуальную среду для создания сценариев.
Удобно работать с NSIS в связке и с другими программами, например, Excelsior Installer (см. ниже).
Если возникает необходимость расширить возможности инсталлятора, можно добавить определенные функции. Плагины пишутся на C, C++, Delphi или других языках. Готовые примеры расширений доступны здесь. Функции разнообразны: от визуальных эффектов инсталлятора до создания патчей и обращения к Windows API.
Скомпилировать инсталлятор можно с помощью инструмента makensis, предварительно выбрав тип компрессии — ZLib, BZip2 или LZMA. Кроме того, сам по себе инсталлятор занимает немного места — всего 34 КБ.
Графический интерфейс инсталлятора доступен в одном из двух вариантах исполнения — Classic или Modern. Более функциональный Modern (на данный момент используется его версия 2.0) позволяет создавать страницы мастера установки с использованием текста, шрифтов, изображений, диалогами, опциями и др. На данном этапе помощь окажет программа NSIS Dialog Designer. Она позволяет быстро конструировать интерфейс, а полученный результат сохранять в формат nsdinc, который затем несложно интегрировать в .nsi-скрипт.
Резюме. Среда NSIS уже давно зарекомендовала себя, и в доказательство — список разработчиков, которые используют ее возможности. Несложный язык сценариев, наличие всех необходимых функций, возможность расширения, доступность основных и дополнительных инструментов — за счет всего этого NSIS составляет сильную конкуренцию программам в данной категории.
Inno Setup
Inno Setup — бесплатный инструментарий для создания инсталляторов на базе сценариев. Среди главных особенностей продукта — работа со всеми версиями ОС Windows (Windows 2000 и выше), расширенная поддержка 64-битных приложений, настраиваемые типы установки, встроенный препроцессор и мощный язык сценариев на основе Pascal.
Сценарии имеют структуру, характерную конфигурационным файлам ini-формата, поэтому код вполне хорошо читаем и удобен в редактировании. Документ разделен на секции, и каждая из них отвечает за определенную задачу инсталлятора соответственно. Всего имеется два типа секций — с параметрами и «директива—значение».
Разработчикам, знакомым с Pascal, будет на руку тот факт, что Inno использует «родственный» язык — RemObjects Pascal Script. Сценарии отвечают за добавление новых опции, создание интерфейса, вызов файлов или библиотек, настраиваемые действия (custom actions) и т. д. В рабочей папке Inno Setup находятся примеры скриптов (также доступны в меню компилятора). По умолчанию в Inno Setup входит компилятор сценариев Compiler IDE. Для быстрого старта рекомендуется также установить Inno Script Studio. Этот редактор проектов входит в редакцию QuickStart Pack, скачать ее можно здесь. Для упрощения задач может быть полезен визуальный редактор сценариев — IsTool.
Самый простой вариант создания инсталлятора — обратиться к пошаговому мастеру настройки Inno Script Studio. Здесь указывается информация о продукте, координаты программы, файл лицензии и другие данные, языки локализации, опции компилятора. Впоследствии проект доступен для компиляции, отладки либо модификации полученного сценария в окне редактора.
Редактор Inno Script Studio доступен на русском языке. Значительно проще настраивать проект последовательно, переходя по секциям, а не создавая сценарий с нуля. При добавлении нового элемента изменения вносятся в код сценария, синтаксис подсвечивается, код соответствующим образом разбит на секции ([Setup], [Types], [Components]…).
Русская локализация иногда вводит в заблуждение, как всегда и обстоит с не очень качественным переводом.
Из других особенностей Inno Setup — тихая инсталляция и деинсталляция. Пользователю доступны различные типы установки и локализации на выбор. Установщик может быть зашифрован, содержать цифровую подпись либо защищен паролем. К дистрибутиву может применяться bzip2- или LZMA/LZMA2-компрессия. Интерфейс — в стиле 2000/XP, иных вариантов не предусмотрено.
Резюме. Inno Setup — ближайшая альтернатива NSIS. Позволяет задействовать как мощный язык сценариев, так и удобный и гибко настраиваемый редактор Inno Script Studio, доступный практически «из коробки».
IzPack
Чаще всего, среда разработки инсталлятора закреплена за определенной платформой, и разработчик вынужден использовать различный инструментарий для каждой из них. IzPack решает вопрос кроссплатформенности, используя для своих нужд универсальную среду разработки Java.
Главные особенности IzPack: XML-синтаксис, интеграция с различными инструментами компиляции, простой и гибкий API-интерфейс, возможность локализации.
Среди особенностей инсталляторов, созданных средствами IzPack, — небольшой размер и модульность. В основе дистрибутива лежит XML-документ, где указываются все необходимые спецификации, определяется функциональность продукта. Впоследствии конфигурационный файл обрабатывается любым удобным способом, для этого используется командная строка или Apache Ant. Для наращивания функциональности инсталлятора могут быть задействованы IDE среды, такие как Eclipse, IntelliJ IDEA или Netbeans. Для составления конфигурационного файла подойдет любой редактор кода.
В XML-документе указывается информация о проекте (), интерфейс (), локализации (), файлы (), ресурсы (), панели (), содержимое ( — может быть упаковано в raw, gzip, bzip2) и др. Что касается java, в IzPack есть возможность применения действий (custom acrions) и переменных — встроенных, пользовательских и переменных среды (см. документацию и неофициальное руководство).
Для создания графического интерфейса инсталлятора предназначены панели. С их помощью определяется внешний вид, экрана приветствия, содержимое, текстовая информация (readme, лицензии), изображения. Поддерживаются различные типы интерактивных элементов (поля, переключатели и т. д.), локализация, включая русскую. Переводу поддается как интерфейс, так и содержание.
Для создания самораспаковывающихся модулей применяется метод 7-Zip SFX, использующий возможности известного архиватора. Для Mac OS также доступна оболочка под названием izpack2app.Кроме того, есть возможность создания веб-инсталлятора, для этих целей присутствует оболочка izpack2jnlp, использующая возможности Java Web Start. IzPack поддерживает опцию тихой установки.
Резюме. IzPack — одна из немногих кроссплатформенных систем для создания инсталляторов. Процесс написания конфигурации, компиляции и отладки удобен за счет интеграции со средами разработки, несложен в освоении. Из недостатков следует отметить значительно устаревший (и не оригинальный — native) вид получаемого инсталлятора.
Excelsior Installer
Excelsior Installer — бесплатная программа, предназначенная для создания инсталляторов и обновлений. Основные особенности — простая интуитивная графическая оболочка, возможность интеграции с Проводником и NSIS.
- Файлы и папки приложения, ярлыки
- Описание: имя компании, название продукта, версия продукта
Упаковщик состоит из разделов Files (Файлы), Settings (Настройки) и Appearance (Внешний вид). В целом, здесь содержится стандартный перечень опций, отвечающих за создание лицензионного соглашения, выбор инсталляционной директории, ярлыков, ключей реестра и другие параметры. Если изучить таблицу сравнения продуктов, легко обнаружить следующий функциональный «пробел»: инсталлятор не поддерживает файловые ассоциации, DLL-расширения, элементы управления.
Что касается доступных опций инсталлятора — можно указать профиль установки, в зависимости от привилегий текущего пользователя. Инсталлятор поддерживает локализацию, причем русский язык доступен «из коробки», остальное скачивается отдельно. Возможна автоматическая — тихая — инсталляция без запроса данных у пользователя, после установки — проверка целостности пакета или другие настраиваемые действия.
Как уже было упомянуто, возможна интеграция Excelsior с NSIS. Excelsior Installer, по сути, выступает полноценным GUI для NSIS, настройки проекта экспортируются без проблем.
В ряду с этим участником обзора, стоит выделить еще один родственный продукт — Excelsior Delivery. По большей части функции Excelsior Installer дублируются. Но есть также и несколько дополнительных функций: добавление в систему OLE- и ActiveX-элементов, файловых ассоциаций, библиотек, создание опросов пользователей. Лицензионная версия Excelsior Delivery (стоимостью $99) позволяет также применить к установщику фирменное оформление (branding). Если эта опция неважна, можно скачать некоммерческую версию программы.
Резюме. Excelsior Installer — простая и очень понятная система для создания дистрибутивов, может использоваться как надстройка к NSIS. Обратная сторона медали — усредненная функциональность как Excelsior Installer, так и Delivery.
WiX Toolset
WiX (Windows Installer XML) — бесплатный набор инструментов для создания инсталляторов (Windows Installer) с использованием спецификации XML. Из особенностей: интерфейс командной строки, интеграция с IDE, автоматизация процессов, поддержка базовых и расширенная поддержка Windows Installer.
Ядро WiX составляют компилятор (candle), компоновщик (light), библиотекарь (lit), декомпилятор (dark), бутстраппер инсталляции (burn) и другие утилиты. С их помощью можно создавать пакеты инсталляции .msi, модули слияния .msm, патчей .msp.
Создание инсталлятора состоит из нескольких основных этапов: разработка сценария, его проверка, обработка препроцессором, компиляция и компоновка. Для сборки инсталлятора и автоматизации в целом используется платформа MSBuild. Автоматизация — одно из главных преимуществ WiX при работе с достаточно ресурсоемкими проектами.
Исходный код имеет формат XML (расширение файла wxs). Сценарий описывает все этапы установки, начиная с описания проекта заканчивая действиями после установки. Редактировать его можно в любом редакторе с поддержкой данного формата.
WiX радует своими интеграционными возможностями: WiX Toolset предоставляет интерфейс командной строки. Для работы с проектом в Visual Studio (модуль IntelliSense) потребуется расширение Votive.
В затруднительных ситуациях или при отсутствии времени на изучение сценариев, хорошую службу окажет графическая оболочка WiXEdit. Ее основные преимущества — импорт существующих wxs-проектов, структурирование xml-данных с удобным чтением и навигацией. С помощью мастера также несложно создать инсталляционный файл с нуля. Причем это далеко не единственный подобный инструмент (см. здесь).
Резюме. В данном случае, многое решает спецификация XML. WiX дает возможность программистам оперировать исходными данными, не прибегая к графической оболочке. В состав WiX входят все необходимые инструменты, вдобавок к этому функциональность инсталлятора может быть улучшена за счет расширений.
Что вы делаете, когда создаете какое-то новое программное обеспечение Windows — от простого средства диагностики о сложной видеоигре для ПК — и вы хотите поделиться этим с миром? Ну, вы можете сжать файлы в один ZIP-файл и распространять его.
Или вы можете быть модным и вместо этого создать установщик EXE.
В этом посте мы рассмотрим три различных метода: самораспаковывающийся пакет, простой установщик, использующий встроенный IExpress, и расширенный установщик, использующий настраиваемую установку Inno.
Быстрый метод: использование 7-Zip
Вы, вероятно, уже используете 7-Zip для извлечения всех видов архивных файлов. извлечь , и вы, вероятно, уже знаете, что 7-Zip может создавать архивные файлы, но знаете ли вы, что вы также можете использовать его для создания EXE-файла, который действует как установщик?
Он называется SFX-архивом («самораспаковывающийся») и работает, сжимая все ваши конечные файлы вместе, а затем встраивая в архив специальный EXE-файл, который знает, как извлечь все. Другими словами, получатель может извлечь архив SFX (который выглядит как сам файл EXE), даже если у него нет подходящего программного обеспечения, что может случиться с такими форматами, как 7Z, RAR, TAR и ZIP.
Как создать свой собственный SFX-архив с 7-Zip:
- Подготовьте все свои файлы и каталоги в пределах одного основного каталога и назовите каталог как хотите.
- Щелкните правой кнопкой мыши каталог и выберите 7-Zip> Добавить в архив …
- В разделе « Параметры» включите « Создать архив SFX» и выберите следующие параметры…
> Формат архива: 7z
> Уровень сжатия: Нормальный
> Метод сжатия: LZMA2
> Размер словаря: 16 МБ
> Размер слова: 32
> Размер блока: 2 ГБ - Нажмите ОК . Выполнено!
Обратите внимание, что SFX-архивы не являются настоящими установочными файлами. Они не помещают извлеченные файлы в назначенный целевой каталог. Они не изменяют реестр Windows. Они не создают журналы установки и не отображаются как «установленное программное обеспечение» в приложении удаления. Это буквально архивные файлы, наряженные в EXE-файлы.
Загрузить — 7-Zip (бесплатно)
Простой метод: использование IExpress
IExpress — это утилита, которая поставляется в комплекте с версиями Windows, начиная с Windows XP и выше. Утилита поставляется с интерфейсным графическим интерфейсом (называемым IExpress Wizard), но вы также можете создавать установочные файлы, используя файлы SED, написанные от руки. Мы рекомендуем мастера.
Как и в 7-Zip выше, этот метод создает самораспаковывающийся архив, но с двумя основными отличиями: во-первых, конечный пользователь будет использовать многостраничный мастер установки, а во-вторых, конечный пользователь может указать целевой каталог, в котором находится инструмент распакует файлы
Как создать свой собственный установщик EXE с помощью IExpress:
Обратите внимание, что у IExpress есть некоторые странности и проблемы. Это не позволяет включать пустые каталоги. Если в вашей установке есть подкаталоги, подкаталоги не будут включены. Если у вас есть несколько файлов с одинаковыми именами, даже в разных каталогах, создание установщика завершится неудачно.
Из-за этих странностей мы рекомендуем использовать метод ниже.
Рекомендуемый метод: использование Inno Setup
Inno Setup — это утилита с открытым исходным кодом. с открытым исходным Это активно развивается с 1997 года. Он был создан частично в ответ на актуальный неподходящий InstallShield Express. С тех пор он стал создателем инсталляторов для тех, кто не хочет исследовать собственные опции.
Его самая большая ничья — это гибкость. Inno Setup использует файлы сценариев с расширением ISS («Inno Setup Script») для настройки различных аспектов программы установки: какие файлы включены, где происходит установка, создавать ли ярлыки и т. Д. Файлы ISS используют форматирование, подобное формату файлов INI. и может быть создан с помощью мастера установки Inno.
Как создать свой собственный установщик с помощью Inno Setup:
- Запустите приложение Inno Setup Compiler.
- В окне приветствия выберите « Создать новый файл сценария с помощью мастера сценариев» .
- Введите имя приложения и версию приложения. При желании вы также можете указать сведения об издателе приложения и веб-сайте приложения. Нажмите Далее .
- Выберите базовую папку Destination , которая по умолчанию имеет значение Program Files. Введите имя папки приложения , которая является именем основного каталога, куда будут идти ваши установочные файлы. Нажмите Далее .
- В качестве основного исполняемого файла приложения найдите и выберите основной EXE-файл, который запустит ваше приложение. Если вы не устанавливаете приложение, включите. У приложения нет основного исполняемого файла . Затем добавьте файлы и папки в вашу установку с помощью кнопок Добавить файлы… и Добавить папки… . Нажмите Далее .
- На странице «Ярлыки приложений» оставьте значения по умолчанию или измените их в соответствии со своими предпочтениями. Они все говорят сами за себя. Нажмите Далее .
- На странице документации приложения вы можете указать до трех файлов TXT, которые будут отображаться в процессе установки конечного пользователя. Обычно это LICENSE.TXT, INSTALL.TXT и README.TXT, но они могут быть любыми. Нажмите Далее .
- На странице «Настройка языков» сохраняйте английский, но не стесняйтесь добавлять столько языков, сколько пожелаете. Нажмите Далее .
- На странице настроек компилятора вы можете настроить EXE-файл установщика:
> Выходная папка пользовательского компилятора, в которой будет находиться полученный EXE-файл установщика.
> Имя выходного базового файла компилятора — это имя файла EXE. Значением по умолчанию является setup.exe .
> Файл значков пользовательской настройки — это значок, который будет использоваться для установочного EXE-файла. Это должен быть файл ICO, который можно загрузить или преобразовать из PNG. - Установочный пароль защитит неавторизованных пользователей от использования вашего установщика. Оставьте это поле пустым, чтобы отключить эту функцию.
- Нажмите Готово . Когда будет предложено скомпилировать новый скрипт, нажмите « Да» . Когда будет предложено сохранить сценарий, выберите « Нет», если это файл однократной установки, или « Да», если вы планируете изменить или обновить его позже. Выполнено!
Загрузить — Inno Setup (бесплатно)
Какой метод подходит вам?
Если ваша программа чрезвычайно проста или вы собираетесь распространять ее среди ограниченного числа людей, используйте метод 7-Zip. Это просто, быстро и практически не требует технических знаний.
Если ваше программное обеспечение несколько простое и вы хотите представить конечного пользователя настоящий мастер установки, воспользуйтесь методом IExpress.
Если у вас сложное программное обеспечение и у вас за плечами большой технический опыт, воспользуйтесь методом Inno Setup. Он самый гибкий, самый мощный и не страдает от проблем, которые мешают IExpress.
Какой метод вы будете использовать? Есть ли другие методы, которые мы пропустили? Дайте нам знать в комментариях ниже!
Читайте также: