我的当前Wix设置生成的快捷方式存在问题 - 当用户右键单击桌面图标并将其固定到任务栏时,任务栏图标在升级到下一版本时会丢失。我认为这是因为旧的快捷方式无效而新的快捷方式取代了它,使得固定的快捷方式过时了。
快捷方式在目标字段中没有通常的文件名和路径,只是应用程序名称变灰。我认为这是因为使用了广告的快捷方式,但我将其更改为Advertise="no"
并添加了Target="[INSTALLFOLDER]MyApp.exe"
,但快捷方式属性没有更改。我的理论是,如果快捷方式引用了实际文件,只要应用程序没有更改其位置或名称,它在升级后仍然有效。
所以,问题1:是否可以创建一个包含应用程序完整路径名的快捷方式?
问题2:如果有可能,这是个好主意吗?是否存在我们通过这样做破坏的安装程序功能,或其他不良副作用?
问题3:有没有更好的方法来解决我不考虑的问题?
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<ComponentGroup Id="MyAppComponents">
<Component Directory="INSTALLFOLDER" Guid="*">
<File KeyPath="yes" Source="MyApp.exe">
<Shortcut Id="MyAppShortcut" Name="MyApp" Directory="ShortcutFolder" Icon="Product.exe" Target="[INSTALLFOLDER]MyApp.exe" Advertise="no" />
<Shortcut Id="DesktopShortcut" Name="MyApp" Directory="DesktopFolder" Icon="Product.exe" Target="[INSTALLFOLDER]MyApp.exe" Advertise="no" />
</File>
答案 0 :(得分:0)
您是否尝试过设置快捷方式元素的WorkingDirectory attribute?我遇到了同样的问题,如果我没记错的话,那就解决了我的问题。
<Shortcut Id="MyAppShortcut" Name="MyApp" Directory="ShortcutFolder" Icon="Product.exe" Target="MyApp.exe" Advertise="no" WorkingDirectory="INSTALLFOLDER" />
<Shortcut Id="DesktopShortcut" Name="MyApp" Directory="DesktopFolder" Icon="Product.exe" Target="MyApp.exe" Advertise="no" WorkingDirectory="INSTALLFOLDER" />
试试吧。我很确定快捷方式的目标实际上是工作目录+目标文件,但我有一段时间没有碰过这个东西。