Microsoft Updater Application Block 1.5.3 服务器端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属性,该属性用于指定一个验证签名
具体实现
<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>
转载于:https://www.cnblogs.com/tonyqus/archive/2005/03/11/116716.html
Microsoft Updater Application Block 1.5.3 服务器端manifest文件设计 [翻译]相关推荐
- Microsoft Updater Application Block 1.2.1 核心设计(core design) [翻译]
Microsoft Updater Application Block 核心设计(core design) 译者:Tony Qu Updater Application Block由一个核心应用程序升 ...
- Microsoft Updater Application Block 1.4.3 KeyValidator类设计 [翻译]
Microsoft Updater Application Block KeyValidator类设计 译者:Tony Qu KeyValidator类提供一个基于对称密钥的验证器,该章节将介绍Key ...
- Updater Application Block for .NET
Introduction Do you need to deploy updates to .NET applications across multiple desktops? Would you ...
- Updater Application Block v1.0 翻译文档目录
为方便大家阅读有关Updater Application Block v1.0 的翻译文章,在本文中列出最近翻译的相关文章目录. Updater Application Block v1.0 介绍 U ...
- Updater Application Block for .net 2.0 发布了
Updater Application Block for .net 2.0 终于发布了,做smart client的兄弟来下载吧! 另外 Smart Client Application Block ...
- 近期工作:Updater Application Block (UAB)继续
阅读: 1.Using Updater Block by Praveen Nayak http://www.codeproject.com/csharp/VanillaUpdaterBlock.a ...
- Object Builder Application Block (2)
三.ObjectBuilder Application Block ObjectBuilder一开始出现于Microsoft所提出的Composite UI Application Block,主司对 ...
- 黄聪:Microsoft Enterprise Library 5.0 系列教程(九) Policy Injection Application Block
代理对象(Proxy Object)会通过Handler链定位到真实对象(Real Object),而Policy则被注入到代理对象和真实对象中.整个流程如图: 我个人对Policy Injectio ...
- 黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级)
原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级) 本章介绍的是企业库加密应用程序模块 ...
最新文章
- linux shell 代码太长换行 续行
- 以脚本方式直接执行修改密码的passwd命令
- 【动态规划BFS】相遇
- BugkuCTF-MISC题1和0的故事
- 热门搜索怎么实现_三个步骤教你学会,搜索引擎霸屏技术!
- Atitit 面试问题总结
- 网易蜗牛读书与微信读书竞品分析
- c语言写测试地下水流速,《C语言》课程教学大纲 总学时:总学时64;理论44;实验20 学分:3.5 .doc...
- 80psi等于多少kpa_关于胎压的换算psi、bar,kpa
- urp综合教务系统 php 课表,URP综合教务系统教师录入成绩指南
- PS3视频媒体播放基本说明
- 史蒂夫·乔布斯(简介)
- 分布式技术与实战第六课 分布式缓存设计
- Android 删除图片后刷新媒体库
- Node.js CQRS 幻灯片系统开发实战-曾亮-专题视频课程
- 渗透测试工具实战技巧合集
- MacOS 磁盘管理工具 diskutil 介绍
- jupyter notebook如何导入使用pygal模块
- Push rejected by evil dragon bureaucrats
- python里怎么输入θ_Python笔记——输入输出
热门文章
- React开发(239):dva概念4dispatch
- Taro+react开发(19)--arr声明const报错
- react学习(67)--git 屏蔽文件不被追踪
- 前端学习(3239):react生命周期setstate流程
- [vue] 你有自己用vue写过UI组件库吗?
- [css] 要是position跟display、overflow、float这些特性相互叠加后会怎么样?
- 前端学习(2456):文章列表
- “约见”面试官系列之常见面试题之第五十二篇之标准模式和怪异模式(建议收藏)
- 前端学习(1899)vue之电商管理系统电商系统之渲染添加用户的表单
- shiro学习(21):动态添加验证规则1