我对当前 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>