Windows Installer XML (WiX)

Amazon Associate JP pluginの新しいバージョンは、あっさり出来上がったのだが、インストーラで手こずったのでそのメモ。

僕が公開している、Windows Live Writerのプラグインは、Windows Installer XML (WiX)を用いてインストーラを作成している。

今まで使っていたのが、WiX Version 2.0だったのだが、Version 3.5が出ていたので、そちらを使うように変更。(Version 3.6はbetaって書いてあったので試していない。)

これが頭を抱える原因だった。

Version2.0からVersion3.0で、wxsの書式が大きく変更になったらしく、candle.exeが全くもって通らない。

error CNDL0199 : The Wix element has an incorrect namespace of ‘http://schemas.microsoft.com/wix/2003/01/wi’.  Please make the Wix element look like the following: <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">.

Version 3.5のcandle.exeを実行するとこんな感じ。xmlnsをいじって実行すると、いろいろとエラーを吐く。

これをいちいち直すのかぁ。困ったなぁと頭を抱えていると、WixEditなる、.wxsを編集するのを手助けするエディタがあるらしい。

あわよくば自動でコンバートしてくんないかなぁと、甘い期待を持って、インストール。ファイルを開いてみると。。。

image

あ、やっぱりだめだった。xmlnsをいじれば一応開くんだけど、やっぱりビルドが通らない。

WiXEditってインストールすると、WiX Version3がWiXEditのフォルダの下にインストールされるのね。

ぐぐってみると、

あ、あった。要するに、WiX version3以降には、WixCop.exeなるツールが入っていて、-fオプションをつけて起動すると、Version 2用のwxsを自動変換で、version 3用にしてくれるらしい。

あ、できた。

前のファイルと見比べてみると、確かに幾つかの項目が追加されたり削除されたり。
candle.exeとlight.exeがエラーは出てるんだけど、通せて、インストールパッケージが出来上がった。
実際にためしてみると、英語のインストーラ、使用許諾もCommon Public Licenseになってる。

ここまでできたらあと少し。

このページを参考にちまちまいじる。

「Product要素の属性の定義」の説明に従って、LanguageとCodepageをいじる。
「Package要素の属性の定義」の説明に従って、SummaryCodepageをいじる。
「使用許諾の内容を変更する」の説明に従って、ちまちま変更。

ついでに、WiX EditのTools→Optionから、WiX Edit Settingsの中のWiX Binaries DirectoryをWiX ver3.5の方に変更。
Build→Build SettingsからEdit Settingsの中の設定を使って、Light.exeの方に、-ext WixUIExtension –cultures:ja-jpを追加。

あ、できた。

ちゃんとインストーラも日本語になってるし、使用許諾も今まで使っていたのに変更された。

相変わらずエラーは出てるけど、パッケージができてるからいいか。いや、エラーの原因はわかってるんだけど、この項目は必要なんだよなぁ。

もうちょっと、いろいろ試してから公開かな。

このドキュメントも頑張って読んでおくかぁ。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください