Inno setup: ExtractTeditionalFile вызывает зависание мастера

Я создал пользовательские страницы для управления установкой определенных инструментов для перенаправления в зависимости от выбора пользователя.

Эти инструменты связаны с флажками, отмеченными пользователем, если он хочет или не устанавливает эти инструменты. Тогда зайдите на страницу только там, чтобы показать пользователю прогресс установки каждого инструмента.

Проблема, с которой я столкнулся, заключается в том, что страница прогресса отображается только тогда, когда первый извлеченный файл извлечения настроек для инструментов выполнен, показывая последнюю страницу, как если бы она была заморожена.

Единственный способ, которым я должен позволить показать страницу прогресса до того, как произойдет ExtractTevenFile, это поместить MsgBox перед любой установочной функцией. Но даже в этом случае, когда запускается ExtractTevenFile, анимация индикатора выполнения останавливается до тех пор, пока не будет завершен ExtractTevenFile ...

Вот часть кода, которая делает это:

procedure CurPageChanged(CurPageID: Integer);
begin
  If CurPageID=PageInstallationPersonnalisee.ID then
    begin
      ProgressBarLabelPageInstPerso.Caption := 'Initialisation...';
      if InstallTool1 = True then
        begin
          ProgressBarLabelPageInstPerso.Caption := 'Installing InstallTool1...';
          F_InstallTool1();
        end;
      if InstallTool2 = True then
        begin
          ProgressBarLabelPageInstPerso.Caption := 'Installing InstallTool2...';
          F_InstallTool2();
        end;
      if InstallTool3 = True then
        begin
          ProgressBarLabelPageInstPerso.Caption := 'Installing InstallTool3...';
          F_InstallTool3();
        end;

      ProgressBarPageInstPerso.Style := npbstMarquee;
      //ProgressBarPageInstPerso.Style := npbstNormal;
      ProgressBarPageInstPerso.Position := 100;

      CancelWithoutPrompt:=True;
      WizardForm.Close;
    end;
end;

Обратите внимание, что ExtractTemporaryFile() сделано в каждомF_InstallTooln() функция.

Другая часть разделов «Настройка» и «Файл», которая может помочь:

[Setup]
SolidCompression=no

[Files]
;Temporary redists
Source: "{#MyRessourcesPath}InstallTool1_Setup.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall noencryption dontcopy
Source: "{#MyRessourcesPath}InstallTool2_Setup.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall noencryption dontcopy
Source: "{#MyRessourcesPath}InstallTool3_Setup.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall noencryption dontcopy

Здесь страница PageInstallationPersonnalisee не отображается до тех пор, пока не будет сделан первый ExtractTevenFile ...

Я знаю чтоExtractTemporaryFile может вызвать некоторую задержку вустановить процесс, но почему это должно вызывать зависание мастера?

Итак, мой вопрос: в моем сценарии есть ли способ заставить мастера обновиться, чтобы он появился перед любымExtractTemporaryFile процедура запущена?

Ответы на вопрос(1)

Ваш ответ на вопрос