我需要使用Wix创建到现有文件夹(不是文件)的桌面快捷方式。为了详细说明,我的安装程序有一个使用C#编写的CustomAction程序。这个CustomAction程序创建一个名为“BSS”的文件夹,其路径由用户选择。使用WiX创建桌面快捷方式到现有文件夹
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非常新(仅仅两天),从未与之合作过。任何代码示例都会有很大的帮助。
这只是一个疯狂的猜测,但你有没有尝试向目标文件夹路径添加尾部斜线? – 2010-04-22 09:03:24