使用WiX为现有FOLDER创建桌面快捷方式

Sac*_*ach 6 c# installer wix desktop-shortcut

我需要使用Wix为现有FOLDER(而不是文件)创建桌面快捷方式.为了详细说明,我的安装程序有一个使用与之关联的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>
Run Code Online (Sandbox Code Playgroud)

当我以这种方式构建安装程序时,它实际上在Desktop上创建了一个快捷方式.但是,WiX似乎认为BSStrage是一个文件/应用程序,因此它在位置C:\ ProgramData\MT中放置了一个名为BSStrage的虚拟应用程序的快捷方式.但是双击它并没有帮助,因为没有可用于打开它的程序.

显然我在这里做错了.有人可以帮我解决这个问题,以便如何克服这个问题.请注意,我对Wix来说是非常新的(它只用了两天),之前从未使用它.任何代码示例都会有很大帮助.

Rob*_*ing 2

Shortcut/@Target 中的斜杠应该是反斜杠。资源管理器可能会将您的快捷方式解释为“使用开关 /MTK 和 /BSStrage 启动 CommonAppDataFolder”。至少,这是我的第一个猜测。