2016-02-17 84 views
0

我做了一個更新程序,它檢查服務器上的最新更新,如果安裝的版本小於服務器上的可用版本,則它會使用「NSISdl」從服務器下載最新的更新exe並將其替換爲較新的版本。這一切都發生在互聯網連接可用的情況下。我開始申請時已實施此機制。當應用程序啓動時,它首先使用「Dialer :: GetConnectedState」檢查互聯網連接,如果連接存在,則它會觸擊服務器並比較版本。 現在我的問題是,每次當我開始我的應用程序和互聯網打開時,即使我有最新更新,我的應用程序每次都會碰到服務器。任何人都可以告訴我如何讓我的更新程序在一天內只能打一次服務器,這樣每次啓動我的服務器時,它只會觸發一次服務器,並且在一天的其餘時間內它不會觸及服務器。你能告訴我,我怎麼能做到這一點?如何使用NSIS更新一天只檢查最新的更新ONCe?

回答

0

每次檢查更新時,都可以在包含當前日期的註冊表中保存/更新密鑰。此外,當程序啓動時,在檢查更新之前,您應該讀取該鍵並將其與當前時間進行比較,以便只在當前日期比存儲日期更新時檢查更新。

您可以通過$ {GetTime}獲取當前日期。從類似的問題看這個答案:

writing current date & time as file name using NSIS