2013-09-16 201 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

相关问题