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を編集するのを手助けするエディタがあるらしい。
あわよくば自動でコンバートしてくんないかなぁと、甘い期待を持って、インストール。ファイルを開いてみると。。。
あ、やっぱりだめだった。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を追加。
あ、できた。
ちゃんとインストーラも日本語になってるし、使用許諾も今まで使っていたのに変更された。
相変わらずエラーは出てるけど、パッケージができてるからいいか。いや、エラーの原因はわかってるんだけど、この項目は必要なんだよなぁ。
もうちょっと、いろいろ試してから公開かな。
このドキュメントも頑張って読んでおくかぁ。