我正在尝试做与this类似的事情。
这适用于UI模式 - 安装程序退出。但是,在/ Silent模式下,它会显示消息框,但在单击“确定”按钮后会继续显示。
您能否建议如何在静音模式下实现类似功能(即优雅地退出设置)
答案 0 :(得分:2)
实现先决条件检查的静默模式没有区别。如果您想停止安装,只需在InitializeSetup
event function中测试您的先决条件,然后返回False
。
静默安装需要考虑的唯一事项是:
SuppressibleMsgBox
function获取错误消息,而不是普通MsgBox
。这样可以使用/suppressmsgboxes
command-line switch来抑制消息。 /verysilent
),根本不显示消息框
另请参阅How to detect whether the setup runs in very silent mode? 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 InitializeSetup(): Boolean;
var
Message: string;
begin
Result := True;
if IsDowngrade then
begin
Message := 'Downgrade detected, aborting installation';
if not WizardVerySilent then
begin
SuppressibleMsgBox(Message, mbError, MB_OK, MB_OK);
end
else
begin
Log(Message);
end;
Result := False;
end;
end;