КАК ВСТРОИТЬ В 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