Подтвердить что ты не робот

Как я могу без труда установить 7-zip самораспаковывающийся архив в конкретный каталог?

Ruby Devkit - это самораспаковывающийся архив на основе 7-zip.

Я хотел бы вызвать его без пауз без установки 7-Zip для извлечения файлов в папку по своему выбору, чтобы я мог script установить. Я предполагаю, что это что-то вроде:

cmd> DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe /silent /dir="C:\DevKit"

Но это, конечно, не работает. Какие флаги командной строки я должен использовать, чтобы незаметно извлечь этот архив в папку по своему выбору?

4b9b3361

Ответ 1

попробуйте следующее:

C:\> DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe -o"C:\DevKit" -y

Ответ 2

Обновление 2017. Инструмент из 7zsfx.info теперь мертв и ушел.


Оригинал, старый пост от 08-2015:

Если вы пытаетесь извлечь файл 7zip SFX (http://7zsfx.info/):

sfx.exe -y -gm2 -InstallPath="C:\\your\\target\\path"

Переключает Docu

  • -y скрыть некоторые подсказки
  • -gm2 полностью скрывает диалог извлечения (тихий режим)
  • -InstallPath устанавливает целевой путь (вам нужна двойная обратная косая черта)

7z Руководство по SFX

Официальным способом создания пакета SFX является использование -sfx[{name}] : Create SFX archive.

И это означает, что созданные SFX-пакеты используют два типа опций CLI:

  • официальные параметры CLI от 7zSFX и
  • пройденные параметры, настроенные вами в конфигурации, перед созданием пакета.

    Вы можете думать об этом как о пересылке параметров в упакованный исполняемый файл. Пересылка этого параметра зависит от конфигурации SetEnvironment и RunProgramm!

Полный процесс:

  • Создать архив Package.7z:
    • содержащий Installer.msi и дополнительный файл crap.cab.
  • Создать конфигурационный файл config.txt:

    ;[email protected]@!UTF-8!
    Title="Installation"
    SetEnvironment="strInstall=hidcon:Installer.msi /qn"
    RunProgram="%strInstall%"
    ;[email protected]@!
    
  • Теперь мы генерируем Test.exe путем объединения sfx + config + archive в исполняемый файл.

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

    Примечание: 7zS.sfx - это официальный пакет 7zip.

  • Теперь, когда вы запустите SfxInstaller.exe, вы можете передать экземпляр /lv InstallerLog.txt для создания журнала установки, например.

    SfxInstaller.exe /lv InstallerLog.txt

Ответ 3

Так как используется 7-zip, просто создайте самораспаковывающийся архив в .exe. и запустите его с помощью переключателей -o и -y.

Я использую его для экономии места на USB-накопителе. Например, я запускаю приложение VDiskAir нечасто. Я создаю самораспаковывающийся архив папки программы VDiskAir (около 15 МБ):

7z a -SFX -mx9 VDiskAir.exe [VDiskAir folder path]

NB: -mx9 используется здесь для максимального сжатия.

Я создаю DOS BAT для запуска самораспаковывающегося VDiskAir.exe(около 5 МБ), созданного, сохраняя его как VDiskAir.bat, содержащий:

VDiskAir.exe -o%TMP% -y

%TMP%\VDiskAir\VDisk_Air.exe

Я не беспокоюсь, что папка VDiskAir (в% TMP%, извлеченная с помощью программных файлов VDiskAir) восстанавливается после запуска VDiskAir таким образом, так как у меня есть BAT script, чтобы очистить% TMP% при выключении/запуске.

Ответ 4

Вот то, что я использую для продукта Autodesk:

Start /W %~dp0AutoCAD_2018_French_LP_Win_64bit_dlm.sfx.exe -suppresslaunch -d C:\Autodesk