Inno Setup:有条件地删除用户主文件夹中的非空目录

Inno Setup: Conditionally delete non-empty directory in user's home folder

我正在通过 Inno Setup 为我的 Windows 应用程序创建安装程序。应用程序本身将一些配置数据写入用户主文件夹,写入其自己的子目录。

现在在卸载过程中我想允许用户select删除该文件夹的选项(最初不是由 Inno Setup 创建的,而是由应用程序创建的)。

在 Inno Setup 中实现该目标的最佳方法是什么?

Inno Setup 中没有对此的明确支持。但是您可以使用 CurUninstallStepChanged event function:

在 Pascal 脚本中对其进行编码
[Code]

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
  if CurUninstallStep = usUninstall then
  begin
    if MsgBox('Do you want to delete?', mbConfirmation, MB_YESNO) = idYes then
    begin
      DelTree(ExpandConstant('{app}\Folder'), True, True, True);
    end;
  end;
end;