繁体   English   中英

NSIS卸载程序工作目录

[英]NSIS Uninstaller Working Directory

我正在使用NSIS创建我的安装程序/卸载程序,并且该卸载程序似乎有奇怪的行为。

我没有将安装程序放在$ INSTDIR中,它位于$ INSTDIR / subdir / uninstall.exe(这是主机应用程序的附加安装程序)。

然后,当我运行安装程序时,它会认为应用程序的安装根目录是$ INSTDIR / subdir而不是$ INSTDIR。 然后,它无法在subdir / *中找到所有文件,因为它已经在subdir中。

如果我移动可执行文件,它似乎只是接受当前目录作为应用程序安装根目录所在的位置。 我可以将其移至$ INSTDIR,一切都很好。

谢谢。

卸载程序中的$ INSTDIR只是卸载程序所在的目录(不一定与当前目录相同)

如果您可以只将卸载程序放在安装的根目录中,那是最好的选择,否则您必须做一些丑陋的事情,例如strcpy $instdir "$instdir\\.."或在每个Delete / RMDir调用中使用一个define。

另外,如果在安装过程中将安装目录保存在注册表中的某个位置,则可以在卸载程序中将其读取回去。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM