Inno Setup - 如何从代码中删除文件夹(如果它是空的)?

时间:2017-05-15 21:11:09

标签: inno-setup

我总是在B{app})内安装一个程序(C:\A = C:\A\B)。我需要知道如何使用DelTree函数删除B文件夹和A文件夹(仅当A文件夹为空时)。

这是删除B文件夹的代码:

DelTree(ExpandConstant('{app}'), True, True, True);

当安装失败或被取消时,我需要这个来回滚先决条件的安装。因此,我无法使用UninstallDeleteInstallDelete部分。

1 个答案:

答案 0 :(得分:2)

只需使用RemoveDir并忽略错误。

  

删除现有的空目录。如果成功删除了新目录,则返回值为True;如果发生错误,则返回False。

使用ExtractFileDir解析{app}的父文件夹的路径。

RemoveDir(ExtractFileDir(ExpandConstant('{app}')));