これは質問ではなく、答えです。
問題の一部はここにあります:すべてのユーザーにプログラムのショートカットをインストールする方法は?
引用:
「...マシン上のすべてのユーザーがショートカットを持つように、インストーラーがすべてのユーザー プロファイルの下にショートカットを作成できるようにするにはどうすればよいですか?」
別の - ここ:
Wixは、すべてのユーザー/マシンごとに宣伝されていないショートカットを作成し
ます。 ."
アンインストール ショートカットを作成する際の主な問題。
このソリューションは、Rob Menching のブログ投稿How to create a uninstall Shortcut (and pass the all ICE validation) に基づいています。
<!-- Script from Rob Menching's blog post -->
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="PUT-GUID-HERE"
UpgradeCode="PUT-GUID-HERE"
Name="TestUinstallShortcut"
Language="1033"
Version="1.0.0"
Manufacturer="Microsoft Corporation">
<Package InstallerVersion="200"
Compressed="yes"
InstallScope="perMachine" />
<Media Id="1" />
<Directory Id="TARGETDIR"
Name="SourceDir">
<Directory Id="ProgramMenuFolder">
<Directory Id="ShortcutFolder"
Name="My Application">
<Component Id="UninstallShortcutComponent"
Guid="PUT-GUID-HERE">
<RegistryKey Root="HKCU"
Key="Software\[UpgradeCode]">
<RegistryValue Value="RobMen Was Here."
Type="string"
KeyPath="yes" />
</RegistryKey>
<Shortcut Id="UninstallProduct"
Name="Uninstall My Application"
Target="[System64Folder]msiexec.exe"
Arguments="/x [ProductCode]"
Directory="ShortcutFolder"
Description="Uninstalls My Application" />
<RemoveFolder Id="RemoveShorcutFolder"
On="uninstall" />
</Component>
</Directory>
</Directory>
</Directory>
<Feature Id="TestUninstallShortcut"
Title="Test Uninstall Shortcut Feature"
Level="1">
<ComponentRef Id="UninstallShortcutComponent" />
</Feature>
<CustomAction Id="LaunchApp"
Directory="TARGETDIR"
ExeCommand="[System64Folder]reg.exe Delete HKCU\Software\[UpgradeCode] /f" />
<InstallExecuteSequence>
<Custom Action="LaunchApp"
After="InstallFinalize">(NOT Installed) OR UPGRADINGPRODUCTCODE</Custom>
</InstallExecuteSequence>
</Product>
</Wix>
この例では:
"Package" の項目に追加されInstallScope ="perMachine"
たレジストリ キーを [ "Software\[UpgradeCode]"
Added CustomAction ] に変更LaunchApp
して、不要なレジストリ キーを削除します。
WinXP 32bit および Win7 64bit でテスト済み。