我的安装程序非常简单,它基本上是:
欢迎页面和最终页面是标准页面(只需一个按钮).
在Progress页面,我正在静默安装一堆其他程序.
实际的脚本是在[Run]部分中安装每个程序.
问题是酒吧达到100%然后停留在那里.
我只能更改消息文本.
我想要实现的是使用Pascal脚本显示进度(因为它可以让我有更多的灵活性),例如:
- procedure InitializeWizard;
- begin
- ProgressPage.SetProgress(1,100);
- exec(.......)
- ProgressPage.SetProgress(15,100);
- exec(.......)
- ProgressPage.SetProgress(40,100);
- ...
- ...
- end;
这样我就可以显示更准确的进度条.这就是我所拥有的(模拟安装.从一个例子中得到):
- [Code]
- var
- ProgressPage: TOutputProgressWizardPage;
- procedure InitializeWizard;
- begin
- ProgressPage := CreateOutputProgressPage('My App','');
- end;
- function NextButtonClick(CurPageID: Integer): Boolean;
- var
- I: Integer;
- begin
- if CurPageID = wpWelcome then begin
- ProgressPage.SetText('Starting installation...','');
- ProgressPage.SetProgress(0,0);
- ProgressPage.Show;
- try
- for I := 0 to 10 do begin
- ProgressPage.SetProgress(I,10);
- Sleep(100);
- end;
- finally
- ProgressPage.Hide;
- end;
- end else
- Result := True;
- end;
问题是,当我构建安装程序时,它不显示欢迎页面(安装程序正在运行,但没有显示任何内容).
我做错了什么?
先谢谢你!
解决方法
您可以使用WizardForm.ProgressGauge控制代码中的实际进度条位置.