您的位置:首页 > 移动开发

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

2005-03-11 11:13 609 查看
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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: