ウェルカムダイアログ、進行状況ダイアログ、インストール完了ダイアログを持つインストーラーの作成
WiXを利用して、ウェルカムダイアログ、進行状況ダイアログ、インストール完了ダイアログを持つインストーラーを作成します。
事前準備
こちらの記事を参照して、WiXインストーラープロジェクトを作成し、ファイルを1つインストールするインストーラーを作成します。
手順
Visual Studioを起動します。
WixUIExtension.dll 参照の追加
ソリューションエクスプローラーのウィンドウで、WiXのプロジェクトのノードを開きます。下図のノードが表示されます。
[References]ノードをクリックして選択し、右クリックでポップアップメニューを表示します。ポップアップメニューの[参照の追加]メニューをクリックします。
下図の[Add Reference]ダイアログが表示されます。
今回参照に追加する"WixUIExtension.dll"は"C:\Program Files (x86)\WiX Toolset v(WiXのバージョン番号)\bin" ディレクトリに配置されています。
"C:\Program Files (x86)\WiX Toolset v(WiXのバージョン番号)\bin" ディレクトリを表示します。今回の場合は "C:\Program Files (x86)\WiX Toolset v3.11\bin" ディレクトリとなります。ファイル一覧から、"WixUIExtension.dll"をクリックして選択し、[追加]ボタンをクリックします。[選択されたプロジェクトとコンポーネント]の欄に"WixUIExtension.dll"が追加されます。[OK]ボタンをクリックしてダイアログを閉じます。
ソリューション エクスプローラーの"References"ノードに"WixUIExtension"のノードが追加されます。
Product.wxs の更新
Product.wxs ファイルを変更します。
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="{B8D21526-447C-49F6-9868-24EFCDB02C25}" Name="MinimalUIInstaller" Language="1033" Version="1.0.0.0" Manufacturer="iPentec" UpgradeCode="67543823-e85b-4066-8015-77979bb11eea">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate EmbedCab="yes" />
<UIRef Id="WixUI_Minimal" />
<Feature Id="ProductFeature" Title="MinimalUIInstaller" Level="1">
<ComponentGroupRef Id="ProductComponents" />
</Feature>
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="MinimalUIInstaller" />
</Directory>
</Directory>
</Fragment>
<Fragment>
<DirectoryRef Id="INSTALLFOLDER">
<Component Id="Component1" Guid="{BE0399F6-8287-44B9-8252-8017A4935BBB}" DiskId="1">
<File Id="File01" Name="Document.txt" Source="Document.txt"/>
</Component>
</DirectoryRef>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
<ComponentRef Id="Component1" />
</ComponentGroup>
</Fragment>
</Wix>
解説
変更点は
<UIRef Id="WixUI_Minimal" />
の追加です。利用するUIのタイプを指定しています。
ビルド
プロジェクトをビルドします。今回はEmbedCab="yes"が指定されていますので、インストーラーはmsiファイル1ファイルになります。出力ディレクトリにビルド結果のmsiファイルが配置されています。
msiファイルを実行します。下図のウェルカムダイアログが表示されます。
[I accept the terms in the License Agreement] のチェックボックスをチェックします。ダイアログ下部の[Install]ボタンがクリックできる状態になります。[Install]ボタンをクリックします。
下図のウィンドウが表示され、インストールが始まります。
インストールが完了すると、下図のダイアログが表示されます。[Finish]ボタンをクリックしてインストーラーを終了します。
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用