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

コメント (注:コメントは管理人が適宜消去する場合があります)
名前
コメント

すべてのコメントを見る

記事メニュー
目安箱バナー