NSIS перезаписывает ярлыки - PullRequest
2 голосов
/ 20 января 2010

Есть ли способ сказать NSIS не перезаписывать мой ярлык меню Пуск. Причина, по которой я не хочу перезаписывать его, заключается в том, что параметры командной строки пользователя не очищаются при обновлении до новой версии. Я пробовал это безрезультатно:

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

Ответы [ 2 ]

3 голосов
/ 21 января 2010

Почему вы не можете просто проверить с IfFileExists?

Если вы хотите сделать все возможное, вы можете обновить путь и рабочий каталог, но оставить параметры и значок на месте, но для этого вам придется вызывать интерфейс IShellLink COM самостоятельно (с помощью системного плагина). или пользовательский плагин / приложение)

1 голос
/ 21 января 2010

Вот пример, который работает:

Section -AdditionalIcons

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

SkipShortcut:

SectionEnd
...