国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

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

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

瀏覽:124日期: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系統
主站蜘蛛池模板: 任丘市| 宁陵县| 泾源县| 山东省| 淅川县| 洞头县| 会东县| 巴彦县| 陇川县| 江西省| 会宁县| 北宁市| 修水县| 泰州市| 勃利县| 赣州市| 尚义县| 平远县| 沙河市| 绵阳市| 广平县| 祁门县| 仲巴县| 库伦旗| 方正县| 磐石市| 武汉市| 张家界市| 宝丰县| 永顺县| 台江县| 茂名市| 荆门市| 北票市| 探索| 封丘县| 连州市| 松江区| 革吉县| 鸡西市| 刚察县|