安装后执行批处理文件,并在 Inno Setup 中完成页面之前的自定义页面上显示其输出

Execute a batch file after installation and display its output on a custom page before Finished page in Inno Setup

使用此解决方案可以在 Inno Setup UI 中显示 cmd 输出:

我的问题是我想在 [Run] 部分(即)安装后执行一个批处理文件。

此外,我希望它的输出显示在 Inno Setup UI 中,但从文档中我看到 [Run] 将在安装后和显示最终对话框之前执行。

那么我如何在安装后显示自定义页面,它会显示从 [Run] 部分执行的批处理的所有输出?

我试图通过 Run 部分中的 BeforeInstall 标志调用 CustomPage 设置,但是自定义页面显示了一秒钟然后 returns 返回安装页面。

我该如何处理?

CurStepChanged(ssInstall)调用BotonIniciarOnClick的代码就够了。

procedure CurStepChanged(CurStep: TSetupStep);
begin
  if CurStep = ssInstall then
  begin
    BotonIniciarOnClick(nil);
  end;
end;

(当然,你最好重命名这个函数,因为它的名字现在没有意义——并删除它无用的参数)