0

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

1 回答 1

0

您是否尝试过设置快捷方式元素的WorkingDirectory 属性?我有同样的问题,如果我没记错的话,这解决了我的问题。

<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" />

试试这样。我很确定快捷方式的目标实际上是工作目录+目标文件,但我有一段时间没有接触过这些东西了。

于 2013-05-26T21:45:56.317 回答