【问题标题】:NSIS Uninstaller Working DirectoryNSIS 卸载程序工作目录
【发布时间】:2011-02-18 19:03:12
【问题描述】:

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

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

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

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

谢谢。

【问题讨论】:

    标签: installation nsis uninstallation


    【解决方案1】:

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

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

    或者,如果您在安装过程中将安装目录保存在注册表中的某个位置,您可以在卸载程序中重新读取它。

    【讨论】:

      猜你喜欢
      • 2014-09-27
      • 2014-06-29
      • 2012-01-26
      • 2012-02-12
      • 2014-09-08
      • 2017-11-15
      • 2011-07-25
      • 2016-06-30
      • 2014-09-13
      相关资源
      最近更新 更多