用7-Zip產生自解SFX檔

有網友留言問如何使用7-Zip來製作自解壓縮的執行檔(SFX),以下是簡要的操作說明。

  1. 7-Zip網站下載7-Zip Extra modules: 7z Library, Plugin for FAR, SFXs for installers;4.3X版時標準模組與自解檔模組拆開成兩個下載檔,因此務必去下載這個額外的模組。
  2. Extra modules解壓縮後會產生一個Installer的子目錄,其內的readme.txt有詳細的操作說明,cr.bat則是測試的批次檔,執行cr.bat則建立自解檔archive.exe。

cr.bat的內容如下:

del archive.7z
del archive.exe
..\7zr a archive.7z ..\7zr.exe d:\util\AfterRun.exe -m0=BCJ2 -m1=LZMA:d25:fb255 -m2=LZMA:d19 -m3=LZMA:d19 -mb0:1 -mb0s1:2 -mb0s2:3 -mx
copy /b ..\7zSD.sfx + config.txt + archive.7z archive.exe

  1. AfterRun.exe是解壓縮後被叫用的執行檔,為了讓自解檔能順利讀到,必須一起壓入自解檔裡。
  2. 7zr.exe也可使用7z.exe來取代

自解檔需要一個額外的設定檔,即Installer目錄裡的config.txt:

;!@Install@!UTF-8!
Title="Software 5.00 測試"
BeginPrompt="Do you want to install the Software 5.00?"
RunProgram="AfterRun.exe"
;!@InstallEnd@!
  1. config.txt必須以UTF-8編碼
  2. Title是自解時彈出對話視窗的標頭文字
  3. Beginprompt是對話視窗內的提示文字
  4. RunProgram是解壓縮後執行的執行命令

要注意的是:RunProgram的執行命令必須一起壓入自解檔裡,自解後才能順利執行成功。
很可惜的是在GUI介面裡尚未提供產生自解檔的功能,目前只能用命令列的方式來建立。

##

您可能也會有興趣的類似文章

簡睿

服務於軟體業的資訊老兵。興趣廣泛,學習力佳,樂於分享所知所學。

您可能也會喜歡…

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *