【C#】7zip(Sfx)で自己解凍exeを作成する

2018年8月30日C#, 開発

おはようございます。

予告通り、今回は「7zip」を利用して自己解凍形式の実行ファイルを作成してみます。

プログラムは前回のものを流用します。

スポンサーリンク

自己解凍形式について

7zip形式の圧縮ファイルと、設定ファイルをひとまとめにして実行ファイルとし、
ファイルの展開後に任意のプログラムを実行することができます。

主にインストーラーなんかに使われているようです。詳しくは調べてみてください。

画面の修正

自己解凍exe出力ボタンの追加
自己解凍exe出力ボタンの追加

自己解凍exe出力ボタンを追加します。

SFXのDLLをダウンロードして配置

https://ja.osdn.net/projects/sevenzip/downloads/64455/7z920_extra.7z/

dllの追加
dllの追加

パッケージエクスプローラーで、ダウンロードした「7zS.sfx」をプロジェクトに追加します。

※参照の追加ではありません

設定ファイルの作成

config.txt

作成したファイルは、実行ファイルから参照できる場所においてください。

プログラムの修正

新規メソッドの追加

自己解凍exeを出力する処理を追加します。

新規イベントの追加

追加したボタンのクリック時の処理を追加します。

起動してみる

起動、「7zip」形式のファイルを選択し、「自己解凍exe出力」ボタンをクリックします。

確認メッセージ
確認メッセージ
完了メッセージの表示
完了メッセージの表示
出力されたファイル
出力されたファイル

圧縮ファイルと同じディレクトリに「SelfExtraxt.exe」が出力されます。

自己解凍exeの実行
自己解凍exeの実行

出力された「SelfExtraxt.exe」を実行してみます。

プログレスの表示
プログレスの表示

プログレスも表示されます。

まとめ

色々使いどころはあるかと思います。

7-zip32.dll には内蔵されている自己解凍処理もあり、そちらは設定ファイルを画面から設定できたりもするので気になる方は調べてみてください。

ではでは。

 

スポンサーリンク


関連するコンテンツ

2018年8月30日C#, 開発7zip, C#, CSharp, SFX, WindowsForms, プログラミング, 自己解凍

Posted by doradora