什么是 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 来说是不必要的,但对其功能和限制的工作意识可以帮助解决软件和注册表相关的错误,并且将挫败感降到最低。

正在加载...