我即將開發一個程序,該程序將作爲Windows服務在多個客戶端的後端服務器(具有互聯網訪問)上安裝和運行。我沒有物理訪問服務器。我正在努力的是可靠地推出更新程序的方案。自動更新Windows服務
我花了相當多的時間尋找Windows Service自動更新的最佳實踐,但發現了很少有用的信息。大多數技術(如ClickOnce)似乎主要針對基於Windows Forms的應用程序。
我目前的計劃是:
- 有更新可用時,有正在運行的服務下載,安裝並啓動更新服務。
- 更新服務將下載新版本的主要服務,並將其並行安裝在當前仍然有效的版本中。
- 更新服務接下來停止舊版本,然後啓動新版本的服務。
- 新版本在啓動過程中禁用更新服務。
我一些重要的擔憂是:
- 能夠處理既可以更新到主業務和更新服務
- 能夠處理中斷,如電源故障或連接失敗更新過程中的任何一點
有什麼想知道的是,如果這是解決這個問題的常用方法和/或如果我錯過了任何關鍵的東西。它太複雜了,還是太簡單了?你會怎麼做(或者更好,你是如何成功完成的)?
謝謝!
感謝您的寶貴意見。您是如何處理在舊版本被卸載之後但在新版本安裝之前更新過程中斷的潛在情況?你有沒有跟蹤你在這個過程中有多遠? – 2009-07-07 21:24:00