Inno Setup 制作自动安装脚本

需求如标题,即用inno setup 制作一个双击安装包后,就可以自动执行安装的安装包,不需要更多的人为介入。

在inno setup的[setup] session中设置了各种选项,但生成的安装包运行后都会有一个安装向导(如下图),需要人为点击一次按钮。网上搜索了好久,终于有个符合要求的方案。

Inno Setup 制作自动安装脚本

提供主要脚本

[setup]

DisableDirPage=yes
DefaultGroupName={#MyAppName}
DisableProgramGroupPage=yes

DisableReadyPage=yes
AllowCancelDuringInstall=no
DisableFinishedPage=yes
DisableReadyMemo=yes
DisableStartupPrompt=yes
DisableWelcomePage=yes

[Code]
const
  WM_LBUTTONDOWN = 513;
  WM_LBUTTONUP = 514;
procedure InitializeWizard();
begin
  begin
    PostMessage(WizardForm.NextButton.Handle,WM_LBUTTONDOWN,0,0);
    PostMessage(WizardForm.NextButton.Handle,WM_LBUTTONUP,0,0);
  end;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
  if CurPageID = wpSelectProgramGroup then
    WizardForm.NextButton.Caption := SetupMessage(msgButtonInstall)
  else
    WizardForm.NextButton.Caption := SetupMessage(msgButtonNext);
end;
function ShouldSkipPage(PageID: Integer): Boolean;
begin
  result := true;
end;

 

参考文章:https://www.aichiyudemao.com/blog/2018/03/11/inno-setup%E5%85%A8%E8%87%AA%E5%8A%A8%E5%AE%89%E8%A3%85%E8%84%9A%E6%9C%AC/