Qt NSIS访问数据的问题

Qt NSIS访问数据的问题,qt,nsis,Qt,Nsis,我会尽量把自己说清楚的 我用NSIS做了一个安装程序。桌面上创建了一个图标,当我双击它时,应用程序运行良好。 然而,在安装目录中,我有其他目录(如包含“style.css”的“css”),并且程序似乎正在快捷方式(->桌面)的目录中查找我的css文件 如何使程序在安装目录而不是桌面中查找 谢谢你的回答 以下是我使用的代码: Section "Shortcuts" SectionIn 2 SetOutPath "$SMPROGRAMS\MyApp" CreateShortCut "$SMPRO

我会尽量把自己说清楚的

我用NSIS做了一个安装程序。桌面上创建了一个图标,当我双击它时,应用程序运行良好。 然而,在安装目录中,我有其他目录(如包含“style.css”的“css”),并且程序似乎正在快捷方式(->桌面)的目录中查找我的css文件

如何使程序在安装目录而不是桌面中查找

谢谢你的回答


以下是我使用的代码:

Section "Shortcuts"
SectionIn 2 
SetOutPath "$SMPROGRAMS\MyApp"
CreateShortCut "$SMPROGRAMS\MyApp\MyApp.lnk" "$INSTDIR\MyApp.exe"
SetOutPath "$INSTDIR"
CreateShortCut "$DESKTOP\MyApp.lnk" "$INSTDIR\MyApp.exe"
SectionEnd 

如果我将输出路径(第3行)更改为“$INSTDIR”,则根本不会创建快捷方式。如果我使用此代码,则会创建快捷方式,但“起始位置”参数设置为桌面。

这种情况下的问题是,您的应用程序使用的是相对路径,而没有对其进行限定;简单的解决方案是让快捷方式指定工作目录:(奇怪的是,
SetOutPath
改变了
CreateShortCut
,但手册上说是这样的)


正确的解决办法是使所有路径都是绝对的;你把它标记为<代码> QT。所以我假定你使用QT和C++。搜索“qt绝对路径”和类似的东西-例如

谢谢,我也找到了这个解决方案,但现在有另一个问题:CreateShortCut“$SMPROGRAMS\MyApp\MyApp.lnk”“$INSTDIR\MyApp.exe”在程序列表中创建快捷方式,但我遇到了与以前相同的问题,只是这次SetOutPath“$INSTDIR”不会改变任何事情。。。知道吗?现在又有问题了?什么问题?如果之后出现了错误,请再次使用
SetOutPath
返回到原来的位置。对不起,我按“回车”键太快了,我没有完成帖子;)那应该有用。。。您介意为问题中的上下文提供更多代码吗?可能是一些太明显的东西,当我看它的时候,我看不出来。或者可能是一些令人困惑的行为。
SetOutPath "$INSTDIR"
CreateShortCut "$DESKTOP\MyApp.lnk" "$INSTDIR\MyApp.exe" # etc.
Section "Shortcuts"
SectionIn 2 
CreateDirectory "$SMPROGRAMS\MyApp" #CreateShortCut does not create directories
SetOutPath "INSTDIR"
CreateShortCut "$SMPROGRAMS\MyApp\MyApp.lnk" "$INSTDIR\MyApp.exe"
SetOutPath "$INSTDIR"
CreateShortCut "$DESKTOP\MyApp.lnk" "$INSTDIR\MyApp.exe"
SectionEnd