Как создать самораспаковывающийся установочный файл с помощью 7zSD

7-Zip — известное программное обеспечение для сжатия файлов и папок, распространяемое как продукт с открытым исходным кодом под лицензией GNU LGPL (см. Эта страница для получения дополнительной информации о типе лицензии). Уже тогда (см. нашу статью) мы подробно иллюстрировали работу 7-Zip, объясняя, как можно использовать это программное обеспечение для создания самораспаковывающихся архивов.

Однако мало кто знает 7zSD, неофициальный модуль, способный создавать настоящие установочные файлы, свободно настраиваемые во всех аспектах.

Предположим, вы хотите передать пользователю исполняемый файл, которому для корректного функционирования требуются некоторые библиотеки и, например, запуск определенного файла или вставка определенной информации в системный реестр Windows. 7zSD позволяет сформировать уникальный самораспаковывающийся архив, включающий в себя все необходимые элементы, и выполнить все необходимые операции перед запуском файла.

Чтобы сгенерировать установочный файл с 7zSD, в первую очередь необходимо скачать этот файл и сохраните его в выбранной вами папке на жестком диске. Содержимое этого сжатого файла (один файл с именем 7zsd.sfx) необходимо распаковать в ту же папку с помощью версии 7-Zip с графическим интерфейсом (которая должна быть уже установлена ​​в используемой системе; программу можно скачать бесплатно с этого листа).

Щелкнув здесь затем вам нужно будет загрузить версию 7-Zip на основе командной строки, извлекая только файл с именем 7za.exe, содержащийся в сжатом архиве, сохраняя его в том же каталоге, где ранее был сохранен файл 7zsd.sfx (файл 7zsd_141_2100. 7z можно исключить).

По ссылке по этой ссылке, вы можете загрузить UPX, программное обеспечение с открытым исходным кодом, которое использует определенный алгоритм сжатия для уменьшения размера исполняемых файлов. Из сжатого архива UPX придется извлечь только файл upx.exe, сохранив его тоже в той же папке.

На этом этапе всегда в одном и том же каталоге вам нужно будет создать подпапку с именем bin.

В этой папке должны находиться все файлы, которые вы хотите включить в самораспаковывающийся сжатый архив (исполняемые файлы, пакетные файлы, библиотеки, файлы .VBS и т. д.).

Использование программного обеспечения, такого как Resource Hacker, загружаемого нажмите здесь, есть возможность изменить иконку исполняемого файла, который будет получен (содержащий, в свою очередь, все файлы, необходимые для корректного функционирования приложения).

Чтобы продолжить, просто извлеките содержимое архива ResHack.zip в папку по вашему выбору, а затем запустите ResHacker.exe.

Нажав в меню «Файл», «Открыть», вам нужно будет выбрать файл 7zsd.sfx, дважды щелкнуть ветку группы «Иконка», на значение 101, затем на 1049. Чтобы изменить используемые в данный момент значки, просто нажмите на него, а затем используйте команду «Действие, заменить значок». Если вы хотите использовать один из значков Windows по умолчанию, вы можете набрать %SystemRoot%system32SHELL32.dll в диалоговом окне, которое появится, нажав кнопку «Открыть файл с новым значком».

Кнопка «Заменить» в правом нижнем углу позволит вам заменить значок.

Чтобы различные примененные изменения вступили в силу, щелкните меню «Файл», «Сохранить». В той же папке вы найдете файл 7zSD_original.sfx: это исходная версия файла, которую можно использовать в качестве резервной копии.

В той же папке, где хранится файл 7zsd.sfx, вам нужно будет создать файл с именем Config.txt, вставив в него операции, которые должны будут автоматически выполняться, как только пользователь дважды щелкнет на себя. -извлечение исполняемого файла.

Попробуем вставить следующее:

;[email protected]@!UTF-8!
InstallPath=»%TEMP%\TV_TEMP»
RunProgram=»hidcon:%TEMP%TV_TEMPstart.bat»
;[email protected]@!

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

Опубликован полный список параметров, которые можно использовать в конфигурационном файле 7zSD на этот адрес.
Используя, например, BeginPrompt и ExtractPath, можно будет отображать, соответственно, информационное сообщение или управлять папкой назначения, которая может быть установлена ​​пользователем вручную.

В нашем случае мы решили извлечь содержимое сжатого файла в подкаталог временной папки, обычно используемой Windows. В командный файл start.bat мы ввели следующее:

CD %TEMP%TV_TEMP
тв.vbs
КД %TEMP%
RD %TEMP%TV_TEMP /q /s

Пакетный файл вызывает сценарий tv.vbs, который, в свою очередь, обеспечивает загрузку самой последней версии программного обеспечения «TeamViewer QuickSupport» (для получения дополнительной информации мы предлагаем вам ознакомиться с этой статьей и этим подробным анализом).

И файл start.bat, и скрипт tv.vbs (содержимое которого публикуется на этот адрес) должен быть сохранен в подпапке bin.

Очевидно, что наш пример — это всего лишь пример: все файлы, которые составят самораспаковывающийся исполняемый файл, будут помещены в папку bin.

Все готово. В той же папке, где находится файл 7zsd.sfx, вам необходимо создать файл crea.cmd, вставив следующее:

upx —ultra-brute 7zsd.sfx
корзина компакт-дисков
..7za a -mx=9 «..app.7z» *
компакт диск ..

копировать /b 7zsd.sfx + Config.txt + app.7z nome_del_file_da_generare.exe
из приложения 7z

Вместо строки name_of_file_to_generate необходимо указать имя, которое будет присвоено самораспаковывающемуся исполняемому файлу.

Наконец, дважды щелкнув файл crea.cmd, исполняемый файл будет сгенерирован автоматически.

В нашем примере двойной щелчок по нему автоматически загрузит и запустит последнюю версию Teamviewer QuickSupport, программного обеспечения для удаленного системного администрирования, на котором работает программа.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован.