inno-setup - inno安装程序静默运行子安装程序( 非常) 时,主安装程序运行( 非常)

  显示原文与译文双语对照的内容

我有一个Inno脚本isntaller在它里面运行子 setup.exe 。 我必须给 setup.exe 提供静默安装参数,在主安装器给出静默安装参数时。

Inno脚本运行命令:


[Run]


Filename:"setup.exe"; Parameters:"/Install silent"; Flags: nowait



我在命令提示符下给出了静默安装参数,如下所示


"setup location"/VERYSILENT/Install silent



主Inno安装程序正在静默运行,但是子 setup.exe 启动了 UI 。

如何在Inno脚本文件中从命令提示符中获取静默安装参数? 请帮我解决这个问题。

时间: 原作者:

我尝试了这个,它完全无声:


[Run]


Filename:"pathsetup.exe"; Parameters:/VERYSILENT; Flags: nowait



without"" in Parameter



希望这会有帮助

Inno设置中没有 /Install silent 参数。

/silent/verysilent/silent 仍然显示安装进度窗口,而 /verysilent 不显示。

请参见Inno设置文档中的设置 命令行 参数:

/静音,/verysilent

指示设置为静音或者非常静音。 当安装静默时,向导和后台窗口不会显示,但安装进度窗口是。 安装非常静默时,不显示这里安装进度窗口。 其他内容都是正常的,所以在安装过程中显示错误消息,启动提示符为( 如果你还没有使用DisableStartupPrompt或者'/sp-'上面解释的命令行 选项) 。

如果需要重新启动,并且'/norestart'命令没有使用( 请参见下面),安装程序就是静默的,现在将显示重启。 消息框如果它非常安静,它将在不询问的情况下重新启动。

所以你必须用 /verysilent 标志运行子安装程序以避免任何 GUI 。


[Run]


Filename:"setup.exe"; Parameters:"/verysilent"; Flags: nowait



但是,如果希望静默运行子安装程序,只有在父安装程序静默运行时,你才能这样做:


[Run]


Filename:"setup.exe"; Parameters:"{code:SilentParameter}"; Flags: nowait



[Code]



function WizardVerySilent: Boolean;


var


 i: Integer;


begin


 Result := False;


 for i := 1 to ParamCount do


 if CompareText(ParamStr(i), '/verysilent') = 0 then


 begin


 Result := True;


 Break;


 end;


end; 



function SilentParameter(Param: string): string;


begin


 if WizardSilent then


 begin


 if WizardVerySilent then


 Result := '/verysilent'


 else


 Result := '/silent';


 end;


end;



启动了静默和非静默安装的代码,如何检测安装程序是否在非常静默的模式下运行。WizardSilent 是一个标准函数。

原作者:
...