2010-07-11 46 views
0

我正在開發一款WPF技術遊戲。 我想每隔三天向遊戲添加新功能。 更新的大小對我來說很重要。我的遊戲需要啓動互聯網。就像在線遊戲一樣。 另一個挑戰是更新的大小。 最重要的注意事項: 我需要更新的程序不需要停止。 你的建議是什麼? clickonce是不錯的選擇嗎? 感謝您的關注。 請給我指引。更新應用程序的最佳途徑

回答

1

ClickOnce部署做增量更新。在部署更新時,如果文件的日期/時間戳和散列與最新版本相同,ClickOnce會將它們從緩存版本複製到新版本,而不是通過Internet複製它們。

如果您在一個解決方案中有多個項目,ClickOnce將每次都部署這些項目,因爲它們在生成解決方案時被重新編譯並重新編譯。但是如果你有一些你認爲不會改變的項目,你可以將它們放在一個單獨的解決方案中,構建它們,並將dll包含在主應用程序中。那麼每次發佈時都不會重新構建和重新構建,而且不會再次通過互聯網複製。

至於從互聯網開始,您可以指定應用程序僅在線運行,這要求用戶能夠連接到deploymnet清單(.application文件)並且能夠每次檢查更新他運行它。

請注意,大多數人設置ClickOnce檢查更新並在運行前安裝它們,這可確保客戶始終運行最新版本。

我不確定這是什麼意思:「我需要更新程序不需要停止」。

如果要在不強制用戶關閉的情況下更新ClickOnce應用程序,則可以使用編程API檢查更新並安裝它,但必須重新啓動應用程序才能安裝更新。 (Application.Restart())。

+0

你好我的朋友:) 你的帖子是如此有用。 ------------- ClickOnce是否適用於可能安裝在例如400客戶端上的應用程序? – Shahin 2010-07-12 19:04:02

+0

很高興你發現它很有用。我的公司(GoldMail)在全世界有成千上萬的客戶安裝和使用我們的ClickOnce應用程序,幾乎沒有ProS。最常見的問題是防火牆,很容易處理。 – RobinDotNet 2010-07-14 03:15:38

1

就我所知,clickonce不會做你想做的。

一種選擇是將文件差異應用程序的源文件加載並對其進行翻譯以比較二進制文件的字節(V1.0 & V1.1)。

然後,您將製作一個說明文件,說明如何使用此差分程序的輸出將V1.0轉換爲V1.1。

然後,您需要編寫一個更新程序應用程序,該應用程序需要升級指令並將V1.0版本轉換爲V1.1版本。

這種方式僅改變的字節已經通過網絡發送,而不是整個程序

看一看這樣的:http://www.codeproject.com/KB/files/LPTextFileDiff.aspx

希望這有助於:-)