我的安装非常简单,它基本上是:Inno Setup的简单进度页面
- 欢迎页面
- 进度页
- 最后一页
的欢迎和最后几页是标准的(只有一个按钮)。 在进度页面,我正在安静地安装一堆其他程序。
实际脚本正在`[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;
的问题是,当我生成安装程序不显示欢迎页(安装程序正在运行,但没有显示) 。
我在做什么错了?
预先感谢您!
呃,不要在NextButtonClick里面做。 CurStepChanged(ssInstall)最早。 – Deanna
为什么不在NextButtonClick中?它是我第一次在Inno Setup中使用Pascal脚本,所以我可能不知道它应该如何。 – lepe
因为它可以被称为1次或更多时间,所以在大多数安装中,在用户确认“是,安装这个”之前,它也是。 – Deanna