我正在尝试从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;
答案 0 :(得分:1)
要在没有任何窗口的情况下运行Inno Setup内置的卸载程序,请使用/VERYSILENT
command-line parameter:
如果指定,卸载程序将不会要求用户进行启动确认,也不会显示一条消息,指出卸载已完成。不再使用的共享文件会自动删除而不会提示。任何严重错误消息仍将显示在屏幕上。 指定'/ VERYSILENT'时,不会显示卸载进度窗口。
如果需要重新启动并且未使用'/ NORESTART'命令(见下文)并且指定了'/ VERYSILENT',则卸载程序将在不询问的情况下重新启动。
您也可以考虑使用/SUPPRESSMSGBOXES
参数。