installation - 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
在驱动程序安装完成后显示所有这些。我需要在安装第二个程序之后出现这个窗口,但在开始安装驱动程序之前。
解决方案
安装前的最后一页是“选择附加任务”,所以wpSelectTasks
用于AfterID
参数CreateCustomPage
:
WelcomePage := CreateCustomPage(wpSelectTasks, '', '');
(“选择附加任务”是否实际显示并不重要)
推荐阅读
- java - 如何使用 waitFor() 暂停进程
- r - R Shiny:删除数据表中的行按钮
- android - Google SMS Retriever API 未检索 SMS 消息
- ruby-on-rails - 如何将 Postgresql 数据库中的数据显示到视图中
- c++ - 价值与对象
- javascript - onchange 仅适用于第二次更改
- javascript - SVG 和 JavaScript:用鼠标移动元素只会向下和向右移动元素
- angular - Angular 中的日期类型绑定时会发生什么
- angular - 如何在 Angular 中实现单页滚动导航?
- dart - 很难在颤振中实现圆边模态底板