WiX

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
Windows Installer XML toolset
開発元 マイクロソフト
初版 2004年04月5日(10年前) (2004-04-05
最新版 3.6.3303 / 2012年09月3日(2年前) (2012-09-03
プログラミング言語 C++, C#
対応OS Microsoft Windows
ライセンス Common Public License
公式サイト wixtoolset.org
テンプレートを表示

Windows Installer XML toolset (ウィックス)は、XML ドキュメントから Windows Installer (MSI) パッケージを作成するためのフリーソフトウェアのツールセットである。WiX はコマンドラインベースの環境をサポートしている。これにより、MSI(または MSM)パッケージをビルドする作業をビルドプロセスに統合することができるようになっている。リリース元はマイクロソフトで、ライセンスはオープンソースライセンスである Common Public License である。

内部構造[編集]

WiX はいくつかのコンポーネントで構成されている。コンポーネントの名前は "wick(s)" (ロウソクの芯)という単語に対する言葉遊びから来ている。[1]

Candle[編集]

Candle はコンパイラで、XMLドキュメントをコンパイルし、シンボルとシンボルへのリファレンスを含むオブジェクトファイルを生成する。

Light[編集]

Light はリンカ で、オブジェクトファイルを受け取り、オブジェクトファイル中のリファレンスと、他のオブジェクトファイル中のシンボルとを適切にリンクする。また、バイナリファイルをまとめ、パッケージングし、MSI(または MSM)ファイルを生成する処理も行う。

Lit[編集]

Lit はライブラリ操作用のツールで、複数のオブジェクトファイルを結合して、Light でパースできるライブラリに変換するのに使われる。

Dark[編集]

Dark は逆コンパイラで、MSI または MSM ファイルを受け取り、そのパッケージを表す XML ドキュメントを生成する。

Tallow/Heat[編集]

Tallow はディレクトリツリーをトラバースし WiX ファイルリストを生成するツールである。Tallow を使うと WiX の「フラグメント」を作ることができる。フラグメントは、コンパイル時に他の WiX ソースへ組み込むことができる。WiX 3.0 では、Tallow はより全般的な「収穫用」ツールである Heat で置き換えられる予定である。Tallow には非公式のバージョンである Mallow [2] もある。Mallow には、同期機能と、より改善されたコンポーネントID生成機能が付け加えられている。

履歴[編集]

2004年4月5日、WiX はマイクロソフトのソフトウェアで初めて、外部で制定されたオープンソースライセンスである Common Public License の下でリリースされた。また、マイクロソフトで初めて外部 (SourceForge.net) でホストされたシェアードソースプロジェクトでもある。

WiX の原作者で中心的な開発者である Rob Mensching は、空き時間を使って WiX の開発を行っていた。リリース時、Mensching は「オープンソースコミュニティとはどういうものか、マイクロソフト内部の人間の多くが理解していると私には思えない。私はサンプルを提供することでこの理解を高めたい」と発言している。

2006年には、マイクロソフトの様々な製品事業部から集まった数人が Mensching と共に WiX の開発を行った。彼らは週1回、勤務時間後に集まり、開発の成果を持ち寄り、プログラムを書いた。Microsoft SQL ServerMicrosoft Office 2007 は WiX でパッケージングされている。

2007年には WiX 2.0 は安定版と見なせるようになり、品質も製品レベルになった。今後 WiX 2.0 の開発は行われない。

2009年7月4日、WiX 3.0 は製品品質になったと見なされた。

アクティブな WiX ユーザのメーリングリストとしては [1] がある。

参考文献[編集]

  1. ^ http://blogs.msdn.com/robmen/archive/2005/12/22/506760.aspx
  2. ^ http://www.infozoom.de/download/Mallow.zip.

外部リンク[編集]

関連ツール[編集]