私のインストーラーの一部は、サーバー上の最新バージョンをチェックし、必要に応じてウェルカム ページの直後に自動的にダウンロードします。実際のチェックとダウンロードは、新しいインストーラーがダウンロードされて実行されたかどうか、および続行する必要があるかどうかCheckForNewInstaller
を返す関数にあります。新しいインストーラーがダウンロードされた場合 ( )、ウィザードをシャットダウンする必要があります。True
False
True
次のコードを使用して、 を使用してこれを行いWizardForm.Close
ました。ただし、ユーザーがキャンセルしたい場合は引き続きプロンプトが表示されます。通常のシナリオでは、ユーザーがインストーラーを閉じようとすると、このプロンプトが表示されるようにしたいと考えています。ただし、ウィザードを強制的に閉じる必要がある場合は、このダイアログを非表示にする必要があります。また、クリーンアップ プロセスが適切に行われないため、プロセスを終了することもできません。
function NextButtonClick(CurPageID: Integer): Boolean;
var
ResultCode: Integer;
X: Integer;
begin
Log('NextButtonClick(' + IntToStr(CurPageID) + ') called');
Result := True;
case CurPageID of
wpWelcome: begin
if CheckForNewInstaller then begin
//Need to close this installer as new one is starting
WizardForm.Close;
end;
end;
....
end;
end;
ユーザーの介入なしに、このインストーラーを完全に閉じるにはどうすればよいですか?