C:\WINDOWS\Installer文件夹的安全清理
生活随笔
收集整理的這篇文章主要介紹了
C:\WINDOWS\Installer文件夹的安全清理
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
這幾天微軟發(fā)布了不少補(bǔ)丁,系統(tǒng)盤(C:\)又開始空間告警。 沒辦法又要研究一下哪些空間是可以釋放的,我的C:\分配了10G的空間,一度又一度的空間緊張,大家的系統(tǒng)盤是多大呢? 這一次我準(zhǔn)備向 C:\WINDOWS\Installer 這個目錄下手,這個目錄占用了我大約2.5G的空間(留意過你的這個目錄有多大么?)。 這個文件夾保存著所有基于Windows Installer安裝的應(yīng)用軟件的注冊信息,一般不能輕易刪除,我以前嘗試過,會導(dǎo)致一些軟件在遇到問題時無法正常恢復(fù)或運(yùn)行。 網(wǎng)上也有一些相關(guān)解釋: %systemRoot%\Installer文件夾保存著所有基于Windows Installer安裝的應(yīng)用軟件的注冊信息,一旦此文件受損,那么基于Windows Installer安裝的相關(guān)軟件將無法正常運(yùn)行,你需要重新安裝基于是Windows Installer安裝的應(yīng)用軟件,以修復(fù)%systemRoot%\Installer文件夾中的注冊信息。 以O(shè)ffice為例,當(dāng)你刪除了這個文件夾中的內(nèi)容后,Office的安裝程序?qū)o法使用,無論是重新安裝,修復(fù)、添加和刪除Office組件,都無法運(yùn)行,此時你必須手動刪除Office,然后再重新安裝。 可以肯定的是,刪除所有文件會在將來為我們帶來一定的麻煩。 那么這里面有沒有一些冗余的東西可以安全清理呢? 微軟提供了一個助手,可以用于清理這些文件中的無用文件,這個工具是:Windows Installer CleanUp Utility 但是一定注意看提示,不要都刪了,否則可能就有麻煩了。 網(wǎng)上還可以找到這樣一個工具: Windows Installer UnUsed Files Cleanup Tool (簡稱WICleanup)是一個用于清理 Windows Installer 冗余文件的工具。 軟件主頁為:http://www.kztechs.com/wicleanup/ 下載地址:http://www.kztechs.com/wicleanup/wicleanup.zip 下載了這個軟件掃描了一下,刪除了大約1G的冗余文件,釋放出來不少空間,又可以維持一段時間了。 為什么會如此呢?了解一下Windows Installer的作用就明白了: Windows Installer 軟件安裝技術(shù)。該技術(shù)包括適用于 32 位 Windows 操作系統(tǒng)的 Windows Installer 服務(wù)器,以及一個用于存儲有關(guān)配置和安裝信息的新軟件包文件格式。 Windows Installer 不僅僅是一個安裝程序,它還是一個可擴(kuò)展的軟件管理系統(tǒng)。Windows Installer 管理軟件的安裝,管理軟件組件的添加和刪除,監(jiān)視文件復(fù)原,并通過使用回滾來維護(hù)基本的災(zāi)難恢復(fù)。 此外,Windows Installer 還支持從多個源安裝和運(yùn)行軟件,并且可以由要安裝自定義程序的開發(fā)人員定制。 Windows Installer 的功能包括: ? 在安裝失敗時將計算機(jī)還原為原始狀態(tài):Windows Installer 跟蹤在程序安裝過程中對系統(tǒng)進(jìn)行的所有更改。如果安裝失敗,Installer 可以將系統(tǒng)恢復(fù)到其初始狀態(tài)。這稱為"回滾"。 ? 幫助防止特定形式的程序之間產(chǎn)生沖突:正在安裝或卸載的程序可能會導(dǎo)致計算機(jī)上已安裝的另一個程序出現(xiàn)問題,甚至導(dǎo)致計算機(jī)停止響應(yīng)(掛起)。 Installer 可以強(qiáng)制實施一些安裝規(guī)則,以幫助防止當(dāng)安裝操作更新由現(xiàn)有程序共享的動態(tài)鏈接庫 (DLL) 文件時,或當(dāng)卸載操作刪除由另一個程序共享的 DLL 文件時出現(xiàn)沖突。 ? 診斷并修復(fù)損壞的程序:程序可以要求 Installer 確定已安裝的程序是否缺少文件,或者文件是否已損壞。然后,它可以要求該服務(wù)根據(jù)需要再次只復(fù)制已發(fā)現(xiàn)丟失或損壞的文件來修復(fù)該程序。 ? 可靠地卸載現(xiàn)有程序:Installer 可以可靠地卸載以前安裝的任何程序,并刪除所有相關(guān)聯(lián)的注冊表條目和程序文件,但其他已安裝的軟件所共享的文件及注冊表條目除外。 ? 支持按需安裝程序功能:可以指示 Installer 首先安裝程序的最小子集。之后,在您首次使用需要附加組件的功能時,會自動安裝附加組件。 ? 支持無人參與的程序安裝:Installer 支持根據(jù)管理員的指令使用腳本來安裝程序。 Windows Installer 技術(shù)分為以下兩部分,它們結(jié)合在一起工作:客戶端安裝服務(wù) (Msiexec.exe) 和 Microsoft 軟件安裝 (MSI) 軟件包文件。Windows Installer 使用軟件包文件中包含的信息安裝程序。 Msiexec.exe 程序是 Windows Installer 的一個組件。當(dāng)安裝程序調(diào)用 Msiexec.exe 時,它使用 Msi.dll 讀取軟件包 (.msi) 文件,應(yīng)用任何轉(zhuǎn)換 (.mst) 文件,并合并安裝程序所提供的命令行選項。Installer 執(zhí)行所有與安裝有關(guān)的任務(wù),包括將文件復(fù)制到硬盤、修改注冊表、在桌面上創(chuàng)建快捷方式,以及在必要時顯示對話框以提示用戶輸入安裝首選項。 在計算機(jī)上安裝 Windows Installer 后,它將更改注冊的 .msi 文件的文件類型,以便當(dāng)您雙擊 .msi 文件時,將運(yùn)行 Msiexec.exe。 每個 MSI 軟件包文件都包含一個關(guān)系類型的數(shù)據(jù)庫,用于存儲在各種安裝方案中安裝(或卸載)該程序所需的指令和數(shù)據(jù)。 檢測原理:請看《冗余 Windows Installer 文件的清理》一文。 ? 冗余 Windows Installer 文件的清理 對于使用 Windows Installer 技術(shù)制作的安裝程序,我一向不是那么的喜好,即使 Windows Installer 技術(shù)有著非常優(yōu)秀的功能、穩(wěn)定的性能以及其他值得驕傲的特性。 究其原因,是因為使用 Windows Installer 技術(shù)制作的安裝程序會在 %systemroot%\Installer 目錄里面添加一個備份的安裝文件用于今后的配置、補(bǔ)丁安裝等操作。不可否認(rèn)的是,在系統(tǒng)里面存放一個安裝程序的備份,是一件非常理想的事情,尤其是對于那些經(jīng)常丟失安裝程序的用戶來說。對于這一點,我倒是非常的贊賞。但是,有一個功能我的確難以理解:當(dāng)用戶運(yùn)行一個補(bǔ)丁程序的時候,Windows Installer 將msp文件釋放到 %systemroot%\Installer 目錄以后,開始引導(dǎo)用戶進(jìn)行補(bǔ)丁的安裝。如果用戶在引導(dǎo)的時候點擊了取消操作或補(bǔ)丁安裝必備條件不足而導(dǎo)致安裝失敗的時候,Windows Installer 將退出安裝流程,但是會把釋放到 %systemroot%\Installer 目錄里面的msp文件保留下來。如果用戶再次運(yùn)行同一個補(bǔ)丁程序,Windows Installer 又會在 %systemroot%\Installer 目錄里面生成一個新的msp文件(文件名和上一次的不同),而不會利用上一次釋放產(chǎn)生的msp文件。這樣一來,第一次產(chǎn)生的msp文件將會永久的存留在磁盤上,成為徹底的無用文件。 為了解決這個問題,我決定找回被Windows Installer無用文件占用的磁盤空間。對 Windows Installer 補(bǔ)丁技術(shù)研究以后發(fā)現(xiàn),如果補(bǔ)丁安裝成功,會在注冊表里面記錄一個信息,當(dāng)新的增量補(bǔ)丁程序需要舊的補(bǔ)丁程序的時候,會在注冊表里面尋找舊的信息,并找到舊的msp文件,然后就是補(bǔ)丁文件的整合以及修補(bǔ)過程。具體的步驟比較復(fù)雜,這里不予多說。我們需要的是將 %systemroot%\Installer 目錄里面無用的文件挑選出來,其他的流程和本次主題無關(guān)。 冗余MSP文件清除原理: 1、MSP安裝完成以后,會在注冊表 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Patches 下面生成一個鍵。鍵名是一個32字節(jié)的GUID值,生成的鍵下會有一個鍵值,名稱固定為 LocalPackage 用于指向本地的 MSP 文件的路徑。 2、記錄下每一個鍵下的 LocalPackage 指向的文件的文件路徑。 3、然后打開 %systemroot%\Installer 目錄,將這個目錄根目錄下的所有 MSP 文件挑出,除去在第2步中存在的文件名,剩下的MSP文件就是冗余的文件。 *注: S-1-5-18指 Local System 用戶,大多數(shù)補(bǔ)丁都是以 S-1-5-18 安裝的。 自動化清理方案: 如果系統(tǒng)里面安裝了很多使用 Windows Installer 技術(shù)制作安裝程序的軟件以及相應(yīng)的補(bǔ)丁以后,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Patches 下面會產(chǎn)生相當(dāng)多的子鍵,手工清理是不現(xiàn)實的,自動清理才是必要的途徑,工具 WICleanup.EXE 應(yīng)運(yùn)而生。 WICleanup.EXE:針對上述問題提供自動化解決方案,運(yùn)行以后會自動完成上述的所有操作。(本來就是我寫的,當(dāng)然會按照上述流程進(jìn)行了。) WICleanup.EXE 下載地址:http://www.kztechs.com/wicleanup/ ?著作權(quán)歸作者所有:來自51CTO博客作者lzy821218的原創(chuàng)作品,如需轉(zhuǎn)載,請注明出處,否則將追究法律責(zé)任 職場 Installer 人生 工作助手
1
微博 QQ 微信收藏
上一篇:華為內(nèi)部LINUX學(xué)習(xí)資料(PD... 下一篇:Exchange Server ... lzy821218267篇文章,88W+人氣,19粉絲
關(guān)注轉(zhuǎn)載于:https://blog.51cto.com/lzy821218/273990
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的C:\WINDOWS\Installer文件夹的安全清理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。