最近リリースされたWindows Installer XML (WiX) ツールセット v3.7は、MSBuild を完全にサポートしており、また開発者はBootstrapper アプリケーションの助けによりセルフアップデート機能を含めることができる。またリファレンスカウント機能を組み込んでいるので、それによってMSIとMSPパッケージがBurnエンジンによって自動的に参照カウントされる。
WiXによって、開発者はXMLソースコードからWindows 用のインストールパッケージを作成できる。ツールセットがそのソースコードをコンパイルし、リンクし、以下の様な実行モジュールを生成する。
- セットアップバンドル (.exe)
- インストールパッケージ (.msi)
- マージモジュール (.msm)
- パッチ(.msp)
- トランスフォーム (.mst)
WiXはoutercurve foundationの成果物でコマンドラインビルドツールを含んでおり、それはあらゆる自動ビルドシステムと連携する。更に、MSBuildは、コマンドラインプロンプトからサポートされているばかりでなく、Visual Studio 2012とTeam Buildにも統合されている。
Windows インストールパッケージの生成に加えて、WiXツールセットには、幾つもの拡張機能が含まれ、ツールセットの機能を拡張できる。例えば、IIS webサイトのインストール、SQL Server データベースの生成、 Windows ファイアウォールの例外の登録などができる。 WiX SDKに含まれているマネージそしてネイティブのライブラリの助けにより、C# と C++でWindowsインストーラと連携するコードを書くことができる。
WiXには、Votive, Visual Studioアドインが含まれているので、Visual Studio統合開発環境(IDE)を使ってWiXセットアッププロジェクトを作成、ビルドでき、シンタックスハイライト と インテリセンス が .wxsソースファイル用にサポートされている。またそれはVisual StudioにWiXセットアッププロジェクトタイプを追加するので、ファイルメニューからアクセスできる。
WiXの内部構造は以下のコンポーネントからできている。
- Candle - コンパイラー
- Light - リンカー
- Lit - ライブラリツール
- Dark - 逆コンパイラー
- Tallow/Heat - ディレクトリツリーの助けによりWiXファイルリストコードを生成するツール
- Pyro - パッチファイル(msp)を作成するツール
- Burn - ブートストラッパ
何人かの開発者はWiXツールセットを使って広範囲に開発している中で、バグ を報告している。
Steveが報告している。
WiX 3.7のインストールによって既存の Visual Studio 2008 WiXプロジェクトがオープンできなくなった。
Brianがコメントしている。
Windows 7 64ビットプラットフォームに Wix37.exeにインストールしている時の問題。UIからのメッセージは、「エラー、リトライ」としか表示されない。何が問題なのかわからない。私のシステムには Wix 3.6, VS2010, VS2012がインストールしてある。
大きな、巨大なアップデートではありません。しかし、私見では、それだから良いのです。私はアジャイル支持なので何よりもリズムが好きです。近い将来またWiXのサイトに来たい、という気持ちを強く持った。
参考
- WiX マニュアル
- WiX チュートリアル
- 本 - WiX 3.6: Windows Installer XML への開発者ガイド
- ハウツー:Windows Installer XML (WiX)のインストール
- ASP.NET Webアプリケーション用のWIXインストーラの作成
- MSBuild と Windows Installer XMLによるリリースの自動化
- Windows Installer XMLへの初心者向けガイド