2015-11-04 102 views
1

我想從Inno Setup中卸載exe。我能夠從註冊表中找到卸載字符串,但我無法以靜默方式執行它。我使用的創新安裝的RemoveQuotes()功能如下:沒有任何窗口與Inno Setup的無聲卸載

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

「它不是卸載它」:它做了什麼呢? –

+0

那是一種什麼樣的卸載程序?它是否也內置在Inno Setup中? –

+0

'sUnInstallString'的確切值是什麼? –

回答

1

要運行內置的Inno Setup的沒有任何窗口中的卸載程序,使用/VERYSILENTcommand-line parameter

指定,卸載程序不會詢問用戶用於啓動確認或顯示消息,指出卸載已完成。不再提示的共享文件將被自動刪除。屏幕上仍會顯示任何嚴重錯誤信息。 當指定'/ VERYSILENT'時,不顯示卸載進度窗口。

如果需要重新啓動並且未使用'/ NORESTART'命令(請參見下文)並指定'/ VERYSILENT',則卸載程序將不會詢問而重新啓動。


您也可以考慮使用/SUPPRESSMSGBOXES參數。