如何更改 nsis 快捷方式路径的开头?

发布于 2024-07-23 01:53:01 字数 341 浏览 5 评论 0原文

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

由于文档对此事的帮助不大,是否有一种简单的方法可以更改路径的开头?

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

I have an nsis installer script for the application im working on and it can place a shortcut on the desktop and in the start menu folder but each shortcut has the wrong start in path and as such the app saves data files to where the short cut is.

Is there an easy way to change the start in path as the documentation was less than helpful on the matter?

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

微暖i 2024-07-30 01:53:07

注意:如果您只想将“开始于:”字段留空,您还可以使用文档链接中提到的 /NoWorkingDir 标志。
http://nsis.sourceforge.net/Docs/Chapter4.html#4.9。 3.4

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

Note: if you just want the "Start in:" field to be blank, you can also use the /NoWorkingDir flag mentioned in the link to the documentation.
http://nsis.sourceforge.net/Docs/Chapter4.html#4.9.3.4

Section "Desktop Shortcut" SHORTCUT
    SetOutPath "$INSTDIR"
    CreateShortcut /NoWorkingDir "$DESKTOP\${FULL_APP_NAME}.lnk" "$INSTDIR\${APP_NAME}.exe" "" "$ICONDIR\${DESKICO}"
SectionEnd
秋凉 2024-07-30 01:53:06

尝试这个:

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

Try this:

Section "Desktop Shortcut" SHORTCUT
     SetOutPath "$INSTDIR"
     CreateShortcut "$DESKTOP\${FULL_APP_NAME}.lnk" "$INSTDIR\${APP_NAME}.exe" "" "$ICONDIR\${DESKICO}"
SectionEnd
落花浅忆 2024-07-30 01:53:04

请参阅 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 中启动。

Please see the following page of the NSIS documentation:

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

In particular, please look at the sentence that reads:

"$OUTDIR is used for the working directory. You can change it by using SetOutPath before creating the Shortcut."

In other words, you need to use 'SetOutPath' to specify the "Start In" folder for the shortcut. This is why the solution posted by Zerofiz works:

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

This will cause the shortcut to start in $INSTDIR.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文