Microsoft Updater Application Block 設計篇
譯者:Tony Qu
Updater Application Block為企業環境中解決傳統型應用程式的更新問題提供了一個“無接觸”解決方案。它包含一系列組件,每一個組件被設計用來實現更新過程中的一個特定的角色。
進階設計
圖1展示了Updater Application Block的進階設計
圖1中,展示了關於Updater Application Block的下面一些方面:[以下數字與圖中數字相對應]
1. 在伺服器端,manifest utility為每一個應用程式更新產生一個manifest檔案。manifest檔案列出了在更新中需要拷貝的所有檔案,每一個檔案都有一個雜湊(hashed)簽名,以及可選的一個後處理器(post processor),在更新檔案下載和驗證後,在用戶端上可以執行後處理器。
2. 控制器應用程式用於啟動和停止應用程式升級程式。應用程式設定檔與控制其相關聯的,用來設定升級過程中的三個基本配置。
a. 要升級的應用程式,包括用戶端設定檔的位置和伺服器端用來判定用戶端和伺服器端最新版本的manifest檔案的位置。
b. 下載器(downloader)組件在拷貝檔案時被使用。下載器必須實現IDownloader介面。Updater Application Block包含一個使用背景智慧型傳送服務的下載器。另外你可以開發定製的下載器。
c. 驗證器(validator)組件應該用於驗證被下載的檔案。驗證器組件必須實現IValidator介面,Updater Application Block包含兩個驗證器,一個是基於對稱金鑰的驗證器,另一個是基於RSA公開金鑰/私密金鑰的驗證器。另外,你可以開發自己定製的驗證器。
3. 應用程式升級程式會隔一段時間啟動一次升級進程。當升級進程啟動後,升級程式適用特定的下載器拷貝每一個應用程式的manifest檔案,這些應用程式可以在用戶端設定檔中設定。如果更新可用,下載器會拷貝檔案到用戶端的一個臨時目錄。
4. 升級程式裝載一個特定的驗證器來驗證下載下來的檔案,如果檔案有效,它們將被拷貝到適當的應用程式檔案夾,同時設定檔也會被更新最新版本。
5. 如果後處理器(post processor)在manifest檔案中被指定,升級程式將裝載並運行指定的後處理器。
Updater Application Block設計話題
核心設計 (Core Design)
下載器設計
驗證器設計
應用程式載入器設計
配置設計
後處理器設計 (Post Processor Design)
異常管理設計 (Exception Management Design)