- 追加された行はこの色です。
- 削除された行はこの色です。
&tag(WiX/バンドル);
*目次 [#k40bd576]
#contents
*関連ページ [#g1036fac]
-[[WiX]]
*参考情報 [#c8b2e4a7]
-[[Working with WiX Standard Bootstrapper Application:http://wixtoolset.org/documentation/manual/v3/bundle/wixstdba/]]
*概要 [#ja7634b7]
-Bootstrapperと呼ばれるexeファイルから、個別のmsiを呼び出すようなインストーラーを作成することができる。
-必要なライブラリやランタイムを本体とは別個にインストールしないといけないときに使用する。
-またインストーラーのGUIを多言語化するときもこの方法を使う。
-WixUI_ja-jp.wxlをダウンロードして使わないといけない。
*基本 [#za460032]
-[[Working with WiX Standard Bootstrapper Application:http://wixtoolset.org/documentation/manual/v3/bundle/wixstdba/]]にある手順を実行してみる。
-example.wxsを以下の内容で作成。実際はLicenseUrlで正しいライセンスを指定すること。
#pre{{
<?xml version="1.0"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Bundle Version="1.0.0" UpgradeCode="229a81d7-7a70-4492-b0c5-f72b2f3e2d9e">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense">
<bal:WixStandardBootstrapperApplication
LicenseUrl=""
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" />
</BootstrapperApplicationRef>
<Chain>
<MsiPackage SourceFile="sample.msi" DisplayInternalUI="yes" />
</Chain>
</Bundle>
</Wix>
}}
-sample.msiを適当に準備し(空ファイルでもよい)、以下のコマンドでインストーラーexample.exeが作られる。
#pre{{
candle.exe example.wxs -ext WixBalExtension
light.exe example.wixobj -ext WixBalExtension
}}
*多言語化 [#ma1742d1]
**参考情報 [#jbd70062]
-[[Wix 3.8 Standard Bootstrapper HyperLinkLicense - Full Working Sample | How IT changes the world:http://max.zamorsky.name/node/78]]
-[[wix-users - Using burn for installer localization:http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Using-burn-for-installer-localization-td7583910.html]]
-[[wix-users - My experiences making a multi-language bundle:http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/My-experiences-making-a-multi-language-bundle-td7208949.html]]
-UserLanguageID、SystemLanguageID などを使ってMsiを呼び出す。しかしフォールバックを考えないといけない。
-[[Burn Built-in Variables:http://wixtoolset.org/documentation/manual/v3/bundle/bundle_built_in_variables.html]]使えそうな変数。
--SystemLanguageIDはGetSystemDefaultLangIDで決定される。
--UserLanguageIdはGetUserDefaultLangIDで決定される。