Ответ 1
Попробуйте следующее:
Section "Desktop Shortcut" SHORTCUT
SetOutPath "$INSTDIR"
CreateShortcut "$DESKTOP\${FULL_APP_NAME}.lnk" "$INSTDIR\${APP_NAME}.exe" "" "$ICONDIR\${DESKICO}"
SectionEnd
У меня есть установщик nsis script для приложения, над которым работает, и он может размещать ярлык на рабочем столе и в папке с меню "Пуск", но каждый ярлык имеет неправильный старт в пути, и поэтому приложение сохраняет файлы данных в где короткий отрезок.
Есть ли простой способ изменить начало в пути, поскольку документация была менее полезной в этом вопросе?
Section "Desktop Shortcut" SHORTCUT
SetOutPath "$DESKTOP"
CreateShortcut "${FULL_APP_NAME}.lnk" "$INSTDIR\${APP_NAME}.exe" "" "$ICONDIR\${DESKICO}"
SectionEnd
Попробуйте следующее:
Section "Desktop Shortcut" SHORTCUT
SetOutPath "$INSTDIR"
CreateShortcut "$DESKTOP\${FULL_APP_NAME}.lnk" "$INSTDIR\${APP_NAME}.exe" "" "$ICONDIR\${DESKICO}"
SectionEnd
См. следующую страницу документации 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.