Hatena::ブログ(Diary)

やねうらお−ノーゲーム・ノーライフ このページをアンテナに追加 RSSフィード

GT-Rの買取ならここですわ。どこよりも高く買取ってもらえるはず。お勧め!GT-R 買取
電王戦出場記念! 書籍化されたで! 監修したで!(`ω´) 絶版なってしもた Kindle版で復活!! 記事書いたで!
解析魔法少女美咲ちゃん マジカル・オープン!

YaneuLabs / やねうら王公式 / やねうらおにメール / twitter / プロフィール

 | 

2006-10-10 7-zipによるsfx

[] 7-zipによるsfx  7-zipによるsfxを含むブックマーク  7-zipによるsfxのブックマークコメント

.NETインストーラプロジェクトを作ると、msiファイルとsetup.exe(msiファイルのbootstrapper)が出来るが、これを一つのファイルにまとめて配布したい。出来れば、最初実行したときに「ほげほげソフトインストールしますか?」とかダイアログが出てくるのが好ましい。これには7-zipがおあつらえ向けだ。(7-zipの自己解凍書庫は商用利用もok→id:yaneurao:20060816)


7-zipを使えば、自己解凍のあとsetup.exeを自動起動する、なんてことが出来る。


さっそく、Dobonさんの記事を参考にしながらやってみた。

 コマンドプロンプトで次のようなコマンドを実行し、3つのファイルを結合する。7zS.sfx7-Zipインストールしたフォルダにある。(7zS.sfxファイル名)は (7zSD.sfxファイル名)でもよい。 
7zS.sfxはMSVCRT.dllを使用しないが、7zSD.sfxは使用する。 

私の頭が悪いのか、上の日本語は、意味がさっぱりわからない。


「7zS.sfx7-Zipインストールしたフォルダにある」と書いてあるが、そんなファイルは無いのだ。


「(7zS.sfxファイル名)」とは何なのだ?「(7zS.sfxファイル名)」は「7zS.sfx」とは違うのか?


で、いろいろ調べたところ、最新のバージョンでは、この7zS.sfxは別で配布されるようになったようだ。


日本語7-zipサイトの「7z Library, SFXs for installers, Plugin for FAR Manager」のところからdownload出来る。日本語ファイルのところしか見ていなかったので気がつかなかった。


しかし、これに対応する日本語パッチ存在しないので、展開時に何かエラーが発生すると英語が表示される。正直、気分が悪いが、まあいいや。あとは…。


config.txtとして、以下のように書いてUTF-8で保存。

;!@Install@!UTF-8!
Title="○○のインストール"
BeginPrompt="○○のインストールを開始します。よろしいですか?"
RunProgram="Setup.exe"
;!@InstallEnd@!

コマンドプロンプトから、以下の行を実行。

copy /b 7zS.sfx + config.txt + Release.7z setup.exe

などとすれば、無事、自己解凍後に自動起動するするファイルが作成できる。7zS.sfxと言うファイルの末尾に展開時の設定ファイルアーカイブバイナリレベルで結合しているだけ、という何ともシンプルな作りだ。


しかし、もうちょっとユーザーフレンドリーなGUIにならんかね?ZELDAという補助ソフトがあるのだけど、これシェアウェアな上に、説明が古いのよね。

ZELDAで7z形式を扱う上で必要なのは、7-Zip(2.30 Beta13以降)に含まれる以下のファイルです。

だから、含まれてないとゆうちょるに…(つω`)


まあ、そんなわけで、たったこれだけのことなのだけど結構、苦労した。

 | 

1900 | 01 |
2004 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2013 | 01 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2014 | 01 | 02 | 03 | 04 | 06 | 08 | 10 | 11 | 12 |
2015 | 01 | 02 |


Microsoft MVP
Microsoft MVP Visual C# 2006.07-2011.06