现在的位置: 首页 > 综合 > 正文

Microsoft Updater Application Block 1.5.3 服务器端manifest文件设计 [翻译]

2014年01月18日 ⁄ 综合 ⁄ 共 1362字 ⁄ 字号 评论关闭
Microsoft Updater Application Block 服务器端manifest文件设计

译者:Tony Qu

Manfest文件用于列出一次升级所需要的所有的文件,它与验证签名相关联,验证签名可用于验证manifest文件的真实性。这个将介绍应用程序升级器的以下几个方面:
问题描述
设计目标、权衡和问题
解决方案描述
具体实现

问题描述
对于每次升级,应用程序升级器必须能够:
1. 识别可用版本,决定是否要升级
2. 定位升级文件
3. 验证升级信息和文件的真实性
4. 如果指定了一个后处理器,要定位后处理器[Post Processor]

设计目标、权衡和问题
Updater Application Block的开发人员识别出以下一些与manifest文件相关的设计目标、权衡和问题
1. 文件必须是xml格式
2. 文件应该为每一个升级文件包含验证签名
3. 文件应该包含一个manifest自己的签名
4. 文件应该允许管理员指定在升级完成后运行的后处理器

解决方案描述
manifest文件模式包含以下一些元素:
1. availableVersion —— 可供下载的应用程序版本
2. updateLocation —— 升级文件的网络位置
3. files —— 每一个升级文件都有一个<file>元素
4. postProcessor —— 这是一个可选的元素,指定类型、集合、在升级完成后运行的后处理器的文件位置。
另外,<ServerApplicationInfo>根元素和每一个<file>元素都有一个signature属性,该属性用于指定一个验证签名

具体实现

<ServerApplicationInfo signature="16d~#d9&9">

  
<availableVersion>2.0.0.0</availableVersion>
<updateLocation>http://appserver/appupdates/2.0.0.0</updateLocation>
  
<files>
    
<file name="post/Microsoft.ApplicationBlocks.ApplicationUpdater.Interfaces.dll"  signature="25kdsj*7" />
    
<file name="post/MyPostProcessor.dll" signature="25sd][{*h" />
    
<file name="data/App1Data.mdb" signature="6ydh8i]+8#"
    <file name
="App1.exe" signature="25+)8j&h" />
    
<file name="App1.exe.config" signature="19huio%g" />
  
</files>
  
<postProcessor type="MyPostProcessor.MyAppProcessor" assembly="MyPostProcessor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="post/MyPostProcessor.dll" />
</ServerApplicationInfo>

抱歉!评论已关闭.