前回ご紹介したコードは、テキストファイルをターゲットコンピュータにインストールし、ショートカットを使って当該ファイルを開くものでした。
しかし、通常このように単純なインストールプログラムはありません。開発者が提供するソフトがユーザコンピュータで動くようにするには、開発ソフトや取扱い説明書や、当該ソフトを支援するさまざまなライブラリーをインストールしなければいけません。
自分で作成したソフトやドキュメントは当然わかっていますが、どれが必要なライブラリーかも的確に知らなければいけません。
VSを使っている場合は「参照設定」画面でライブラリーを確認できます。ここに列挙されるライブラリーをComponent-File要素として追加すればいいと思います。
ただし、Nick RamirezはWiX Tool の heatを使うように推奨しています。試しにHeatを使ってみると沢山のRegistry登録の指示が出てきます。GACのRegistry登録は慎重でなければいけません。私自身、もっとHeatの研究をしなければいけません。
ライブラリー・GACはターゲットコンピュータの所定の場所にインストールしなければいけませんが、対象ディレクトリーを[MyProgramDir]としておけば、WIndows Installerが正しくインストールしてくれるようです。
さて、先の例ではパッケージのインストールが始まると、ライセンスの確認やプロダクトキーの入力画面もなく、一気にインストールが実行されます。
ユーザインターフェースはどのように実現すればいいのか。WiXには、標準の5種類のユーザインターフェースが用意されています。名前は以下の通りで、下になるほどにシンプルな機能になります。
WiXUI_Mondo すべてのインターフェース機能を備えています
WiXUI_FeaTureTree セットアップタイプに画面がありません
WiXUI_InstallDir
WiXUI_Minimal
WiXUI_Advanced
使い方はいたって簡単です。
次のように、Product 要素の直下に標準UIへの参照要素を追加するだけです。
<UIRef Id=”WixUI_Mondo” />
ただし、お約束で下の文も追加します。
<UIRef Id=”WixUI_ErrorProgressText” />
<UI />
以下に[WiX チュウトリアル(日本語版)]のサンプルコードを転載します。
<?xml version="1.0" encoding="utf-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <Product Name="ほげ 1.0" Id="655078FA-567E-4954-9A79-C6612F79FD07" UpgradeCode="B8F470F7-E70B-43CD-A1C2-2FDC274D032E" Language="1041" Codepage="932" Version="1.0.0" Manufacturer="ぴよソフト"> <Package Id="*" Keywords="インストーラ" Description="ぴよソフト's ほげ 1.0 インストーラ" Comments="ほげはぴよソフトの登録商標です。" Manufacturer="ぴよソフト" InstallerVersion="100" Languages="1041" Compressed="yes" SummaryCodepage="932" /> <Media Id="1" Cabinet="Sample.cab" EmbedCab="yes" DiskPrompt="CD-ROM 1枚目" /> <Property Id="DiskPrompt" Value="ぴよソフト's ほげ 1.0 インストーラ [1]" /> <Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="ProgramFilesFolder" Name="PFiles"> <Directory Id="Piyo" Name="Piyo"> <Directory Id="INSTALLDIR" Name="Hoge 1.0"> <Component Id="MainExecutable" Guid="DDFC76D3-2E52-4EB2-B4EC-2011E6D0B0F9"> <File Id="HogeEXE" Name="HogeAppl10.exe" DiskId="1" Source="HogeAppl10.exe" KeyPath="yes"> <Shortcut Id="startmenuHoge10" Directory="ProgramMenuDir" Name="ほげ 1.0" WorkingDirectory="INSTALLDIR" Icon="Hoge10.exe" IconIndex="0" Advertise="yes" /> <Shortcut Id="desktopHoge10" Directory="DesktopFolder" Name="ほげ 1.0" WorkingDirectory="INSTALLDIR" Icon="Hoge10.exe" IconIndex="0" Advertise="yes" /> </File> </Component> <Component Id="HelperLibrary" Guid="A48F72E2-9ECA-48A0-8CF9-777310CC42D8"> <File Id="HelperDLL" Name="HogeHelper.dll" DiskId="1" Source="HogeHelper.dll" KeyPath="yes" /> </Component> <Component Id="Manual" Guid="CFB432C9-A032-473A-91B2-03C3CFF2D1D2"> <File Id="Manual" Name="Manual.pdf" DiskId="1" Source="Manual.pdf" KeyPath="yes"> <Shortcut Id="startmenuManual" Directory="ProgramMenuDir" Name="取扱説明書" Advertise="yes" /> </File> </Component> </Directory> </Directory> </Directory> <Directory Id="ProgramMenuFolder" Name="Programs"> <Directory Id="ProgramMenuDir" Name="ほげ 1.0"> <Component Id="ProgramMenuDir" Guid="DD544A7D-1A22-46F9-B491-587B7A0A9D87"> <RemoveFolder Id="ProgramMenuDir" On="uninstall" /> <RegistryValue Root="HKCU" Key="Software[Manufacturer][ProductName]" Type="string" Value="" KeyPath="yes" /> </Component> </Directory> </Directory> <Directory Id="DesktopFolder" Name="Desktop" /> </Directory> <Feature Id="Complete" Title="ほげ 1.0" Description="完全パッケージ。" Display="expand" Level="1" ConfigurableDirectory="INSTALLDIR"> <Feature Id="MainProgram" Title="プログラム" Description="メインの実行ファイル。" Level="1"> <ComponentRef Id="MainExecutable" /> <ComponentRef Id="HelperLibrary" /> <ComponentRef Id="ProgramMenuDir" /> </Feature> <Feature Id="Documentation" Title="説明書" Description="取扱説明書。" Level="1000"> <ComponentRef Id="Manual" /> </Feature> </Feature> <UIRef Id="WixUI_Mondo" /> <UIRef Id="WixUI_ErrorProgressText" /> <Icon Id="Hoge10.exe" SourceFile="HogeAppl10.exe" /> <UI /> </Product> </Wix>
これだけで「ようこそ」画面や「使用許諾契約書」画面が表示されますが、
自分用の「使用許諾契約書」を表示したり、
自分用のプロダクトキーの検証アルゴリズムを追加するには、
少し、修正が必要になります。