【问题标题】:Path to uninstaller in Inno SetupInno Setup 中卸载程序的路径
【发布时间】:2020-04-15 14:56:37
【问题描述】:

在安装过程中,安装程序会创建一个备份目录并添加时间戳,以便在多次启动安装程序时使其唯一。 在卸载期间,我需要处理一些文件(不是由 [Files] 和 [Dir] 部分放置的)以在 usUninstall 或 usPostUninstall 中恢复。这些文件放置在备份目录的子目录中。 为此,我需要启动卸载程序的位置,以便恢复文件。 我找到并尝试了 GetCurrentDir 函数。但在卸载过程中,GetCurrentDir 函数返回位置 c:\WINDOWS\system32。 我也在安装过程中对其进行了测试,但在这种情况下,GetCurrentDir 函数会返回安装程序启动的位置。

如何从开始卸载的位置获取正确的位置?

【问题讨论】:

  • 我不明白,您对GetCurrentDir 的(不正确)使用如何与“启动卸载程序的位置” 匹配。你想达到什么目标?

标签: inno-setup


【解决方案1】:

{uninstallexe} constant 解析为卸载程序的路径。

如果将其与ExtractFilePath 结合使用,您将获得卸载程序文件夹的路径:

ExtractFilePath(ExpandConstant('{uninstallexe}'))

虽然实际上,该路径通常是安装路径。所以你可以直接使用{app} constant。


不要使用GetCurrentDir!它返回当前工作目录。不必是安装程序的路径。

使用{src} constant。

【讨论】:

  • {uninstallexe} 是我一直在寻找但没有找到的。它解决了我知道哪个安装程序是从哪个位置启动的问题。
猜你喜欢
  • 2018-05-04
  • 2016-01-14
  • 2016-05-28
  • 2011-10-01
  • 1970-01-01
  • 2021-06-29
  • 2015-10-19
  • 2012-11-16
  • 2011-09-18
相关资源
最近更新 更多