我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: Windows Vista里面延迟删除技术的变更 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

xielinli



贝尔诺勋章
性别: 帅哥 状态: 该用户目前不在线
头衔: 有空回来看看~
等级: 荣誉会员
家族: 跳楼要在华为跳
发贴: 7518
威望: 4
浮云: 366
在线等级:
注册时间: 2007-07-21
最后登陆: 2016-06-19

5come5帮你背单词 [ expect /iks'pekt/ vt. 期待,预期,盼望,认为,指望,希望 ]


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

来源:Enjoy IT 作者:smallfrogs 时间:2008-04-05 Tag:删除  延迟 

在 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呢?
顶端 Posted: 2008-04-05 22:38 | [楼 主]
joezxd



性别: 帅哥 状态: 该用户目前不在线
头衔: 我的目标是太阳
等级: 人见人爱
家族: 绘里香榭
发贴: 2226
威望: 0
浮云: 1112
在线等级:
注册时间: 2006-10-07
最后登陆: 2019-01-07

5come5帮你背单词 [ well /wel/ int. 哎呀,好啦,那么;ad. 好,完全地,充分地,有理同地,恰当地;良好的,健康的 ]


要好好学学xml了  现在用的太多了
顶端 Posted: 2008-04-05 22:45 | [1 楼]
我来我网·5come5 Forum » 软件交流

Total 0.007678(s) query 5, Time now is:11-22 03:45, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号