2013-09-16 197 views
1

僅當安裝程序未作爲VERYSILENT運行時,纔想安裝和註冊某個文件。Inno安裝程序:僅在未安裝VERYSILENT的情況下安裝

我不知道我怎麼能做到這一點。

我的當前行是

Source: "M:\sqlite36_engine.dll"; DestDir: {sys}; Flags: uninsneveruninstall ignoreversion 

有人能告訴我,這可怎麼辦呢?

謝謝!

+0

你關心SILENT與VERYSILENT,還是你不想通過任何一種安靜模式安裝?因爲如果是後者,那麼你可以使用'Flags:skipifsilent'。 – Miral

回答

2

由於仍然沒有運行時函數或變量來確定安裝程序是否以非靜默方式運行,因此您需要製作自己的函數來通過迭代命令行參數來檢查此設置。對於某個文件的條件安裝,我們使用Check參數,該參數可以通過返回值來獲取條件。以下腳本應該做你想做的事:

[Files] 
Source: "M:\sqlite36_engine.dll"; DestDir: {sys}; Flags: uninsneveruninstall ignoreversion; Check: not IsVerySilent 

[Code] 
function IsVerySilent: Boolean; 
var 
    I: Integer; 
begin 
    Result := False; 
    for I := 1 to ParamCount do 
    if CompareText(ParamStr(I), '/verysilent') = 0 then 
    begin 
     Result := True; 
     Exit; 
    end; 
end; 
+0

非常感謝! – tmighty

+0

不客氣! – TLama

相關問題