首页 > 解决方案 > Inno Setup:在安装开始前显示自定义页面

问题描述

如何在启动其中一项功能(任务 - 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;

我尝试使用 as PageId wpInstalling, wpInfoAfter, 并且wpFinished在驱动程序安装完成后显示所有这些。我需要在安装第二个程序之后出现这个窗口,但在开始安装驱动程序之前。

标签: installationinno-setuppascalscript

解决方案


安装前的最后一页是“选择附加任务”,所以wpSelectTasks用于AfterID参数CreateCustomPage

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

“选择附加任务”是否实际显示并不重要)


推荐阅读