我正在爲java .jar應用程序開發更新啓動器。我有幾個.jar-archives和一個main.jar。更新時,我的發射器添加/取代必要的罐子。適合java的UpdateLauncher如何看起來像?
我只是不確定要照顧什麼標準。所以我會描述這個過程如何工作,如果我忘記了某些東西,你可能會告訴我。
- 加載和FTP更新服務器
- version.xml文件比較請更新項目清單與兩者的幫助version.xml文件
- 檢查(以確保),如果這些文件目前仍在硬盤上確實存在有效(將它們添加到需要下載的項目列表中...應該不會發生)
- 創建需要下載的文件列表(這些項目位於服務器上以壓縮形式)
- 將所有需要的文件下載到/ temp文件夾 個
- 打開所有文件到/溫度/解壓
- 移動的所有文件解壓到/ data文件夾(或他們屬於)
- 更新本地version.xml
- 檢查所有文件是否符合實際版本 - 文件 - 列表
我真的不確定我是否忘記了一些東西?如果一些用戶在/ data中弄亂了文件,我的更新程序會識別這個問題,並提出一個「修復更新」,其中所有丟失的文件都將被重新下載。但是用戶如何處理version.xml?我應該存儲加密的。是否有必要保持從更新服務器下載的version.xml打開,以便在檢查版本和更新時沒有人可以更改?還是我太擔心這一切?
到目前爲止,所有這些工作都完成了嗎?是否足夠安全,以便在修補程序之後不會在用戶PC上創建凌亂的安裝?
感謝您的回答。它不像一個後臺更新程序。這是一個應用程序啓動器,在必要時啓動程序時檢查更新。我在做這個項目來學習更多關於編程客戶/服務器應用程序的知識。作爲這個客戶端的一部分,我有一個updateLauncher。但我不知道我的解決方案是如何...「專業」。我在哪裏可以讀到現有的解決方案像equinox和其他人如何進行更新?我只是想能夠建立一個質量類似於商業產品的更新。 :) – Ciprian 2013-03-15 20:08:30
我不是一個很好的人問這個問題。你可以考慮嘗試這個基於Maven的OSGI內核:http://karaf.apache.org/。這是一種學習曲線,但它對我來說很現代。 – djangofan 2013-03-19 03:18:30