【问题标题】:Inno Setup: Conditionally delete non-empty directory in user's home folderInno Setup:有条件地删除用户主文件夹中的非空目录
【发布时间】:2015-05-06 03:57:39
【问题描述】:

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

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

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

【问题讨论】:

    标签: inno-setup


    【解决方案1】:

    在 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;
    

    【讨论】:

    • 您的代码有问题。它已经在安装过程中被调用。但显然我只想在卸载期间询问用户。
    • @Matthias 对不起,你是对的。请参阅我更新的答案以了解替代实现。
    猜你喜欢
    • 1970-01-01
    • 2019-09-19
    • 1970-01-01
    • 2012-12-29
    • 1970-01-01
    • 2018-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多