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来说是非常新的(它只用了两天),之前从未使用它.任何代码示例都会有很大帮助.
Shortcut/@Target 中的斜杠应该是反斜杠。资源管理器可能会将您的快捷方式解释为“使用开关 /MTK 和 /BSStrage 启动 CommonAppDataFolder”。至少,这是我的第一个猜测。