私のインストーラが非常に簡単です、それは基本的に次のとおりです。Inno Setupの単純な進行状況ページ
- Welcomeページ
- 最終ページ
歓迎し、最終ページの進捗ページ
実際のスクリプトは、各プログラムを `[実行]セクションにインストールしています。
バーは100%に達してからそこにとどまるという問題があります。
私はメッセージテキストのみを変更できます。
私は何を達成したいことはパスカル・スクリプトを使用して進行状況を表示することである(それは私がより多くの柔軟性を持つことを可能にするよう)、のようなもの:私は、より正確なプログレスバーを表示することができる方法
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;
問題は、私はそれがWelcomeページが表示されないインストーラをビルドするとき、(インストーラが実行されているが、何も示されていない)ということです。
私は間違っていますか?
ありがとうございます!
Ergh、NextButtonClickの内部では実行しないでください。 CurStepChanged(ssInstall)を一番早く実行します。 – Deanna
なぜNextButtonClick内にいないのですか? Inno SetupでPascalScriptingを使うのは初めてのことなので、どのようにすればいいのか分かりません。 – lepe
これは1回以上呼び出すことができるので、ほとんどのインストールでは、ユーザーが「はい、これをインストールしてください」と確認した時点よりも前です。 – Deanna