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 процедура запущена?