久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

Windows Vista里面延遲刪除技術的變更

瀏覽:106日期:2023-08-19 18:45:12

在 Windows 2000/XP/Server 2003 里面,包括Microsoft在內的各個軟件廠商在碰到文件被占用無法馬上替換問題的時候,都會使用MoveFileEx API函數讓系統在注冊表

Key:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerValue: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%WinSxSBackup 目錄存放舊版本的文件 %SystemRoot%WinSxSTemp 目錄存放需要升級到的新版本文件 注意:Windows Vista 的升級機制又不同于以前版本的Windows,是增量升級哦。也就是只需要下載不同的片段內容,Windows Vista 會根據片段內容和原始文件進行拼接以后,生成新的文件。最后留一個問題給大家:Windows Vista 之前的操作系統是利用 CSRSS.EXE 實現文件更新的,那么Windows Vista呢?

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

標簽: Windows系統
主站蜘蛛池模板: 修武县| 古交市| 东城区| 苏尼特右旗| 峡江县| 昭苏县| 水富县| 民丰县| 蓬安县| 同江市| 华坪县| 荥阳市| 凤阳县| 桐梓县| 洛川县| 宁陵县| 正宁县| 扶沟县| 皮山县| 南涧| 平度市| 邻水| 石河子市| 额尔古纳市| 皮山县| 页游| 芮城县| 张北县| 宜丰县| 额尔古纳市| 桐乡市| 红桥区| 北京市| 田东县| 霞浦县| 镇沅| 西林县| 时尚| 贺州市| 浮山县| 九龙县|