使用Inno Setup进行无任何窗口的无提示卸载

时间:2015-11-04 13:09:13

标签: inno-setup

我正在尝试从Inno Setup卸载exe。我能够从注册表中找到卸载字符串,但我无法以静默方式执行它。我正在使用Inno Setup的RemoveQuotes()功能,如下所示:

RunProcess(RemoveQuotes(sUnInstallString), '/SILENT');

但是卸载窗口仍然可见。

RunProcess()方法的位置为:

function RunProcess(name : String; args : String) : Integer;
var
  path : String;
  dir : String;
  errorCode : Integer;
begin
  path := ExpandConstant(name);
  dir := ExtractFileDir(path);
  Log(' Running: ' + path + ' ' + args + ' ...');
  Exec(path, args, dir, SW_SHOWNORMAL, ewWaitUntilTerminated, errorCode);
  if errorCode = 0 then
    Log(' Succeeded.')
  else
    Log(' Failed. Error Code: ' + IntToStr(errorCode));

  Result := errorCode;
end;

1 个答案:

答案 0 :(得分:1)

要在没有任何窗口的情况下运行Inno Setup内置的卸载程序,请使用/VERYSILENT command-line parameter

  

如果指定,卸载程序将不会要求用户进行启动确认,也不会显示一条消息,指出卸载已完成。不再使用的共享文件会自动删除而不会提示。任何严重错误消息仍将显示在屏幕上。 指定'/ VERYSILENT'时,不会显示卸载进度窗口。

     

如果需要重新启动并且未使用'/ NORESTART'命令(见下文)并且指定了'/ VERYSILENT',则卸载程序将在不询问的情况下重新启动。

您也可以考虑使用/SUPPRESSMSGBOXES参数。