March 4

КАК ВСТРОИТЬ В EXE ДОПОЛНИТЕЛЬНЫЕ ФАЙЛЫ — СБОРКА EXE ЧЕРЕЗ WINRAR

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

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

Выделяем все файлы, жмем ПКМ — добавить в архив

Отмечаем ZIP и ставим галочку «Создать SFX-архив», также можно указать свое имя архива (по умолчанию он берет название папки)

Переходим на вкладку Дополнительно и жмем «Параметры SFX»

В поле «Путь для распаковки» ставим любой символ (например, 1), чтобы стали активны чекбоксы и отмечаем «Создать в текущей папке»

Затем очищаем путь, а выбранный чекбокс останется

Переходим на следующую вкладку «Установка» и указываем файл, который необходимо запускать после того, как наш архив распакуется. В моем случае это основной exe файл с программой cert-install.exe

На вкладке «Режимы» отмечаем галочку «Распаковать во временную папку» и выбираем чекбокс «Скрыть все»

На вкладке «Текст и графика» можно указать путь к иконке, чтобы наш exe файл выглядел более красиво

На этом, в общем-то и все. Жмем ОК и еще раз ОК и в нашей папке появится готовый exe файл, на котором красуется выбранная нами иконка. Круто, не правда ли?

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

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

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


Статья сделана на основе: https://www.youtube.com/watch?v=V5krjb_sH9s