我需要使用 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 是一个文件/应用程序,因此它在 C:\ProgramData\MT 位置放置了一个名为 BSStrage 的虚构应用程序的快捷方式。但是双击它并没有帮助,因为没有可以用来打开它的程序。
显然我在这里做错了。有人可以帮我解决这个问题,以便如何克服这个问题。请注意,我对 Wix 非常陌生(才两天),以前从未使用过它。任何代码示例都会有很大帮助。