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