Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何更改nsis快捷方式的起始路径?_Windows_Installation_Nsis - Fatal编程技术网

Windows 如何更改nsis快捷方式的起始路径?

Windows 如何更改nsis快捷方式的起始路径?,windows,installation,nsis,Windows,Installation,Nsis,我有一个nsis安装程序脚本用于我正在使用的应用程序,它可以在桌面和“开始”菜单文件夹中放置快捷方式,但每个快捷方式的“开始”路径都错误,因此应用程序会将数据文件保存到快捷方式所在的位置 有没有一种简单的方法来更改起始路径,因为文档在这方面没有什么帮助 Section "Desktop Shortcut" SHORTCUT SetOutPath "$DESKTOP" CreateShortcut "${FULL_APP_NAME}.lnk" "$INSTDIR\${APP_NAM

我有一个nsis安装程序脚本用于我正在使用的应用程序,它可以在桌面和“开始”菜单文件夹中放置快捷方式,但每个快捷方式的“开始”路径都错误,因此应用程序会将数据文件保存到快捷方式所在的位置

有没有一种简单的方法来更改起始路径,因为文档在这方面没有什么帮助

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文档的下一页:

请特别注意以下句子:

“$OUTDIR用于工作目录。在创建快捷方式之前,您可以使用SetOutPath对其进行更改。”

换句话说,您需要使用“SetOutPath”为快捷方式指定“起始位置”文件夹。这就是Zerofiz发布的解决方案起作用的原因:

Section "Desktop Shortcut" SHORTCUT
    SetOutPath "$INSTDIR"
    CreateShortcut "$DESKTOP\${FULL_APP_NAME}.lnk" "$INSTDIR\${APP_NAME}.exe" "" "$ICONDIR\${DESKICO}"
SectionEnd
这将导致快捷方式以$INSTDIR开头