日期:2008-06-01  浏览次数:20528 次

作者:Jamie Cool

Microsoft Corporation

3/4/02

翻译:李嘉

北京.东方瑞道
2004-6-1


译者小记:智能升级、自动更新,这是我们以前开发Windows应用程序时经常碰到而且必须注意的问题。在.NET应用程序更新组件没有出现之前这个问题曾经令人非常头疼(除非你就不打算进行升级:))。谁又不希望自己开发的应用程序象Windows XP自身或Microsoft Money那样具备自动更新的功能呢?使用.NET应用程序更新组件将会使这一切变得非常简单。在微软的DevDay2004上曹老师曾演示过的智能客户端IssueVision的一个非常重要的亮点就是智能升级,自动更新。其中就采用的是.NET应用程序更新组件。本组文章将通过实例来讨论一种生成可自动更新自身的.NET客户端应用程序的方法。

I recently received a mail from the Microsoft IT team notifying me that they had detected several applications on my desktop computer that did not have the latest patches installed and instructed me to install the latest updates. I’ll be the first to admit that I don’t update the applications I run as much as I should; either on my home machine or on my work machines. It usually takes a problem like a broken feature in an application or an email (or sometimes several) from the IT department, to get me to install updates. Unfortunately I’m more of the rule than the exception when it comes to users updating their applications.

我最近收到一封来自微软IT团队的邮件提醒我他们已经探测到我的桌面计算机上的一些应用程序没有安装最新的补丁,并建议我安装这些最新的补丁。我将是第一个承认我并不是手动运行应用程序更新尽管我可以这样做。不管是在我的家用计算机还是我的工作机器上。让我去安装更新,就象应用程序中的中断特征或来自IT部门的一封(或有时是多封)邮件一样通常会带来问题。遗憾的是,相比那些来更新他们的应用程序的用户我更遵守规则。



This requirement of needing a user or admin to manually install an update is why rolling out client updates has traditionally been such a huge problem and expense. One solution is to move the responsibility of updating the application from the user to the application itself. Instead of the user obtaining and installing a software update, the client application itself is responsible for downloading and installing updates from a well known server. The only user interaction necessary is whether or not they want to install the new updates now or later. You can see this type of approach to updating applications in action today with products like Windows XP and Microsoft Money.

这种需要用户或管理员手动安装更新的需求就是轮询客户端更新的原因,一直以来这也成为一个很大的问题并且代价昂贵。一个解决方案是将更新的职责从用户那边转移到应用程序自身。取代用户获取并安装一个软件的更新,客户端应用程序自身负责从一个已知服务器下载并安装更新。用户唯一需要进行干预的是决定是否愿意现在或以后安装新的更新。你现在可以看到象这类更新应用程序的方法的实际产品,比如Windows XP和Microsoft Money。



In this article we will talk about an approach to building .NET client applications that are able to automatically update themselves.

在这篇文章中我们将讨论一种生成可自动更新自身的.NET客户端应用程序的方法。



(未完待续)