1
我的安裝程序的一部分會檢查我們服務器上的最新版本,並在必要時自動下載,並在歡迎頁面後面自動下載。實際檢查和下載的功能是CheckForNewInstaller
,如果下載並執行了新的安裝程序,則返回True
,如果需要繼續,則返回False
。如果新安裝程序已下載(True
),則該向導需要關閉。如何在沒有提示的情況下正確關閉Inno安裝嚮導?
使用下面的代碼,我使用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;
如何在不進行任何用戶交互的情況下完全關閉此安裝程序?
那麼,你正在使用錯誤的事件。如果你想阻止安裝程序啓動,你應該使用'InitializeSetup'事件方法。在所有情況下,這個答案都是錯誤的。 – TLama
@TLama這不是第一件事,我希望這在歡迎頁面後發生。我從來不想阻止嚮導的啓動,或者我會把它放在'InitializeSetup'中。 –
@TLama其實我發佈了這個問題/答案後,我改變了邏輯,現在甚至在嚮導中有一個頁面,詢問他們是否想檢查新版本。 –