最小インストーラを作成する
開発環境の確認と最小インストーラの作成
WiXのチュートリアルでは、最も小さなルート要素だけで構成されたソースも用意しているのですが、さすがにそこから始めたのでは紙面が尽きてしまいますので、msiとしての最小構造から入りましょう。テキストエディタ(VSでもよい)で、下記のソースを作成します。文字コードそのものは何でも良いのですが、XMLの標準に従って、UTF-8を使うことにします(サンプルはすべてUTF-8で用意しています。エディタによっては文字化けすることがありますので、その場合は文字コードを指定してお読みください)。
<?xml version="1.0" encoding="UTF-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2003/01/wi"> <Product Id="B6A98E5F-D6A7-46FB-9E9D-1F7BF443491C" Name="最小インストーラ" Version="1.00.0000" Manufacturer="とっちゃん" Language="1041" Codepage="932"> <Package Id="????????-????-????-????-????????????" Description="サンプルの最小インストーラ" Comments="最小インストーラデータベース" InstallerVersion="200" Platforms="Intel" Manufacturer="とっちゃん" Keywords="Installer,MSI,Database" Languages="1041" SummaryCodepage="932"/> </Product> </Wix>
このまま全部書き込んでしまっても問題ありません。まずはこれを保存します。基本的にはどこに保存してもかまいませんが、ソースの格納場所を決めておくとよいでしょう。
ファイルを保存したら、コマンドプロンプトを開き、ソースの保存先フォルダに移動して、以下の2つのコマンドを実行します。
C:\WiX\candle.exe MinSrc1.wxs C:\WiX\light.exe MinSrc1.wixobj
これで、同じフォルダに「MinSrc1.msi」というファイルが出来上がっているはずです。早速インストールしてみたいところですが、この設定だけでは「なんのインストーラなのか」と「誰が作ったのか」という情報しかないため、実際にはインストーラとして動作するわけではありません。ですが、インストーラに必須の識別情報のすべてが含まれています。
インストール可能なインストーラの作成
詳しい説明は最後にまとめて行なうことにして、実際にインストーラとして動作させるために肉付けしていきましょう。今回はWiXのヘルプに習って「Readme.txt」をインストールすることにします。インストール先は、Windowsロゴを参考に「\Program Files\Tocchann\WixPart1」というフォルダです。
「Readme.txt」は、先ほど用意した保存用フォルダに「WixPart1」というフォルダを用意して、そこに保存しておきます(相対パス指定になっているので、注意してください)。ソースファイル名は、先ほどの「MinSrc1.wxs」に下記の部分を追加した「MinSrc2.wxs」としています。
<?xml version="1.0" encoding="UTF-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2003/01/wi"> <Product ...省略...> <Package ...省略.../> <!-- ここから追加 --> <Media Id="1" Cabinet="Product.cab" EmbedCab="yes" /> <Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="ProgramFilesFolder"> <Directory Id="Tocchann" Name="Tocchann"> <Directory Id="INSTALLLOCATION" Name="WixPart1"> <Component Id="Component1" Guid="960E5941-FE2A-4384-A96F-8AED231DB301"> <File Id="File1" Name="Readme.txt" KeyPath="yes" Compressed="yes" DiskId="1" Source="WixPart1\Readme.txt"/> </Component> </Directory> </Directory> </Directory> </Directory> <Feature Id="Feature1" Level="1"> <ComponentRef Id="Component1" /> </Feature> <!-- ここまで追加 --> </Product> </Wix>
ビルドは、先ほどと同じように行います。ビルドがうまくいけば同じフォルダに「MinSrc2.msi」というファイルが作成されます。今度は実際にインストールしてみましょう。本来なら、インストーラテスト用の専用マシン(いつでもフォーマット可能な環境)を用意するのが望ましいのですが、今回はこの手間を省き、現在動かしているマシンにインストールしてしまいます。
エクスプローラで出来上がった「MinSrc2.msi」をダブルクリックしてみてください。コマンドラインから実行する場合は、「msiexec /i MinSrc2.msi」と入力することでインストールできます。小さなダイアログ(画面1)が出てインジケータが最後まで進み、ダイアログが消えればおそらくインストール成功です。インストールできたかどうかを確認するために、インストール先として指定したフォルダ(\Program Files\Tocchann\WixPart1)に、「Readme.txt」があるかどうか確認してみてください。ファイルは存在していますか? 中身は用意したものと同じでしょうか?

これらが確認できれば、インストールは成功です。インストールしたファイルは、取っておいてもディスクの無駄にしかならないので、とっととアンインストールしてしまいましょう。
アンインストールは、市販のソフト同様、[コントロールパネル]の[プログラムの追加と削除]から行います。「最小インストーラ」という名前でインストールしているので、該当する項目を選択し、[削除]ボタンを押してアンインストールしてください。無事にアンインストールが完了すれば、[プログラムの追加と削除]のダイアログから消えているはずです。
今回はここまでですが、既にインストーラの骨格は出来上がっています。[コントロールパネル]の[プログラムの追加と削除]にもセットされますし、インストール/アンインストールのロゴ案件に必要な最低条件はすべて満たしています(まだまだ、納得のいくものではありませんが)。次回からは、ユーザーに今何をやっているかをきちんと通達するUIを搭載して、もう少しまともなインストーラにしていくことにしましょう。
それでは最後に、今回出てきたWiXのデータについて解説します。

