我希望我的安装应该保持静默,而无需用户单击任何“下一步”或“安装”按钮。我仍然尝试禁用所有页面,正在获取“准备安装”页面。我要避免此安装页面。
要运行Inno Setup中内置的安装程序,而无需与用户进行任何交互甚至没有任何窗口,请使用/SILENT
或/VERYSILENT
命令行参数:
指示安装程序保持安静或非常安静。当安装程序处于静默状态时,不会显示向导和背景窗口,但会显示安装进度窗口。如果安装程序非常安静,则不会显示此安装进度窗口。其他所有内容都是正常的,因此例如显示安装过程中的错误消息,并且启动提示为(如果您尚未使用DisableStartupPrompt或上述“ / SP-”命令行选项将其禁用)。
您也可以考虑使用/SUPPRESSMSGBOXES
参数。
如果要使安装程序“无提示”运行而无需任何其他命令行开关,则可以:
ShouldSkipPage
事件功能可以跳过大多数页面。ShouldSkipPage
)。您可以使用Inno Setup中显示的技术-在一定时间后如何关闭完成的安装程序?[Code]
function SetTimer(hWnd, nIDEvent, uElapse, lpTimerFunc: LongWord): LongWord;
external '[email protected] stdcall';
function KillTimer(hWnd, nIDEvent: LongWord): LongWord;
external '[email protected] stdcall';
var
SubmitPageTimer: LongWord;
procedure KillSubmitPageTimer;
begin
KillTimer(0, SubmitPageTimer);
SubmitPageTimer := 0;
end;
procedure SubmitPageProc(H: LongWord; Msg: LongWord; IdEvent: LongWord; Time: LongWord);
begin
WizardForm.NextButton.OnClick(WizardForm.NextButton);
KillSubmitPageTimer;
end;
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpReady then
begin
SubmitPageTimer := SetTimer(0, 0, 100, CreateCallback(@SubmitPageProc));
end
else
begin
if SubmitPageTimer <> 0 then
begin
KillSubmitPageTimer;
end;
end;
end;
function ShouldSkipPage(PageID: Integer): Boolean;
begin
Result := True;
end;
对于CreateCallback
功能,您需要Inno Setup6。如果您坚持使用Inno Setup 5,则可以使用InnoTools InnoCallback库中的WrapCallback
功能。
另一种方法是发送CN_COMMAND
到“下一步”按钮,如下所示:如何跳过所有向导页面并直接进入安装过程?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句