WiXでインストーラーをカスタマイズ

| | コメント(4) | トラックバック(0)

VisualStudioでもmsiインストーラーを作成することは可能ですが、細かいカスタマイズをするのは難しく、かといってInstallSheldを買うとなると結構な値段なので躊躇してしまいます。

そこで、WiXの出番となる訳ですが、WiXで1からインストーラーを作るのは結構だるいです。GUIでのUIの構築はできず、ソースをXMLで記述する必要があり、そこそこ勉強しなければ使えません。

そういう時は、VisualStudioとWiXを組み合わせて使うと便利です。

大体の手順は、

1.大まかなインストーラーをVisualStudioを使って作ります。

2.出来上がったmsiをWiXに付属のdarkというデコンパイラを使ってXMLに変換します。この時、アイコンファイルや各種ファイルも出力させます。

3.デコンパイルしたwxsファイルの必要な部分を書き換えます。

4.candleとlightでコンパイル&リンクします。

5.うまくいけばmsiができるので動作確認します。

以上のような感じですが、細かいやり方は解説サイトも少しはあるのでそっちでみてください。
(日本語でのコンパイルなどちょっとコツがいります)

で、今回のメインは、インストール後にIEを起動させる方法です。

なんかすごく簡単そうですがw
僕はかなりはまりました。

結論から言うと、以下のように記述します。

<Property Id="BROWSER"> 
<DirectorySearch Path="[ProgramFilesFolder]" Depth="3" Id="FindAspNetRegIis">
<FileSearch Name="iexplore.exe"/> 
</DirectorySearch>
</Property>
<CustomAction Id='LaunchBrowser' Property='BROWSER' ExeCommand='http://~URLを記述~
' Return='asyncNoWait' />

~~省略~~

<InstallExecuteSequence>

<Custom Action='LaunchBrowser' After='InstallFinalize'><![CDATA[NOT Installed]]></Custom>

</InstallExecuteSequence>

ポイントは、DirectorySearchと FileSearchでしょうか。<Property Id="BROWSER">の中にc:\ProgramFIles~とかFIXのパスで書いても動くんですが、ドライブが異なる場合やIEの場所が違う人もいるかもしれません。(まずいないけど)
となると、IEの実行ファイルの場所を探させる必要があるので、このように書きます。Depthは探すディレクトリの深さですが、3もあれば十分でしょう。
あまり広範囲に探させても動かなかったので一応[ProgramFilesFolder]以下で指定しています。

※これを試す前に、レジストリのキーを元に探す方法をためしていたのですが、どうも動作せず、ファイルを探す方法に切り替えました。

実際にブラウザを呼ぶタイミングですが、<InstallExecuteSequence>の中で指定します。
この例では、 After='InstallFinalize' としているのでインストーラーが終了した時点でIEが起動します。
インストール時だけIEが起動してほしいので、NOT Installed という条件をしていしています。

これで動きますが、本当はもっとスマートな方法がありそうです。
(知っていたら教えてください!)

WiXの情報が少ないので今回はこれで妥協します。

トラックバック(0)

このブログ記事を参照しているブログ一覧: WiXでインストーラーをカスタマイズ

このブログ記事に対するトラックバックURL: http://nishik-t.com/mt/mt-tb.cgi/351

コメント(4)

ふむぅ。
わたしゃ、インストールシールドしか使ったことねぇ~(;・∀・)

インストーラーは、結構大変だからね~。
苦労はわかります。

インストールシールドいいなー。
零細企業にはつらい値段です。
WiXはMSIをフルコントロールできるのでGUIなんてイラネって人には最高のツールです。多分w
日本語の情報はあまり無いけどね・・・。

ダミーのHTMLでも展開してHTMLを実行でブラウザが立ち上がりそうだけど、
デフォルトのブラウザが立ち上がるのでは駄目なんだね?IEじゃないと。

そうなんだよね。
IEじゃないとだめなんだわ。
何の事かわかると思うけどw
デフォルトブラウザであれば、もう少しスマートに書けるらしい。
DDEのopenコマンドとかかな。

コメントする

超便利ツール!

リンク集


GPPointer
ゲームパッドでマウス操作と一部キーボード操作を行うための自作ソフトです。
アナログスティックで気持ちよくカーソルが動きます。
寝ながら快適にパソコンを操作する為に作りましたw
良ければ使ってください。

完全に動かなくなるまで乗りますよ?
車(日産パルサー)関係はこちらへ
走行22万キロを越した老車の記録です。
パーツインプレッションなども書いています。

ほくろぐ
友達のブログです。自作PC系の話題が豊富です。

陶器職人@momo
友達のブログです。自作陶器を製作&販売しています。
近辺にお住まいの方はお店(チャレンジショップ)に行ってみては?

ヌーディストライフ
ヌーディストの知り合いですw
僕はヌーディストではありませんがっw
BIGLOBEのブログランキングで常にTOP10に入るお化けブログですよ。

アーカイブ

ウェブページ

Powered by Movable Type 4.1

ログール

Amazon

AD

このブログ記事について

このページは、nishik-tが2007年11月 6日 21:38に書いたブログ記事です。

ひとつ前のブログ記事は「MicrosoftのOneNoteがすごい」です。

次のブログ記事は「Windows Live フォトギャラリーのパノラマ写真作成機能」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。