有没有办法告诉NSIS不要覆盖我的开始菜单快捷方式。我不希望它覆盖的原因是用户的命令行选项在升级到新版本时不会被清除。我试过这个无济于事:
Section -AdditionalIcons
SetOverwrite off
CreateDirectory "${START_MENU_DIR}"
CreateShortCut "${START_MENU_LNK}" "$INSTDIR\${PRODUCT_NAME}.exe"
SectionEnd
答案 0 :(得分:3)
为什么不能只使用IfFileExists查看?
如果你想全力以赴,你可以更新路径和工作目录,但保留参数和图标,但要做到这一点,你必须自己调用IShellLink COM接口(使用系统插件或自定义插件/应用程序)
答案 1 :(得分:1)
这是一个有效的例子:
Section -AdditionalIcons
CreateDirectory "${START_MENU_DIR}"
IfFileExists "${START_MENU_LNK}" SkipShortcut
CreateShortCut "${START_MENU_LNK}" "$INSTDIR\${PRODUCT_NAME}.exe"
SkipShortcut:
SectionEnd