または、組み込みの進行状況バーを手動で更新することは可能ですか? 基本的に、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;