WiX @ wiki
一番シンプルなUI
最終更新:
wixwiki
-
view
シンプルなWixUI
「SimpleInstaller」では、プログレスバー以外何も表示されないインストーラーができあがった。このインストーラーに、もう少し親切なユーザインターフェースを付けてみよう。1からユーザインターフェースを書くこともできるが、折角WiXでライブラリ化されたいくつかのユーザインターフェースがあるため、ここではそれを使うことにする。
ここで表示するユーザインターフェースは、インストール時に以下のような画面遷移を行う。
- インストール開始
- ライセンス許諾
- インストール中
- インストール完了
また、インストール完了後に再度インストーラを起動すると、下記の選択画面が表示される。
- 修復モード
- アンインストールモード
ソースコード
<?xml version="1.0" encoding="shift-jis"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2003/01/wi">
<Product Id="????????-????-????-????-????????????" Manufacturer="hoge corp"
Language="1041" Name="hoge soft" Version="1.0.0" Codepage="932">
<Package Id="????????-????-????-????-????????????" Compressed="yes" />
<Media Id="1" EmbedCab="yes" Cabinet="disk1.cab" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Component Id="COMPONENT1" Guid="ff746e5c-441b-4772-9fdf-52a105ec37a1" DiskId="1">
<File Id="MAINFILE" Name="TEST.TXT" />
</Component>
</Directory>
<Feature Id="MAINFEATURE" Level="1">
<ComponentRef Id="COMPONENT1" />
</Feature>
<UIRef Id="WixUI_Minimal" />
</Product>
</Wix>
「SimpleInstaller」との違いは、Productタグの子要素として「UIRef」タグを配置しているだけだ。
コンパイル・リンク
コンパイル方法はSimpleInstallerと全く変わらない。
candle SimpleWixUiInstaller.wxs
リンク方法が若干異なる。
light SimpleWixUiInstaller.wixobj wixui.wixlib -loc WixUI_en-us.wxl -out SimpleWixUiInstaller.msi
コンパイルで生成されたwixobjファイルだけではなく、WiXのユーザインターフェースが定義されたライブラリファイルをリンクする必要がある。wixui.wixlibファイルは、wixのインストールディレクトリ内に存在する。
また、Wixのユーザインターフェースのライブラリは、さらに文字列リソースを外部ファイルに出している。これによって、各国の言語ファイルを用意すれば他言語への対応ができる。WixUI_en-us.wxlもwixのインストールディレクトリ内に存在する。
さらに、今回のように複数のファイルをリンクする場合には、「-out」オプションで出力するmsiファイルの名前を指定する必要がある。
visitor: - (today: - ) Author : nagatyo
コメント (注:コメントは管理人が適宜消去する場合があります)
