如何检测设置是否以非常静音模式运行?

时间:2012-07-12 10:07:50

标签: inno-setup

我知道有WizardSilent函数用于检查设置是否以静默模式运行,但我找不到与非静默模式等效的函数(当使用/VERYSILENT命令行参数执行设置时)。

有没有办法检测设置是否以非常静音模式运行?

2 个答案:

答案 0 :(得分:13)

对于WizardSilent/Silent次安装,

/VerySilent都是如此。两个参数之间的区别在于是否显示了进度条(/Silent)(/VerySilent)。

根据您的评论,我建议的最好方法是检查命令行并查找/VerySilent并设置全局变量。类似的东西:

[Code]
var 
  isVerySilent: Boolean;

function InitializeSetup(): Boolean;
var
  j: Integer;
begin
  isVerySilent := False;
  for j := 1 to ParamCount do
    if CompareText(ParamStr(j), '/verysilent') = 0 then
    begin
      isVerySilent := True;
      Break;
    end; 

  if isVerySilent then
    Log ('VerySilent')
  else
    Log ('not VerySilent');
end;

答案 1 :(得分:0)

这个更好用......它与命令行中的多个参数兼容

var
j: Cardinal;
begin

isVerySilent := false;   
begin
  for j := 0 to ParamCount do
    begin
    MsgBox('param'+ParamStr(j), mbInformation, MB_OK);
      if ParamStr(j)='/verysilent'   then
        isVerySilent := true;

    end; 
  if isVerySilent then begin
    Log ('VerySilent')
  end else
    Log ('not VerySilent');
end;