WiX(Windows Installer XML) について調べたこと つらつら。アトランダムに更新。
→ WiX 記事一覧
WiX って?
WiX ( http://wix.sourceforge.net/ ) はインストールパッケージを生成するためのツール群&ライブラリ。MS謹製オープンソース。
- 現在の最新版は v3.0(stable、というか開発 fix ?)、v3.5(バリバリ開発中)
- Visual Studio で WiX やカスタムアクションを開発するためのアドイン "Votive" が WiX v3.0 から同梱。VS 2005 だと ProjectAggregator2.msi も入れとかなきゃ、とか、VS 2008 Express だといろいろ制限が、とかあるらしい*1。
- Visual Studio 2010 からは VS に WiX が統合されるらしい(Visual Studio Installer はどうなるんだろう? 下位互換のためだけに残る? WiX にコンバートされてなくなる?)。
WiX 入門(なにで勉強したらいい?)
日本語のドキュメントは無いに等しいので、チュートリアルレベルで足りないのなら、根性入れて英語読むしか。
慣れれば大丈夫!(つか、慣れるしかない)
書籍
- WiX の本は英語も含めてまだないはず。
- Windows Installer (msi) の本なら The Definitive Guide to Windows Installer (Expert's Voice in Net) があるが、刊行が 2004 年と ちょびっと古くて*2、もちろん英語。
- Inside Windows Installer 4.5: Erstellen und Verwalten von Installationspaketen は 2008年刊行で良さそうなのだが、ドイツ語!
- 日本語では InstallShield公認ガイドブック MSIインストーラ開発 が唯一の本。InstallShield の本だが、msi の基礎知識をおさえている(はず)。そのあたりを身につけてから、msi/WiX の英語ドキュメントを読めば理解が速いはず。
- とあれこれ書いたが、実はどれも読んでない。すいません。
リファレンス
- WiX のドキュメント ( http://wix.sourceforge.net/manual-wix3/main.htm )。
WiX v2.0 から v3.x への移行
- v2.0 用に書かれた WiX のソースファイル(wxs ファイル) を v3.x 用にコンバートするツールはない(はず)。
- したがって v3.x に適応させるには、v3.x 用のコンパイラ(candle.exe)でひとまずコンパイルさせてみると、エラーメッセージが大量に出てくるので、それを一つ一つ対応していく、という形になる。
- エラーメッセージはかなり親切なので、一つ一つ従っていけば最終的には v3.0 対応できるだろうが、変更箇所はそれなりに多いだろうことは要覚悟。また、WiX の知識がない状態でそのエラーメッセージを見ても意味がわからないと思われるので、v2.0 用のチュートリアルをいきなり v3.x で試すというのは、やはりおすすめしない。
- v3.0 対応で ひっかかりやすいポイントは candle.exe & light.exe のコマンドラインオプションに -ext WixUIExtension などをつけることと、User Element などが別 namespace に移動したあたり(詳細は UtilExtension の reference 参照)。余力があれば v2.0 と v3.0/3.5 の違いもまとめるかも。
- v3.0 と v3.5 の違い
- リファレンスが共通になっているので、機能面ではきっと大きな違いはないと思われる(まだちゃんと調べてない)
- v3.0 は Visual Studio 2005/2008 に対応。v3.5 は Visual Studio 2005/2008/2010 に対応。