mitiya
В Справке 7z описан процесс создания SFX (Index -> sfx) , но могу рассказать подробнее.
- Создается типичный пакетный файл с командой на установку программы. Например, install.cmd (в примере просто выводится ipconfig в файл)
Код:
cmdow @ /HID
@echo off
ipconfig >> C:\report.txt
exit
- install.cmd запаковывается в обычный 7z архив (уровень сжатия лучше сделать Ultra для максимального сжатия). На выходе имеем install.7z
- Создается конфигурационный файл config.txt следующего содержания
Код:
;!@Install@!UTF-8!
RunProgram="install.cmd"
;!@InstallEnd@!
и сохраняется обязтельно в UTF-8 в ту же директорию, где находится install.7z - Берется sfx модуль 7zS.sfx (он в папке с архиватором находится) и помещается все в ту же директорию.
- Теперь в директории, где у нас три файла install.7z, config.txt и 7zS.sfx запускается команда
Код:
copy /b 7zS.sfx + config.txt + install.7z myinstall.exe
Вот и все. Получившийся файл
myinstall.exe и есть наш silent 7z sfx. Запускаем и идем проверять файл C:\report.txt.
Mожно и без WinRAR обходится вполне. Размер sfx у 7z великоват по сравнению с WinRAR. Oднако, сдается мне, что размер архива на выходе поменьше может оказаться в некоторых случаях. Вдобавок
Цитата 7z Manual:
The most of SFX modules (except 7zC.sfx) are uncompressed. You can use UPX program (http://upx.sourceforge.net) to compresss such modules. After compressing by UPX program size of sfx module will be reduced to 40-50% of original size.
|