2010-03-03 109 views
1

我想了解如何爲應用程序編寫軟件更新的一般想法?軟件更新

該技術是簡單的像VC++或.Net?..

我只需要在短暫的想法。

+0

如果你想要一個有用的答案,那麼你可能想要爲你的問題添加更多的細節。 – slugster 2010-03-03 05:54:10

+0

我只想簡短的回答,一般情況下會發生什麼事在軟件更新 – Naruto 2010-03-03 05:58:50

回答

2

以下回答基於假定您正在引用軟件的自動更新。也就是說,啓動應用程序時,您會檢查是否有更新的版本可用,如果情況屬實,則會自動下載/安裝新版本。

如果您的應用程序是基於.NET的,Microsoft ClickOnce是最簡單的方法。 Here是一個可以開始的鏈接。它可以用最小的努力。

使用C++從零開始實現的示例可以在here找到。

所有這些樣的想法需要解決以下幾個問題:軟件中的唯一標識版本informtaion

  1. ADD機構。
  2. 將可用(最新)軟件版本信息在一些地方,客戶端可以訪問(可能和HTTP服務器)
  3. 在您的應用程序需要訪問公版的信息,並與客戶端軟件版本進行比較。
  4. 實現更新功能。這包括下載二進制文件。關閉當前的應用程序並運行安裝。然後重新啓動應用程序。

請注意,對於第4步,它需要關閉正在運行的應用程序並在安裝完成後重新啓動它。這意味着你可能需要在另一個過程中完成。

+0

+1 ClickOnce非常易於使用。 – 2011-02-15 18:27:43

4

通常,軟件更新與更新程序一起應用。否則,運行該程序的副本會使其難以修補。

簡單化:

  • 在程序的每次啓動,連接到服務器與Web服務,如有下載新的安裝。
  • 程序調用updater.exe並退出。
  • updater.exe應用修補程序,並重新啓動程序。
+0

這正是我們正在[UpdateNode](http://www.updatenode.com)正在做什麼。您只需將我們的開源客戶端集成到您的軟件中,從那時起,您就可以從遠程管理您的軟件更新,與您的客戶進行通信,並且在更新執行方式以及軟件更新的時間方面非常靈活。 – sarahara 2014-07-25 09:57:40