WiXを使用してデスクトップへのショートカットを作成するには2つの答えがあります
これらの答えは両方とも、何が起こっているのかについての本当の説明を欠いています。ショートカットを作成するこれら 2 つの方法の違いは何ですか? 最初の方法は、WiX - ショートカットドキュメントの作成に準拠しています。
2 番目の方法には、MergeRedirectFolder
ドキュメントが見つからないように思われるものがあります。WiX ドキュメントによると、レジストリ設定:
現在のユーザーに非公開のショートカットをインストールする場合、Shortcut はコンポーネントの KeyPath として機能できないため、必須です。
これは、2 番目の方法が宣伝されているショートカットであることを意味しますか? それとも、ユーザーがマシンごとにインストールしていることを前提とした回答ですか? それとも私はソースで迷っていますか?(かなり可能性があります-Microsoftが私にこの道を強制したので、2日目にWiXを使用しようとしました。)
最初の1つ:
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="DesktopFolder" Name="Desktop">
<Component Id="ApplicationShortcutDesktop" Guid="*">
<Shortcut Id="ApplicationDesktopShortcut"
Name="Text under your icon"
Description="Comment field in your shortcut"
Target="[MYAPPDIRPROPERTY]MyApp.exe"
WorkingDirectory="MYAPPDIRPROPERTY"/>
<RemoveFolder Id="DesktopFolder" On="uninstall"/>
<RegistryValue
Root="HKCU"
Key="Software/MyAppName"
Name="installed"
Type="integer"
Value="1"
KeyPath="yes"/>
</Component>
</Directory>
<Directory Id="ProgramFilesFolder" Name="PFiles">
<Directory Id="MyCompany" Name="MyCompany">
<Directory Id="MYAPPDIRPROPERTY" Name="MyAppName">
</Directory>
</Directory>
</Directory>
2番目のもの:
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="DesktopFolder" SourceName="Desktop" />
<Directory Id="MergeRedirectFolder">
<Component Id="MyExeComponent" Guid="*">
<File Id="MyExeFile" Source="$(var.ExeSourcePath)" KeyPath="yes">
<Shortcut
Id="DesktopShortcut"
Directory="DesktopFolder"
Name="$(var.ShortcutName)"
WorkingDirectory="MergeRedirectFolder" />
</File>
</Component>
</Directory>
</Directory>