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

问题描述

使用此解决方案,可以在Inno Setup UI中显示cmd输出
Embedded CMD in Inno Setup installer (show command output on a custom page)

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

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

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

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

我应该如何处理?

解决方法

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

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

(当然,最好重命名该函数,因为它的名称现在没有意义了,并删除其无用的参数)