title: In Inno Setup is it possible to add conditional statements to what in the [Run] section gets executed?
body: <p>Alternatively is it possible to manually update the built in progress bar?
  Basically I have 2 MSIs included and using Inno Setup as a bootstrapper, and depending on user input one or both of the MSIs are to be installed.  I have something working using Exec statements in CurStepChanged but it doesn't update the progress bar as the files are extracted and it looks like the installer is stalled.  I guess the end result is I want some progress bar updates while the files are extracted to the temp folder.  The following is my current code:</p>
  
  <pre><code>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;
  </code></pre>