ブログ

FFRI BLOG

2013-03-05 FFRI-Tech-Meeting #5-2 「Wixによるインストーラ作成」

プロダクト開発第一部の砂山です。


私は、製品開発業務に携わっているのですが、その中でインストーラの開発を行うことがあります。

Windowsのインストーラ開発ツールには様々なツールがありますが、今回はその1つであるWixについて話をしました。


WixとはWindows Installer XML toolsetの略称です。

その名の通り、XMLで記述されたソースファイルからMSIパッケージを作成するツールになります。

ツール自体はフリーソフトウェアとして公開されており、手軽に利用できるようになっています。


Wixによるインストーラ開発の全体の流れとしては以下のようになります。

1.インストールするコンポーネントを用意する。

2.XMLソースファイル(.wxs)にインストールするコンポーネントの指定やインストール時の動作を記述する。

3.XMLソースファイルをコンパイルして、オブジェクトファイル(.wixobj)を作成する。

4.オブジェクトファイル、コンポーネント等をリンクしてMSIパッケージ(.msi)を作成する。

image01


XMLソースファイルには、インストーラの様々な情報を定義するのですが、その構成は以下のようになっています。

image02


XMLソースファイルが作成できれば、以下のようにコマンドを実行すればコンパイル、リンクができます。


コンパイル

candle ~.wxs

リンク

light ~.wixobj -out ~.msi wixui.wixlib -loc WixUI_ja-jp.wxl


Windows Installerの標準機能を使用するだけのシンプルなインストーラを作成するのであれば、これだけで十分です。

標準機能だけでは十分でない場合、カスタムアクションを利用することができます。

カスタムアクションを使用すれば、ユーザ定義のアクションをインストール処理中に実行することができます。

C++などで開発した外部DLLから関数を呼び出すということも可能です。

これにより柔軟な開発が可能になっています。