自己解凍書庫の作成を自動化したく、ubuntuにp7zip-full
パッケージをインストールし
7z a -sfx test.exe ./
で書庫を作成したが実行するとtoo big to fit in memory
とエラー終了。
ということで調べてみた。
必要なファイルをダウンロード
p7zip-fullをインストール
$ sudo apt-get install p7zip-full
7zsd.sfxの準備
- 7zSD.sfxをダウンロード
- 7zS2.sfx, 7zSD.sfx の SFXモジュールは lzma2301\bin\に含まれています。
- 解凍する。
config.txtの作成
記述例。改行コードはdosにした。
;!@Install@!UTF-8!
Title="7-Zip 4.00"
;Directory="%Programfiles%\\program1"
InstallPath="%Programfiles%\\program1"
RunProgram="setup.exe"
;!@InstallEnd@!
- 上記の例は、実行すると自動で
c:\\Program Files\\program1
に解凍され、c:\\Program Files\\program1\\setup.exe
が実行される。
書庫を作成する
$ 7z a temp.7z ./
$ cat 7zsd.sfx config.txt temp.7z > selfextract.exe
windowsでselfextract.exe
を実行すると解凍できることを確認。
追記
-
7zsd_All.sfx
じゃないと解凍とプログラム実行がされない気がする -
C:\Program Files (x86)\7z SFX Builder\3rdParty\Modules\