【发布时间】:2017-01-18 08:30:46
【问题描述】:
当用户安装我的软件时,它会在用户桌面上创建快捷方式。快捷方式的名称也反映了正在安装的版本。
事实证明,我的一些客户确实安装了多个版本(尽管这没问题,没有冲突或其他什么),但这意味着用户的桌面臃肿,有很多他们安装的多个不同版本的快捷方式时间。 (例如SchoolServer 7.1.lnk、SchoolServer 7.2.lnk、SchoolServer 8.5.lnk,然后是当前的SchoolServer 9.0.lnk)
他们必须手动删除这些过时的快捷方式。
如何在我的 NSIS 脚本中实现这一点?
注意:我已尝试使用 wildcat 删除所有版本的桌面快捷方式,然后为已安装版本创建快捷方式,但它创建了新快捷方式,但仍将旧快捷方式保留在那里。我使用的代码如下:
;first delete stale shortcuts matching the wildcat
Delete "$DESKTOP\SchoolServer *.lnk"
;create the new shortcut
CreateDirectory "$INSTDIR"
CreateShortCut "${ICON_URL}" "$INSTDIR\SchoolServer.exe" "" "" "" SW_SHOWMAXIMIZED ALT|CONTROL|SHIFT|F5 "SchoolServer"
【问题讨论】:
标签: nsis