[Inno Setup] 卸载 重启之后 删除文件

某些系统文件,例如驱动,不重启无法删除。

利用windows注册表里的 RunOnce。注意必须在HKLM下,否则可能权限不够。

不能直接填cmd命令,要以cmd的参数形式填写。

procedure CurUninstallStepChanged (CurUninstallStep: TUninstallStep);
var
     mres : integer;
begin
    case CurUninstallStep of                   
    usPostUninstall:
        begin
          mres := MsgBox('Do you want to remove the settings of xxx?', mbConfirmation, MB_YESNO or MB_DEFBUTTON2);
          if mres = IDYES then
            DelTree(ExpandConstant('{commonappdata}\xxxFiles'), True, True, True);

          RegWriteStringValue(HKLM, 'Software\Microsoft\Windows\CurrentVersion\RunOnce', 'xxxUninstall', ExpandConstant('cmd.exe /c del {sys}\drivers\xxx.sys'));

       end;end;

 

posted on 2019-06-18 17:14  liujx2019  阅读(777)  评论(0编辑  收藏  举报

导航