Inno Setup: показать пользовательскую страницу перед началом установки - PullRequest
1 голос
/ 19 марта 2019

Как отобразить пользовательский мастер перед запуском одной из функций (Задача - printer):

[Run]
Filename: "{tmp}\First.exe"; WorkingDir: {app}; StatusMsg: First program install; Tasks: fp1;
Filename: "{tmp}\Second.exe"; WorkingDir: {app}; StatusMsg: Second program install; Tasks: fp2;
Filename: "{tmp}\Drivers\Install.exe"; WorkingDir: {app}; StatusMsg: Drivers install; Tasks: printer; 

Раздел кода:

[Code]

procedure InitializeWizard;
var
  BitmapFileName: string;
  BitmapImage: TBitmapImage;
  WelcomePage: TWizardPage;
begin
  WelcomePage := CreateCustomPage(wpInstalling, '', '');    

  BitmapFileName := ExpandConstant('{tmp}\image.bmp');
  ExtractTemporaryFile(ExtractFileName(BitmapFileName));

  BitmapImage := TBitmapImage.Create(WelcomePage);
  BitmapImage.AutoSize := True;
  BitmapImage.Bitmap.LoadFromFile(BitmapFileName);
  BitmapImage.Cursor := crHand;
  BitmapImage.Left := 10;
  BitmapImage.Top := 10;
  BitmapImage.Parent := WelcomePage.Surface;
end;

Я пытаюсь использовать в качестве PageIdwpInstalling, wpInfoAfter и wpFinished, но все они отображаются после завершения установки драйверов.И мне нужно, чтобы это окно появилось после установки второй программы, но перед началом установки драйвера.

1 Ответ

1 голос
/ 22 марта 2019

Последней страницей перед установкой является «Выбор дополнительных задач» , поэтому используйте wpSelectTasks для AfterID параметр CreateCustomPage:

WelcomePage := CreateCustomPage(wpSelectTasks, '', '');   

(не имеет значения, действительно ли отображается «Выбрать дополнительные задачи» или нет)

...