我必须承认,我喜欢 Windows? Update 功能。 在我的计算机开机的时间中,大约有 85% 的时间都连接到了 Internet 上,但是,像许多人一样,我当然不会这么多时间都在使用网络。 Windows xp 利用了这一未用的带宽,将网上可用的最新服务包和修补程序与我计算机上已安装的服务包和修补程序进行比较。 假如它找到了我需要的更新,便会在后台将它们下载下来。 完成后,Windows 会通知我计算机上有需要安装的新软件包。
假如可以选择的话,我希望让客户端上的每一个应用程序都像 Windows 一样答应自动更新。 现在有许多有利的条件以及现成的连接来实现这一功能。 假如要使应用程序自动进行自我更新,必须编写代码来处理发现、下载、安全性以及替换等方面的问题。
为了处理实际的下载,我将介绍 Windows 的一项新功能:后台智能传输服务 (BITS)。 在讨论此功能之后,我将介绍 .NET Framework 中可用来解决自动更新应用程序的安全性和替换问题的功能。
请注重,虽然 BITS 1.5 可重新发布软件可以很好地工作在 windows 2000 和 Windows XP 上,但是 Microsoft 不打算在 Windows 9x 或 Windows Me 上支持 BITS API。 BITS 有望作为 Windows 的将来版本的一个组件提供。
安全可能是首当其冲的一个问题。 请花一点时间想一想 Windows Update 功能。 它的一个主要目的是获取安全修补程序。 想想,假如 Windows Update 自身都不能确认它安装的是否是安全的代码,情况会怎么样? 显而易见,从 Internet 上下载代码并执行该代码的任何应用程序都必须将安全性作为一个首要问题。 因此,我将探讨如何确保自动更新应用程序的安全性。