WixUI ダイアログ セットの使用

WixUI ダイアログ ライブラリには、よく知られた ウィザードスタイル セットアップ ユーザー インターフェースを提供する 一続きの 組み込みダイアログ セットが 入っています。 いくつかのタイプのダイアログ セットが サポートされています − あなたのセットアップに ユーザーインターフェースを追加するのに UIRef エレメントを 使用できます。 ビルトイン WixUI ダイアログ セットは、UI 中で表示されるビットマップから カスタム ダイアログの 追加や削除まで、カスタマイズ可能でも あります。 いっそうのインフォメーションに関しては、 WixUI Dialog Set のカスタマイズを 見て下さい。

ビルトイン(組み込み)ダイアログ セット

WixUIExtension は、セットアップ ウィザード中で使用される いくつかのコモンダイアログ シーケンス のためのサポートを 含んでいます。

WixUI_Mondo

WixUI_Mondo は、フルセットのダイアログを含んでいます(ゆえに "Mondo" ): ようこそ、ライセンス承諾、セットアップ タイプ(標準、カスタム、完全)、フィーチャー カスタマイズ、ディレクトリー参照、ディスク使用量。メンテナンスモード ダイアログも 含まれています。 デフォルトでは プロダクトのいくつかのフィーチャーがインストールされず 標準と完全インストールと の間で意味のある違いがある時に、WixUI_Mondo を使って下さい。

: WixUI_Mondo は、ユーザーが 標準か完全を選ぶ時にインストール レベルをセットするのに SetInstallLevel コントロール イベントを使用します。 標準では インストール レベルは 3 にセットされ、完全では 1000 です。 フィーチャー レベルとインストール レベルについての詳細に関しては、 INSTALLLEVEL プロパティを見て下さい。

WixUI_FeatureTree

WixUI_FeatureTree は、セットアップ タイプ ダイアログを省略した、WixUI_Mondo の よりシンプルな バージョンです。 代わりに ウィザードは、ライセンス承諾から フィーチャー カスタマイズ ダイアログに 直接に進みます。 WixUI_FeatureTree は、あなたのプロダクトがデフォルトで すべてのフィーチャーをインストールする時に WixUI_Mondo よりももっと適切です。

WixUI_InstallDir

WixUI_InstallDir は、どのフィーチャーをインストールするのか選ぶのを ユーザーに許可しませんが、 プロダクトがインストールされるディレクトリーを ユーザーに選ばせるダイアログを 追加します。

WixUI_InstallDir を使うには、WIXUI_INSTALLDIR と名付けられたプロパティを、ユーザーが場所を 指定できるようにしたいディレクトリーの ID の値に、セットしなければなりません。 ディレクトリー ID は、影響を及ぼすようにUI から実行シーケンスに渡されなければならないので、 すべて大文字でなければなりません。例えば:

<Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="ProgramFilesFolder" Name="PFiles">
    <Directory Id="TESTFILEPRODUCTDIR" Name="Test File">
      ...
    </Directory>
   </Directory>
</Directory>
...
<Property Id="WIXUI_INSTALLDIR" Value="TESTFILEPRODUCTDIR" />
<UIRef Id="WixUI_InstallDir" />

WixUI_Minimal

WixUI_Minimal は、ビルトイン WixUI ダイアログ セットの最もシンプルなものです。 その唯一のダイアログは、ようこそとライセンス承諾ダイアログを兼ね備えていて、フィーチャー カスタマイズ ダイアログを省略しています。 WixUI_Minimal は、あなたのプロダクトが オプションのフィーチャーを持っていなくて インストール ディレクトリーの変更をサポートしない時に、適しています。

WixUI_Advanced

WixUI_Advanced ダイアログ セットは、WixUI_Minimal のようにワンクリック インストールの オプションを提供しますが、もしユーザーが advanced オプションをコンフィギュレーションするのを 選べば 他のダイアログ セットのように ディレクトリーとフィーチャーの選択も 可能にします。

WixUI_Advanced を使うには、セットアップ オーサリング中に 以下の情報を含めなければなりません:

  1. APPLICATIONFOLDER と名付けられた Id を持つディレクトリー。このディレクトリーは、プロダクトの為のデフォルトのインストール場所になります。例えば:
      <Directory Id="TARGETDIR" Name="SourceDir">
        <Directory Id="ProgramFilesFolder" Name="PFiles">
          <Directory Id="APPLICATIONFOLDER" Name="My Application Folder">
            ...
          </Directory>
        </Directory>
      </Directory>
      
    
  2. ApplicationFolderName と名付けられた Id を持つプロパティと、デフォルト フォルダ名を表す文字列にセットされた値。このプロパティは、デフォルトのインストール場所を形成するのに使用されます。

    マシンごとのインストールに関しては、デフォルトのインストール場所は [ProgramFilesFolder][ApplicationFolderName] であり、ユーザーはセットアップ UI 中で それを変更する事が可能です。ユーザーごとのインストールに関しては、デフォルトのインストール場所は [LocalAppDataFolder]Apps\[ApplicationFolderName] であり、ユーザーはセットアップ UI 中で それを変更する事はできません。

    例えば:
      <Property Id="ApplicationFolderName" Value="My Application Folder" />
      
    
  3. WixAppFolder と名付けられた Id を持つプロパティと、WixPerMachineFolderWixPerUserFolder にセットされた値。このプロパティは、ユーザーがプロダクトを マシンごとにインストールするか ユーザーごとにインストールするかを 選ぶ事ができる セットアップ UI 中の インストール スコープ ダイアログにおける ラジオボタンのデフォルトの選択値を セットします。例えば:
      <Property Id="WixAppFolder" Value="WixPerMachineFolder" />
      
    

WixUI_Advanced ダイアログ セット中のインストール スコープ ダイアログを抑制する事が可能であり、 すると ユーザーはマシンごとのインストールか ユーザーごとのインストールかを 選ぶ事ができません。 こうするには、WixUISupportPerMachineWixUISupportPerUser WiX 変数を 0 にセットしなければなりません。 これらの変数それぞれについてのデフォルト値は 1 で、同じ .msi 中でこれらの値の両方を 0 にセットすべきではありません。 例えば、インストール スコープ ダイアログを削除して マシンごとのインストールだけをサポートするには、 以下をセットする事ができます:

  <WixVariable Id="WixUISupportPerUser" Value="0" />
  

インストール スコープ ダイアログは、ユーザーの選択に基づいて インストール セッションに関する ALLUSERS プロパティを 自動的にセットします。 もしこれらの WiX 変数値のどちらかをセットする事によって インストール スコープ ダイアログを抑制すると、 マシンごとにインストールしたいか ユーザーごとにインストールしたいかに基づいて ALLUSERS プロパティを 適切な値に 手動でセットしなければなりません。

どのように ビルトイン WixUI ダイアログ セットを プロダクト インストーラーに 追加するか

機能するけれどユーザー インターフェースだけが欠けている 既存のインストーラーを持っていると 仮定して、ビルトイン WixUI ダイアログ セットをインクルードする為に 従う必要のあるステップです:

  1. セットアップ オーサリングに、上で述べられたダイアログ セットの名前の1つに一致する id を持つ UIRef エレメントを追加する。例えば:
    <Product ...>
      <UIRef Id="WixUI_InstallDir" />
    </Product>
    
  2. WixUIExtension を参照する為に light.exe に -ext と -cultures スイッチを渡す。例えば:
    light -ext WixUIExtension -cultures:en-us Product.wixobj -out Product.msi
    

    注 - もし Visual Studio で WiX を使っているなら Add Reference dialog を使って WixUIExtension を追加する事ができ、.msi をリンクする時に 必要なコマンド ラインが 自動的に追加されます。こうするには、以下のステップを使って下さい:

    1. Visual Studio で WiX プロジェクトを開く
    2. ソリューション エクスプローラーで プロジェクトを右クリックして、Add Reference... を選ぶ
    3. リストから WixUIExtension.dll アセンブリを選び、Add をクリックする
    4. Add Reference dialog を閉じる