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
コメント (注:コメントは管理人が適宜消去する場合があります)