自己解凍書庫を作成します。
-sfx[{SFX_Module}]
書庫に結合される SFX モジュールを選択します。 このモジュールは 7z.exe と同じディレクトリに置かれている必要があります。 {SFX_Module} を割り当てない場合、 標準のコンソール SFX モジュールの 7zCon.sfx を使用します。
SFX_Module | 説明 |
---|---|
7z.sfx | Windows バージョン |
7zCon.sfx | コンソール バージョン |
7zS.sfx | インストーラーのWindows バージョン |
7zSD.sfx | インストーラーのWindows バージョン (MSVCRT.dll を使用) |
全ての SFX モジュールは圧縮されていません。 ただし、これらのモジュールは UPX プログラム (http://upx.sourceforge.net) を用いて圧縮することが可能です。 UPX プログラムで SFX モジュールを圧縮すると、元のサイズの 40 〜 50 %程になります。
インストーラ用のSFXモジュールはextarnalパッケージ(7z_extra)に含まれています。 このインストールプログラムを作成するためのモジュール(7zS.sfx, 7zSD.sfx)は www.7-zip.org からダウンロードすることができます。 このモジュールは書庫を一旦一時フォルダに展開し、指定されたプログラムの実行後にファイルを削除します。 インストーラ用自己解凍書庫は必ず「インストーラモジュール、インストーラ設定、7z書庫」の3個のファイルを 連結させて作成してください。 インストーラー用自己解凍書庫を作成するには、次のコマンドを使用できます:
copy /b 7zS.sfx + config.txt + archive.7z archive.exe
インストールファイルが 7z 書庫に格納される前で圧縮されていない場合、 最適な小さいサイズのインストールパッケージで書庫化することが可能です。
インストーラモジュールに -y スイッチを選択すると、解凍時に静寂モードになります。
設定ファイルはインストーラーのコマンドも含みます。 ファイルは ;!@Install@!UTF-8!で始まり、 ;!@InstallEnd@! で終わります。 設定ファイルは UTF-8 コードで書かれ、 次のような文字列の組み合わせである必要があります:
ID_String="Value"
ID_String | 説明 |
---|---|
Title | メッセージのタイトルです。 |
BeginPrompt | 開始プロンプトメッセージです。 |
Progress | 進捗を表示するか否か。"yes" か "no" を指定できます。デフォルトの値は "yes" です。 |
RunProgram | 実行コマンドです。デフォルトの値は "setup.exe" です。サブストリング %%T はファイルが展開された一時フォルダのパスと置き換わります。 |
Directory | "RunProgram" のディレクトリ プレフィックス。デフォルトの値は ".\\" です。 |
ExecuteFile | 実行ファイルの名前。 |
ExecuteParameters | "ExecuteFile" のパラメータ。 |
どの組み合わせも省略することができます。
インストールの際にプログラムを実行するには2つの方法: RunProgramとExecuteFileがあります。 .7z 書庫からプログラムを実行したいなら、RunProgramを使用します。 .7z 書庫からドキュメントを開いたり Windowsのコマンドを実行したい場合はExecuteFileを使用します。
RunProgramを使用し、空のディレクトリ プレフィックス: Directory=""を指定した場合、 システムは実行ファイルを次の順序で検索します:
;!@Install@!UTF-8! Title="7-Zip 4.00" BeginPrompt="Do you want to install the 7-Zip 4.00?" RunProgram="setup.exe" ;!@InstallEnd@!
;!@Install@!UTF-8! Title="7-Zip 4.00" BeginPrompt="Do you want to install the 7-Zip 4.00?" ExecuteFile="7zip.msi" ;!@InstallEnd@!
;!@Install@!UTF-8! Title="7-Zip 4.01 Update" BeginPrompt="Do you want to install the 7-Zip 4.01 Update?" ExecuteFile="msiexec.exe" ExecuteParameters="/i 7zip.msi REINSTALL=ALL REINSTALLMODE=vomus" ;!@InstallEnd@!
7z a -sfx a.exe *.txt
自己解凍書庫 a.exe に ファイル *.txt をデフォルト SFX モジュールを使って追加します。
7z a -sfx7z.sfx a.exe *
自己解凍書庫 a.exe に すべてのファイルを 7z.sfx (Windowos バージョンの SFX モジュール) を使って追加します。