什麼是 CLSID 註冊表項?

CLSID 或類標識符是一串字母數字(數字和字母字符)符號,用於表示組件對像模型或基於 COM 的程序的特定實例。它允許操作系統和軟件(尤其是 Windows)檢測和訪問軟件組件,而無需通過名稱來識別它們。儘管 Microsoft 已逐步停止使用 COM 以支持 .NET 基礎結構,但 COM 仍然作為許多常用程序的重要組件使用,並且沒有停止使用的計劃。

使用 COM 和相應 CLSID 的對象示例包括 ActiveX、我的電腦目錄和 Windows 開始菜單。 Windows 註冊表中的典型 CLSID 如下所示:

{48E7CAAB-B918-4E58-A94D-505519C795DC}

當網站要求您更新 ActiveX 或其他程序時,您最有可能遇到 CLSID。您的瀏覽器通過檢查其 CLSID 來檢測您的軟件版本,並將此信息傳輸到網站,而不會損害您的計算機。

但是,虛假媒體更新通常用於分發惡意軟件和其他 PC 威脅,您應避免從您不信任的網站下載更新。

當一個好的 CLSID 條目變壞時

如果 CLSID 已損壞,您的 PC 可能會遇到與 CLSID 鏈接到的程序相關的問題;一個常見問題是 CLSID 損壞,導致軟件無法驗證自己的版本並自行更新。作為一種易於實施的解決方案,卸載並重新安裝軟件通常可以解決此問題。

與註冊表 CLSID 條目相關的最常見問題是程序在卸載程序的其餘部分時未能從註冊表中刪除其 CLSID。儘管這是一種糟糕的編程實踐,會用無意義的文本條目使 PC 的註冊表變得混亂,但未使用的 CLSID 條目不太可能損害您的計算機。但是,一些註冊表清理程序和其他系統維護程序專門用於刪除這種基於 CLSID 的“垃圾”。在非常極端的情況下,例如係統資源不足的計算機,具有太多未使用 CLSID 條目的註冊表可能會導致性能問題。

如果您有興趣手動更正 CLSID 註冊表項,則應格外小心。對註冊表的更改可能會以多種方式損壞您的操作系統,最明顯的是導致它無法識別關鍵組件和程序。無論您是否有興趣更改計算機的 CLSID 條目,在所有情況下都建議通過系統還原點或其他方法備份 Windows 註冊表。

消失的 CLSID

儘管 CLSID 通常是您的註冊表中的永久文本條目 - 至少在您卸載它所鏈接的程序之前 - 臨時文件夾和文件也可能在其名稱中顯示 CLSID 條目。這通常是由程序安裝程序在刪除文件之前解壓縮用於安裝的文件引起的。大多數此類文件和文件夾應在安裝完成後自動刪除。在編碼不良或安裝中斷的情況下,您可能需要自己刪除這些對象,儘管它們不應損壞您的計算機。

並非所有使用 CLSID 的程序都被迫將其 CLSID 條目寫入您的 Windows 註冊表。 RegFree 或 Registration-Free COM 組件能夠將其 CLSID 條目存儲在它們自己的 EXE 文件或單獨的 XML 文件中。這具有某些優點,例如允許將程序安裝為多個不同的版本多次。但是,RegFree COM 支持更加有限,有時(在 DirectX 等系統範圍程序的情況下)完全不可用。

CLSID 的 COM 與其他 COM 世界的區別

帶有 CLSID 的 COM 接口是一個組件對像模型,一種使用面向對象編程哲學(或 OOP)的接口方法。它與網絡域後綴 .COM 沒有直接關係,後者表示頂級“商業”域。

同樣,CLSID 的 COM 組件與 .COM 文件無關,它是可執行文件或 EXE 文件的子類型。儘管某些 Windows 組件和其他程序使用 .COM,但這種過時的文件格式需要 MS-DOS 仿真,而 64 位 Windows 操作系統不包括(默認情況下)。

CLSID 在惡意軟件行業的地位

CLSID 條目可用於運行有害程序以及安全程序。 Rootkit、木馬、惡意瀏覽器幫助對象和其他類型的惡意軟件都可能利用 CLSID 系統自動啟動或在某些條件被觸發時啟動。大多數有能力的反惡意軟件程序將檢測並刪除惡意 CLSID 條目以及與之關聯的惡意軟件。但是,與正常的 CLSID 條目一樣,已刪除程序的未刪除 CLSID 惡意軟件條目不會對您的計算機造成損壞。

眾所周知,惡意軟件程序也會使用 CLSID 條目來調用其他程序(例如 Internet Explorer)。這些程序可能會或可能不會顯示打開的可見指示,但在大多數情況下,您應該能夠通過任務管理器和類似實用程序檢測打開程序的內存進程。此類攻擊可用於在 PC 用戶不知情的情況下進行各種在線攻擊。雖然 CLSID 的知識對於隨意使用 PC 來說是不必要的,但對其功能和限制的工作意識可以幫助解決軟件和註冊表相關的錯誤,並且將挫敗感降到最低。

加載中...