Inno Setup无法在静默卸载

时间:2015-07-17 07:29:29

标签: inno-setup pascalscript

我有"完全卸载"我的应用程序的选项,它应该删除所有数据,包括ProgramData和Program Files应用程序文件夹。它由单独的窗口决定,文件夹使用DelTree方法

删除
Deltree(ExpandConstant('{app}'), true, true, true);

在usPostUninstall步骤中执行删除。但是,当我完全删除是静音模式时,app文件夹不会被删除,我可以在Program Files中找到它,尽管它实际上是空的(如果它不是静音,所有都被删除没有问题)。什么可以在静默卸载期间阻止文件夹删除?

这是最简单的示例,使用常见的Inno Setup示例文件

; -- UninstallCodeExample1.iss --
;
; This script shows various things you can achieve using a [Code] section for Uninstall

[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
UninstallDisplayIcon={app}\MyProg.exe
OutputDir=userdocs:Inno Setup Examples Output

[Files]
Source: "MyProg.exe"; DestDir: "{app}"
Source: "MyProg.chm"; DestDir: "{app}"
Source: "Readme.txt"; DestDir: "{app}"; Flags: isreadme

[Code]
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
  if CurUninstallStep = usPostUninstall then
      begin
        if not DelTree(ExpandConstant('{app}'), true, true, true) then
          MsgBox('Can''t remove some files', mbError, MB_OK);
      end;
end;

0 个答案:

没有答案