Microsoft Updater Application Block 1.1 设计篇 [翻译]
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)
版权声明:本文由作者Tony Qu原创, 未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。