在安装过程中,安装程序会创建一个备份目录,并添加时间戳,以便在多次启动安装程序时使其唯一。 在卸载期间,我需要处理一些文件(不是由[Files]和[Dir]部分放置)以在usUninstall或usPostUninstall中恢复。这些文件放在备份目录的子目录中。 为此,我需要启动卸载程序的位置,以便我可以恢复文件。 我找到并尝试了GetCurrentDir函数。但在卸载期间,GetCurrentDir函数返回位置c:\ WINDOWS \ system32。 我在安装期间也对它进行了测试,但在这种情况下,GetCurrentDir函数返回安装程序启动的位置。
如何从卸载开始的位置获取正确的位置?
答案 0 :(得分:0)
{uninstallexe}
constant解析为卸载程序的路径。
如果将其与ExtractFilePath
结合使用,则会获得卸载程序文件夹的路径:
ExtractFilePath(ExpandConstant('{uninstallexe}'))
实际上,路径通常是安装路径。因此,您可以直接使用{app}
constant。
不要使用GetCurrentDir
!它返回当前的工作目录。什么不一定是安装程序的路径。