Как изменить начало в пути ярлыка для nsis?

У меня есть установщик nsis script для приложения, над которым работает, и он может размещать ярлык на рабочем столе и в папке с меню "Пуск", но каждый ярлык имеет неправильный старт в пути, и поэтому приложение сохраняет файлы данных в где короткий отрезок.

Есть ли простой способ изменить начало в пути, поскольку документация была менее полезной в этом вопросе?

Section "Desktop Shortcut" SHORTCUT
    SetOutPath "$DESKTOP"
    CreateShortcut "${FULL_APP_NAME}.lnk" "$INSTDIR\${APP_NAME}.exe" "" "$ICONDIR\${DESKICO}"
SectionEnd

Ответы

Ответ 1

Попробуйте следующее:

Section "Desktop Shortcut" SHORTCUT
     SetOutPath "$INSTDIR"
     CreateShortcut "$DESKTOP\${FULL_APP_NAME}.lnk" "$INSTDIR\${APP_NAME}.exe" "" "$ICONDIR\${DESKICO}"
SectionEnd

Ответ 2

См. следующую страницу документации NSIS:

http://nsis.sourceforge.net/Docs/Chapter4.html#4.9.3.4

В частности, посмотрите предложение, которое гласит:

"$ OUTDIR используется для рабочего каталога. Вы можете изменить его, используя SetOutPath перед созданием ярлыка."

Другими словами, вам нужно использовать "SetOutPath", чтобы указать папку "В начало" для ярлыка. Вот почему решение, опубликованное Zerofiz, работает:

Section "Desktop Shortcut" SHORTCUT
    SetOutPath "$INSTDIR"
    CreateShortcut "$DESKTOP\${FULL_APP_NAME}.lnk" "$INSTDIR\${APP_NAME}.exe" "" "$ICONDIR\${DESKICO}"
SectionEnd

Это приведет к запуску ярлыка в $INSTDIR.