我的安装程序很简单,基本上是:
欢迎页面和最终页面是标准页面(只需一个按钮)。 在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;
问题是,当我构建安装程序时,它不显示欢迎页面(安装程序正在运行,但没有显示任何内容)。
我做错了什么?
提前谢谢!
答案 0 :(得分:4)
您可以使用WizardForm.ProgressGauge
控制代码中的实际进度条位置。
答案 1 :(得分:2)
发现它!
我失踪了:
Result := True;
之后ProgressPage.Hide;
if CurPageID = wpReady
(而不是wpWelcome
)解决了这个问题!