Wix を使用して、既存のフォルダー (ファイルではなく) へのデスクトップ ショートカットを作成する必要があります。さらに詳しく説明すると、私のインストーラー プログラムには、C# を使用して記述された CustomAction プログラムが関連付けられています。この CustomAction プログラムは、パスがユーザーによって選択される「BSS」という名前のフォルダーを作成します。
C:\ProgramData\MT\BSS
ここで、WiX を使用して、このフォルダーへのデスクトップ ショートカットを配置する必要があります。ただし、このフォルダーには WiX 内のフォルダー構造がないため、問題が発生します。私が見つけた最も近いコードは次のとおりです。
<Directory Id="DesktopFolder" Name="Desktop"/>
<Directory Id="CommonAppDataFolder" Name="ProgramDataFolder"/>
<Component Id="ComponentBSStrageShortcut" Guid="{8436995c-2e76-4030-b92d-c6b4bc243c43}">
<Shortcut Id="ShortcutBSStrageShortcut"
Directory="DesktopFolder"
WorkingDirectory="APPLICATIONFOLDER"
Target="[CommonAppDataFolder]/MTK/BSStrage"
Name="BSStrage"
Show="normal"/>
<RegistryValue Action="write"
Key="SOFTWARE/MTK/BackStreet"
Root="HKCU"
Type="string"
KeyPath="yes"
Value="ApplicationFolderName"/>
</Component>
この方法でインストーラーをビルドすると、実際にはデスクトップにショートカットが作成されます。ただし、WiX は BSStrage をファイル/アプリケーションと見なしているように見えるため、BSStrage という架空のアプリケーションへのショートカットを C:\ProgramData\MT に配置します。しかし、それを開くために使用できるプログラムがないため、それをダブルクリックしても役に立ちません。
明らかに私はここでそれを間違っています。この問題を克服する方法として、誰かがこれを手伝ってくれませんか。私は Wix に非常に慣れておらず (まだ 2 日しか経っていません)、これまで一度も使用したことがありません。どのコード サンプルも非常に役立ちます。