2005年03月
看了蝈蝈今天发的文章后,研究了一下WinForm的多语言解决方案,参考网上的一些资料后,发现一个简单的方法,完全可以通过VS.NET的强大功能实现。
具体方法如下:
1. 选中一个Form窗体,在属性编辑器中设置Localizable属性为true(默认为false)
2. 设置Language属性为default,这样就可以编辑默认情况下的文化设置
3. 然后在Form中添加你需要的基本控件,如按钮、菜单、标签等
注意,一旦Form发生变化,VS.net就会自动生成<Form名称>.resx文件
技巧:如果要看resx文件,可以点击右侧"解决方案资源管理器"顶部的“显示所有文件“图标,这样就可以看到Form窗体的cs文件下多了一个<Form名称>.resx文件
4. 菜单布局完成后,重新设置Language属性为另一种语言,如中文(阅读全文>
发表于 @ 2005年03月27日 12:56:00|评论(loading...)|编辑
应用程序加载器就像“解靴带”或“垫子”一样,通过它可以启动由应用程序升级器更新的应用程序。这一章节将介绍下面的几个关于应用程序加载器的方面:
问题描述
设计目标、权衡和问题
解决方案描述
具体实现
问题描述
在应用程序运行时升级应用程序是一件困难的事情,Updater Application Block需要提供一种方法,该方法允许应用程序升级器下载并且安装升级文件,同时又要允许用户继续使用正在更新的应用程序。
设计目标、权衡和问题
Updater Application Block开发人员识别出了以下一些与应用程序加载器相关的设计目标、权衡和问题
1. 应用程序加载器应该在一个独立进程中启动最新版本的应用程序
2. 设计中的主要权衡问题是用户必须通过应用程序加载器启动应用程序,而非直接启动。 阅读全文>
发表于 @ 2005年03月20日 07:09:00|评论(loading...)|编辑
为方便大家阅读有关Updater Application Block v1.0 的翻译文章,在本文中列出最近翻译的相关文章目录。
Updater Application Block v1.0 介绍
Updater Application Block 设计篇
阅读全文>
发表于 @ 2005年03月19日 21:03:00|评论(loading...)|编辑
Updater Application Block提供后处理架构,该架构允许开发人员创建在升级成功执行的后处理器。后处理器实现IPostProcessor接口的.Net类,用它执行一次性的安装后任务,例如向注册表写数据、创建消息队列、或者其他任何无法通过简单拷贝应用程序文件完成的任务。
后处理器架构在图1中展示出来。
图1中,展示了下面的后处理步骤:
1. 包含后处理器的集合存储在被下载的文件中,作为升级的一部分。
2. 后处理器的集合、类型、文件名称在manifest中指定。
3. 在验证后,拷贝文件到它们的目标目录,应用程序升级器通过启动调用Call方法启动后处理器。
IPostProcessor接口设计
IPostProcessor接口必须通过所有的定阅读全文>
发表于 @ 2005年03月17日 18:21:00|评论(loading...)|编辑
本文仅对新版本的增强功能和改进进行介绍,如果想了解什么是Updater Application Block可以参考 UABv1.0版本的介绍。
新版本特点
1. 简化的API
2. 各个功能被分割开来:Manifest功能、下载器功能、激活功能
3. 支持部分升级
4. 支持多类型的下载器
5. 增加了允许应用程序在升级的关键阶段定制处理的事件
6. 支持使用事件管理下载进程
7. 支持基于Microsoft Windows Installer技术的升级
8. 激活处理器可用于下载完成后的激活任务
9. 基于Enterprise Library的图形化配置管理工具
10. 被加入 模式与实践[patterns and pra阅读全文>
发表于 @ 2005年03月13日 09:52:00|评论(loading...)|编辑
Microsoft Updater Application Block 服务器端manifest文件设计
译者:Tony Qu
Manfest文件用于列出一次升级所需要的所有的文件,它与验证签名相关联,验证签名可用于验证manifest文件的真实性。这个将介绍应用程序升级器的以下几个方面:
问题描述
设计目标、权衡和问题
解决方案描述
具体实现
问题描述
对于每次升级,应用程序升级器必须能够:
1. 识别可用版本,决定是否要升级
2. 定位升级文件
3. 验证升级信息和文件的真实性
4. 如果指定了一个后处理器,要定位后处理器[Post Processor]
设计目标、权衡和问题阅读全文>
发表于 @ 2005年03月11日 11:13:00|评论(loading...)|编辑
Microsoft Updater Application Block 应用程序升级器配置文件设计
译者:Tony Qu
该文件包含polling间隔、日志位置、要使用的下载器和验证器的信息,还有在升级过程中所要包含的每一个应用程序的具体信息。对于每一个应用程序,该文件包含客户端设置(如客户端配置文件的位置)和服务器端设置(如特定应用程序升级所需要的manifest文件的位置)。
应用程序升级器配置文件是与控制器应用程序相关联的应用程序配置文件,用于初始化升级进程,该文件常常存储在与控制器可执行文件相同的目录中。
ApplicationUpdater集合包含许多提供设置信息的面向对象的类,这些类是从配置文件中反序列化得到的,被用在内部应用程序升级器组件。
阅读全文>
发表于 @ 2005年03月09日 18:40:00|评论(loading...)|编辑
Microsoft Updater Application Block 配置设计
译者:Tony Qu
应用程序升级器的配置信息有三种来源:
1. 应用程序升级器的应用程序配置文件 —— 该文件包含polling间隔、日志位置、要使用的下载器和验证器的信息,还有在升级过程中所要包含的每一个应用程序的具体信息。对于每一个应用程序,该文件包含客户端设置(如客户端配置文件的位置)和服务器端设置(如特定应用程序升级所需要的manifest文件的位置)。
2. 客户端配置文件 —— 事实上,这些文件是与应用程序加载器相关联的应用程序配置文件,这些文件是为每一个应用程序升级而准备。该文件包含必要的用于识别当前已安装版本的信息,以及要加载的可执行文件的位置的信息。
3. Manifest文件 —— 每当一个特定的应用程序在服务器上发布,必须创建一个manifest文件用来进行更新。该文件包阅读全文>
发表于 @ 2005年03月09日 18:06:00|评论(loading...)|编辑
我开发了一套基于asp.net的网站,在中文版windowsXP下开发完成,安装在英文版windows2k上后,从其他安装中文版windows系统的机器上浏览网站中文无法正常显示,修改web.config中的<globalization>任不见有效果,不知道有没有朋友碰到过这样的问题,还请赐教!先谢谢各位了!
*************Updated on 2005.3.18 *************
来自cn.thespoke.net的解决方案
做如下修改:<globalization fileEncoding="utf-8">
msdn中说fileEncoding是为 .aspx、.asmx 和 .asax 文件阅读全文>
发表于 @ 2005年03月07日 18:01:00|评论(loading...)|编辑
Microsoft Updater Application Block IValidator接口设计
译者:Tony Qu
IValidator接口使得通过实现验证器扩展Updater Application Block成为可能。
问题描述
为了允许程序员把自己的验证器实现插入到Updater Application Block中,一个用于定义验证器类型的公共接口必须被显露出来,验证器类型将被manifest工具使用。
设计目的、权衡和问题
Updater Application Block的开发人员认识到以下一些目标、权衡和问题
1. Updater Application Block应该有足够的灵活性来支持各式各样的验证技术和密钥。
2. 验证器应该阅读全文>
发表于 @ 2005年03月06日 16:24:00|评论(loading...)|编辑
Microsoft Updater Application Block 验证器设计
译者:Tony Qu
Updater Application Block提供了一个可扩展的验证器架构,这使通过签名或哈希号验证下载文件成为可能。验证器架构支持在服务器上生成签名和在客户端上确认这些签名。
图1 展示了服务器端的验证架构
通过图1我们可以了解到验证器架构的以下几个方面
1. manifest工具会初始化一个用户指定类型的验证器。所有的验证器必须实现IValidator接口。用户还必须为验证器指定一个密钥,传递给验证器。
2. 验证器为位于服务器端的应用程序升级目录中的每一个文件生成一个签阅读全文>
发表于 @ 2005年03月06日 07:00:00|评论(loading...)|编辑
Microsoft Updater Application Block BITSDownloader类设计
译者:Tony Qu
BITSDownloader类是一个从http服务器拷贝文件的下载器,它是Updater Application Block的默认下载器。
问题描述
BITSDownloader类被设计用于解决以下问题
1. 一个可以被应用程序升级器使用的下载器类,该类能够从一个http服务器上下载需要的文件。
2. 下载文件时的健壮、可靠并且安全的连接是必需的。
设计目的、权衡与问题
下面是Updater Application Block开发人员认识到的设计目的和问题
1. 渴望通过异步下载机制加快速度
阅读全文>
发表于 @ 2005年03月05日 22:46:00|评论(loading...)|编辑
.Text中的用户文章管理界面是使用Advanced Panel的主要界面。Advanced Panel与普通WebPanel相比,多提供一个Header栏,并且可以不使用任何代码实现折叠[Collapsing]功能,这是该控件最有特色的地方。 阅读全文>
发表于 @ 2005年03月04日 11:17:00|评论(loading...)|编辑
Microsoft Updater Application Block IDownloader接口设计
译者:Tony Qu
问题描述
为了允许开发人员把他们自己下载器实现嵌入Updater Application Block,DownloaderManager类中的用于定义下载器类型的公共接口必须暴露给开发人员。
设计目标、问题
1. IDownloader接口的最显著的设计目标是,它必须提供一个方法,该方法能够从一个位置向另一个位置拷贝文件。
2. 为了得到最优的性能和效率,Updater Application Block的开发人员决定提供一个方法,该方法可以完成多个文件的拷贝功能。
3. 为阅读全文>
发表于 @ 2005年03月03日 15:19:00|评论(loading...)|编辑
Microsoft Updater Application Block 下载器设计
译者:Tony Qu
Updater Application Block使用一个可扩展的下载器架构从指定的服务器上拷贝manifest文件和应用程序升级文件到客户端。
图1 展示了下载器架构
图1 包括下列过程
1. ApplicationUpdateManager类使用UpdaterConfiguration类的实例属性读取应用程序下载器配置文件中的<downloader>节。这个配置节包含要使用的下载器的完整集合[assembly]名称和类型[type]名称。更多关于应用程序设计的信息可以参考Applica阅读全文>
发表于 @ 2005年03月02日 22:57:00|评论(loading...)|编辑
Microsoft Updater Application Block ApplicationUpdater assembly设计
译者:Tony Qu
ApplicationUpdater集合提供了Updater Application Block的核心功能。
ApplicationUpdater集合类
ApplicationUpdater集合包含许多类,可以分为以下几类:
核心类
ApplicationUpdater中的核心类控制选择、下载、验证和后处理功能。这些核心类有以下两个:
ApplicationManager——这是应用程序升级器的根对象。这个类负责启动和管理每一个在配置文件中阅读全文>
发表于 @ 2005年03月01日 21:26:00|评论(loading...)|编辑