开发者

NSIS Overwrites Shortcuts

开发者 https://www.devze.com 2022-12-17 02:36 出处:网络
Is there any way to tell NSIS not to overwrite my start men开发者_JS百科u shortcut. The reason I don\'t want it to overwrite is so the user\'s command line options aren\'t cleared when they upgrade to

Is there any way to tell NSIS not to overwrite my start men开发者_JS百科u shortcut. The reason I don't want it to overwrite is so the user's command line options aren't cleared when they upgrade to a new version. I've tried this to no avail:

Section -AdditionalIcons
  SetOverwrite off
  CreateDirectory "${START_MENU_DIR}"
  CreateShortCut  "${START_MENU_LNK}" "$INSTDIR\${PRODUCT_NAME}.exe"
SectionEnd


Why can't you just check with IfFileExists ?

If you wanted to go all out, you could update the path and working dir, but leave the parameters and icon in place, but to do that you would have to call the IShellLink COM interface on your own (With the system plugin or a custom plugin/app)


Here is an example that works:

Section -AdditionalIcons

  CreateDirectory "${START_MENU_DIR}"
  IfFileExists "${START_MENU_LNK}" SkipShortcut
  CreateShortCut "${START_MENU_LNK}" "$INSTDIR\${PRODUCT_NAME}.exe"

SkipShortcut:

SectionEnd
0

精彩评论

暂无评论...
验证码 换一张
取 消