网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 操作系统 > Windows Vista
本月文章推荐
.在安装了早期版本的Windows操作系.
.Windows Vista RC1 CPP 正式向所.
.Windows Vista系统下Windows审核.
.Windows Vista系统Areo界面全攻略.
.Windows Vista和XP系统功能大比拼.
.删除多余的Windows Vista启动菜单.
.修改密码我说了算 让Windows Vis.
.Windows Vista中快速进入网络连接.
.让声音尽在掌握 体验Vista音量控.
.给系统加速 Vista操作系统优化技.
.金无足赤Windows Vista操作系统新.
.如何让Vista梦幻桌面支持更多格式.
.Windows Vista安全模式加载了哪些.
.Windows Vista下如何通过蓝牙手机.
.Windows Vista系统中10条最常用运.
.在虚拟机中运行Windows Vista的基.
.Windows Vista操控锁定计算机功能.
.Windows Vista系列介绍之个人信息.
.Windows Vista SP1功能特性深度剖.
.Vista与Server 2008 SP2 CPP 测试.

Windows Vista里面延迟删除技术的变更

发表日期:2007-8-24


  在 Windows 2000/XP/Server 2003 里面,包括Microsoft在内的各个软件厂商在碰到文件被占用无法马上替换问题的时候,都会使用MoveFileEx API函数让系统在注册表

  Key:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
Value:PendingFileRenameOperations

  键值下面建立一个延迟删除列表,系统在下次启动的时候,CSRSS.EXE进程将根据这个列表对文件进行延迟更新或者延迟删除操作。

注:PendingFileRenameOperations是一个REG_MULTI_SZ类型的注册表键值,不能直接通过注册表编辑器编辑,否则会造成延迟删除列表被破坏。要查看这个键值的内容,可以使用注册表编辑器或者使用我以前开发的 PendMove 工具,

  对于Windows XP和Windows Vista两个操作系统在安装完需要重启的补丁以后的PendingFileRenameOperations键值数据以后会发现,Windows XP是利用PendingFileRenameOperations控制被占用文件进行被占用文件的升级和删除操作的。而Windows Vista并没有使用这个键值控制被占用文件的升级和删除操作。那么Windows Vista 补丁程序是怎么实现的延迟删除呢?

  首先,需要明确的一点就是Windows Vista 新增的 Restart Manager 机制并没有完全被使用如果按照以前的说法,Windows Vista 在安装完补丁程序以后基本上是不需要重启的,但是现在看来每次打补丁都必须重启系统,至少进几个月的补丁都是这样的。

  那么Windows Vista是如何得知被占用文件的目标文件和源文件信息,如何进行升级的呢?

  在进行一番搜索以后,发现Windows Vista是利用一个/多个XML文件记录数据信息,在一个特别的目录里面存放临时文件和升级文件的。我们知道,以前打完Windows 补丁,都会在Windows目录下出现在$KB目录,但是Windows Vista好像没有这个内容,看不见吗?不是看不见,是因为根本就没有生成。

  实际上,Windows Vista 是利用 %SystemRoot%\WinSxS 目录来存放临时文件、备份文件和配置信息的,Windows 会在适当的时候根据配置文件来完成文件的更新操作。

  打开 %SystemRoot%\WinSxS 目录,会看到两个XML文件,pending.xml 和 cleanup.xml。前者记录了文件的新版本信息和旧版本信息,后者用途好像是用于清理环境的。

  根据XML文件的描述,很容易得知:

%SystemRoot%\WinSxS\Backup 目录存放旧版本的文件
%SystemRoot%\WinSxS\Temp 目录存放需要升级到的新版本文件
注意:Windows Vista 的升级机制又不同于以前版本的Windows,是增量升级哦。也就是只需要下载不同的片段内容,Windows Vista 会根据片段内容和原始文件进行拼接以后,生成新的文件。
  最后留一个问题给大家:Windows Vista 之前的操作系统是利用 CSRSS.EXE 实现文件更新的,那么Windows Vista呢?

  本文转自:http://blogs.itecn.net/,作者:smallfrogs

上一篇:Windows Vista下文件夹也可虚拟磁盘分区 人气:3277
下一篇:Windows Vista系统自带刻录功能评测 人气:5216
浏览全部Windows Vista的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐