解析大型系统自动更新
C/S架构的应用程序需要支持自动更新功能,当新版本程序发布后,正在运行的客户端能检测到新版本的程序,通知用户是否下载更新。工作以来参与过几个自动更新模块的设计与维护,撰文总结自动更新模块设计与实现。 自动更新组件主要内容 1 版本比较。旧版本如何检测到新版本,版本信息是程序集自描述的,还是用单独的文件保存。.NET程序集是自描述的,程序集包含以下几种版本信息,每个Assebmly包含三个Version AssemblyFileVersion : 存储在Win32资源中, CLR不关心这个版本号。 AssemblyInformationnalVersion :存储在Win32资源中, CLR不关心这个版本号。 AssemblyVersion: 存储在AssemblyDef manifest metadata table中,CLR会使用这个版本号。 标准版本号物理形式表示为用句点隔开的四段数字,如下面的代码示例所示。 <major version>.<minor version>.<build number>.<revision> 实际使用中,我们一般只用到前面三段。即 <major version>.<minor version>.<build number> 版本比较举例: 旧版本 2.4.1.2 新版本 2.4.1. 3 或 2.4. 2 .2 或2. 5 .1.2。 2