或者是否可以手动更新内置进度条?基本上,我包含 2 个 MSI,并使用 Inno Setup 作为引导程序,并且根据用户输入,将安装一个或两个 MSI。我在 CurStepChanged 中使用 Exec 语句进行了一些工作,但是在提取文件时它不会更新进度条,并且看起来安装程序已停止。我想最终结果是我想要一些进度条更新,同时将文件提取到临时文件夹。以下是我当前的代码:
procedure CurStepChanged(CurStep: TSetupStep);
var
ResultCode: Integer;
begin
if(CurStep = ssInstall) then begin
if(InstallServer) then begin
ExtractTemporaryFile('ServerSetup.msi');
Exec('msiexec',ExpandConstant('/i "{tmp}\ServerSetup.msi" /qb INSTALLDIR="{code:GetInstallPath}\Server\" ALLUSERS=2'),'', SW_SHOW, ewWaitUntilTerminated, ResultCode);
end;
if(InstallClient) then begin
ExtractTemporaryFile('ClientSetup.msi');
Exec('msiexec',ExpandConstant('/i "{tmp}\ClientSetup.msi" /qb INSTALLDIR="{code:GetInstallPath}\Client\" ALLUSERS=2'),'', SW_SHOW, ewWaitUntilTerminated, ResultCode);
end;
end;
end;