Создать 7-Zip SFX исполняемый файл

7

Я играю с 7-Zip, чтобы создать исполняемый файл самораспаковывающегося архива (SFX). Я следил за документацией, но не смог подобраться ближе. Я использую 7-Zip 32-битные и 7-Zip дополнительные 32-битные.

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

copy /b 7zS.sfx + config.txt + archive.7z archive.exe

Это создаст archive.exe что будет иметь config.txt файл для запуска соответствующей программы. Вот как config.txt файл выглядит так:

;!@Install@!UTF-8!
Title="7-Zip 4.00"
BeginPrompt="Do you want to install the 7-Zip 4.00?"
RunProgram="setup.exe"
;!@InstallEnd@!`

Это сгенерирует archive.exe,

Далее в документации рассказывается, как добавить файл. Мне нужно сжать setup.exe файл, поэтому я использую следующий скрипт.

7z a -sfx a.exe setup.exe

Я запутался в этом примере. Я использую archive.exe вместо a.exe? И если я это сделаю, я получаю сообщение об ошибке archive.exe не поддерживается тип архива.

Если бы я сохранил имя a.exe а также setup.exe к а также добавил archive.exe файл в него, используя предыдущий скрипт, и все, что он делал, это извлекал файл в локальную папку, а не выполнял его.

Почему это происходит?

Doktoro Reichard
источник

Ответы:

7

Я создал пошаговые инструкции о том, как это сделать, поскольку я также был очень смущен тем, как заставить это работать.

Как сделать самораспаковывающийся архив, который запускает ваш setup.exe с ключом 7zip -sfx

Шаг 1 - Настройте папку установки

Для этого создайте папку c: \ Install. Здесь мы скопируем все необходимые файлы.

Шаг 2 - 7Зип ваши установщики

  1. Перейдите в папку, в которой находятся MSI-файл и файл setup.exe.
  2. Выберите .msi и setup.exe
  3. Нажмите правой кнопкой мыши и выберите 7Zip - & gt; "Добавить в архив"
  4. Назовите свой архив "Installer.7z" (или имя по вашему выбору)
  5. Нажмите Ok
  6. Теперь у вас должен быть «Installer.7z».
  7. Скопируйте этот файл .7z в ваш каталог c: \ Install

Шаг 3 - Получить модуль расширения 7z-Extra sfx

Вам необходимо скачать 7z-Extra.

  1. Перейдите по этой ссылке, чтобы перейти к скачать 7Zip
  2. Вам необходимо загрузить версию 9.20 (с @ May-2015), поскольку бета-версия не содержит правильных файлов.
  3. прямое скачивание ссылка на сайт.
  4. Распакуйте 7zip дополнительные файлы
  5. Скопируйте файл "7zS.sfx" в c: \ Install

Шаг 4 - Настройте ваш config.txt

Я бы порекомендовал использовать NotePad ++ для редактирования этого текстового файла, так как вам потребуется кодировать в UTF-8, следующие инструкции используют notepad ++.

  1. С помощью проводника Windows перейдите в c: \ Install
  2. щелкните правой кнопкой мыши и выберите «Новый текстовый файл» и назовите его config.txt
  3. щелкните правой кнопкой мыши и выберите «Редактировать с помощью NotePad ++»
  4. Нажмите «Меню кодирования» и выберите «Кодировать в UTF-8»
  5. Введите что-то вроде этого:
    ;!@Install@!UTF-8!
    Title="SOFTWARE v1.0.0.0"
    BeginPrompt="Do you want to install SOFTWARE v1.0.0.0?"
    RunProgram="setup.exe"
    ;!@InstallEnd@!
    

Отредактируйте это, заменив [ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ v1.0.0.0] названием вашего продукта. Замечания о параметрах и опциях для установочного файла находятся здесь

Контрольно-пропускной пункт

Теперь у вас должна быть папка «c: \ Install» со ​​следующими 3 файлами:

  1. Installer.7z
  2. 7zS.sfx
  3. config.txt

Шаг 5 - Создать архив

Эти инструкции я нашел в Интернете, но нигде не объяснил ни один из 4 шагов выше.

  1. Откройте окно cmd, Window + R - & gt; cmd - & gt; нажмите Ввод
  2. В командной строке введите следующее
cd \
cd Install
copy /b 7zS.sfx + config.txt + Installer.7z MyInstaller.exe
  1. Загляните в c: \ Install, и вы увидите, что у вас есть MyInstaller.exe
  2. Вы закончили

Запустите установщик

Дважды щелкните MyInstaller.exe, и он предложит вам сообщение. Нажмите OK, и файл setup.exe запустится.

Постскриптум Примечание по автоматизации

Теперь, когда вы работаете с этим в вашем каталоге c: \ Install, я бы создал файл «Install.bat» и поместил в него скрипт копирования.

[CSharp] copy / b 7zS.sfx + config.txt + Installer.7z MyInstaller.exe [/ CSharp]

Теперь вы можете просто редактировать и запускать Install.bat каждый раз, когда вам нужно пересобрать новую версию вашего пакета развертывания.

jcrawfor74
источник
5

С помощью графического интерфейса 7-Zip создать самораспаковывающийся архив гораздо проще. Выберите опцию SFX при создании архива 7z.

Увидеть эта статья wikiHow для подробных шагов ,

Screenshot (with freehand circle) of 7-Zip SFX option

Stephen Jennings
источник
1
Это, однако, не обеспечивает функции, которые нужны OP. Вы не можете использовать разные модули SFX и не можете их настроить.
Daniel B
5

Это почти правильно.

На шаге:

copy /b 7zS.sfx + config.txt + archive.7z archive.exe

archive.7z файл представляет собой 7-почтовый архив, который содержит все ваши файлы. Это должно быть последним шагом.

Перед этим шагом должен быть создан archive.7z, содержащий setup.exe и любые другие необходимые ему файлы. Создайте это используя:

7z a archive.7z setup.exe
prunge
источник
0

Это легко с 7zip SFX-Packager (это с открытым исходным кодом .летучая мышь файл) и простой способ «перетаскивать» папки на него, и он создает портативный / самораспаковывающийся пакет.

T.Todua
источник