WiX チュートリアル 日本語訳 Lesson 1 始めよう / 3. 使用に供する の SampleFirst.wxs を例にします。
<Component Id='MainExecutable' Guid='A3AAD3C9-C833-4D1B-939E-0D1C47A31D95'> <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> <Directory Id="ProgramMenuFolder" Name="Programs"> <Directory Id="ProgramMenuDir" Name="ほげ 1.0"> <Component Id="ProgramMenuDir" Guid="B061CD08-398B-47D2-8BAC-B3DA45CCE0D5"> <RemoveFolder Id='ProgramMenuDir' On='uninstall' /> <RegistryValue Root='HKCU' Key='Software\[Manufacturer]\[ProductName]' Type='string' Value='' KeyPath='yes' /> </Component> </Directory> </Directory>
を
<Component Id='MainExecutable' Guid='A3AAD3C9-C833-4D1B-939E-0D1C47A31D95'> <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> <RemoveFolder Id='ProgramMenuDir' On='uninstall' /> </Component> <Directory Id="ProgramMenuFolder" Name="Programs"> <Directory Id="ProgramMenuDir" Name="ほげ 1.0"/> </Directory>
と書き換えるとコンポーネントが1つ節約できます。
RemoveFolder
を実行ファイルのコンポーネントに入れてしまいます。
また、
<Component Id="ProgramMenuDir" Guid="B061CD08-398B-47D2-8BAC-B3DA45CCE0D5"> <RemoveFolder Id='ProgramMenuDir' On='uninstall' /> <RegistryValue Root='HKCU' Key='Software\[Manufacturer]\[ProductName]' Type='string' Value='' KeyPath='yes' /> </Component>
は、ファイルを持たないコンポーネントなので、KeyPath
になるレジストリキーが必要です。
これも実行ファイルのコンポーネントに入れてしまえば、実行ファイル自体がKeyPath
になるので、不要になります。