WinXP SP2发布了,微软对这个升级程序的投入程度是空前的,但作为操作系统,再完美的结构也会随着时间的发展,须要不断打补丁、升级。在线升级更新是满足这种需求的长久解决方案,也是操作系统升级的重要环节。为配合SP2这次意义重大的系统升级,微软对在线更新脚本进行了彻底改写,调整了一个主版本号(Main Version),希望此次更新能大幅度提高部署的成功率,改善用户的应用体验,这就是我下面要介绍的Microsoft Windows Update v5(以下简称v5)。
一、扫描系统更新
用户如果想使用v5,只须访问http://v5.windowsupdate.microsoft.com。在打开这个站点的时候,会下载一个名为“Windows Update”的ActiveX插件,它会引发一个安全设置警告对话框,选择“是”继续,为了以后升级方便可以选中“总是信任Microsoft Windows Publisher的内容”复选框。进入网页后,首先会要求用户下载和部署v5组件(即更新程序本身的升级),完成更新后,通过“开始”菜单的Windows Update链接就是直接连接到v5了。
Microsoft Windows Update v4(以下简称v4)会自动扫描本地已经部署的更新,并在线下载未部署的更新。在这一点上,v5并没有什么不同,v5也不会找到比v4更多的更新。然而v4将一切选择的权利交给了用户,这虽是一件好事,但是初级用户会发现,如果按照默认的设置对系统进行更新,被下载和部署的就仅仅是“关键更新”,而“可选更新”和“驱动程序更新”则未被下载部署。在用户进行自定义选择的时候,亦会面对“必须独立部署”和“非必须独立部署”项目区别不清的问题。
为此,v5在第一个页面就进行了用户级别选择(如图1)。初级用户可以选择“快速安装”,整个更新过程将全部交由v5脚本来完成。如果是进阶用户,则可以自由地决定哪些更新需要部署,哪些不需要。特别是有的更新部署以后,会引起某些硬件的兼容性问题,就一定要在列表中去除它们。
图1
作出选择后,与v4一样,v5开始扫描已经部署的更新。不同的是,v5将扫描进度提示改成了滚动的非精确的进度条(如图2)。这在网络环境下是比较客观而真实的:由于影响网络速度的因素非常多,要准确评价扫描的百分比很困难,用户只要等待这个过程完成就可以了。
二、改进的“可选更新”项目分类
扫描完成后,就是选择更新项目了。选择更新项目时,最特别的就是“可选择的更新”项目。这里存在着两种截然不同的分类,一种是必须独立下载和部署的,而另一种则是可以和其他更新一起下载和部署的。在v4中,对于必须独立下载和部署的更新,并没有和另一个分类中的更新区别开来,如果用户选择了必须独立下载和部署的更新,就会弹出一个对话框让用户选择,是单独下载和部署这个更新呢,还是不要这么做。如果用户选择要单独下载这个更新,所有已被选择的不必独立下载和部署的更新就会全部取消。如果这不是用户的本意而是误操作,用户就会非常恼火。事实上,我们只要稍微动一下脑筋,就会知道最具效率的方式是先把不必独立下载和部署的更新全部下载并部署,然后逐一处理必须独立下载和部署的更新。v5正是为用户准备了这样的一个界面,所有的必须独立下载的更新与不必独立下载的更新放在一起,采用单选框的形式,即不能同时选择两者。这里有一个“全选”框,选择它,所有的不必独立下载和部署的更新会被全部选中,用户就不必再像过去那样一个一个地勾选了,大大加快了更新的选择速度(如图3)。
图3
某些更新对于一些用户来说,几乎不会用到(比如无线网络),v5为此增加了“项目隐藏”新特性。如果一个更新项目是可以隐藏的,一旦用户选择了隐藏它,那么v5脚本就会永远地忽略这个更新,不会让用户再去下载和部署它,除非用户又选择恢复它的非隐藏状态。
三、了解要部署的更新
v5为保证用户了解每个更新的细节,给每个即将下载的组件都添加了“详细信息”链接(单击组件上的链接可以显示或隐藏这个细节)。值得注意的是,同一时刻,只有一个组件的细节会被显示。这样不仅使整个页面显得整洁,而且尽可能地将浏览焦点集中在用户当前关注的组件上。
以下是一个例子:针对WinXP的KB828741这篇知识库文章涉及内容而进行的安全更新。点击这个更新,细节信息被打开,可以看到对此更新的概略描述(如图4)。
图4
点击“详细信息”,一个弹出式页面会给出其相关的系统需求。可以看出,这个更新可以部署于任何CPU,对内存和硬盘空间的需求都很小(如图5)。如果点击“详细信息”中的链接,就会打开知识库文章KB828741(如果没有相关的知识库文献,这里将提供一个与此更新内容相关的网页)。
图5
四、更健全的更新过程
选择好要部署的更新后,点击“开始安装更新程序”进行更新的部署。细心的朋友一定会发现,在v5中,取消了每次安装更新前总要弹出“Microsoft最终用户许可协议(补充组件)”并让用户确认的流程。而且,v5彻底改变了以往更新时的下载进度显示方式,将进度显示细化到了每个组件。细心的用户一定会记得,如果全部的更新容量很大时(如100MB),从v4的下载安装进度中无法知道当前正在下载哪个组件或已经下载了多少,因为v4的进度显示是针对所有组件的,某个组件如果只有600KB,那么在100MB中所占的比例非常小,在进度显示中就被忽略了。并且,v4的下载进度条并不是按当前下载量和总下载量之比来滚动,而是按时间来的,所以用户常常看到进度条已经快要滚动到头了,但数十MB的下载量才进行了数MB,此时就会产生被“欺骗”的感觉。但现在,v5脚本正在下载哪个组件或已经下载了多少,可以说是一目了然(如图6)。
图6
在v4中,由于下载和部署的进度对用户不完全透明,用户如果要中止安装过程,点击取消后,下载和部署过程仍然要进行一段时间才会中止。而且用户无法得知自己取消的是当前下载和部署的组件呢,还是全部组件?在v5中,这种状况得到了彻底的改善。用户可以在安装的过程中,随时点击“取消”按钮来立刻中止当前的下载和部署过程,在随后出现的页面中,会收到下载和部署过程未能完成的报告。这个事件将被记入历史事件,并在原因一栏填写“取消”。