Retrieving the COM class factory for component with CLSID {C1F400A0-3F08-11D3-9F0B-006008039E37} fai

 

Retrieving the COM class factory for component with CLSID {C1F400A0-3F08-11D3-9F0B-006008039E37} failed due to the following error: 80040154 Class not registered

Applies to: Microsoft Windows Server 2008/2008 R2/2010 Operating Systems

This one required more investigation than I would’ve thought.  So much so, that I nearly came to the conclusion that I wasn’t going to be able to do video transcoding.  Fear not though, it is possible and is a straightforward problem to resolve.

In this instance, I was just trying to use a webcam that was attached to a Windows Server machine, which seems like it should just be a plug-n-play type of task.

However, when trying to view the video from the camera, I had encountering the following error message:

1
Retrieving the COM class factory for component with CLSID {C1F400A0-3F08-11D3-9F0B-006008039E37} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

Problem

This is a straightforward COM error message that basically says that it doesn’t have information to load a particular component (ex. a program isn’t installed, is corrupt, etc).  This class ID happens to be associated with Microsoft Windows SDK’s “Sample Grabber Filter” that isn’t included on these versions of Windows.  This component is included in qedit.dll, which is what is needed to resolve this issue.

Resolution

The easiest resolution to find a version of qedit.dll from a version of Windows that does include it, such as Windows XP, Vista, 7 or 8 (basically, any non-server OS).

  1. Copy the qedit.dll file to the C:\Windows\system32 directory of your server OS.
    • 32-bit (x86): C:\Windows\system32
    • 64-bit (x64): C:\Windows\SysWOW64
  2. Run the following command at the command prompt as administrator: regsvr32 C:\Windows\system32\qedit.dll.
  3. That’s it!  Your program should now be able to load the component and function as expected.
这个异常是由于无法找到注册的 COM 类型引起的。具体来说,错误消息 "Retrieving the COM class factory for component with CLSID {729F623A-1EC5-4900-B033-3CD75AD0CEA5} failed due to the following error: 80040154 Class not registered" 表示尝试检索具有指定 CLSIDCOM 组件时失败,因为该组件未正确注册。 要解决这个问题,您可以尝试以下几种方法: 1. 检查 COM 组件是否已正确安装和注册:确保所需的 COM 组件已正确安装,并且在注册表中具有正确的注册信息。 2. 使用正确的位数:如果您的应用程序是 64 位的,而 COM 组件是 32 位的,或者反之,可能会导致这个问题。确保使用与 COM 组件相匹配的位数。 3. 重新注册 COM 组件:可以尝试重新注册相关的 COM 组件。打开命令提示符(以管理员身份运行),然后使用 `regsvr32` 命令重新注册组件。例如:`regsvr32 path\to\component.dll`。 4. 更新或重新安装 COM 组件:如果可能,尝试更新或重新安装相关的 COM 组件,以确保正确的安装和注册。 5. 检查依赖项:某些 COM 组件可能依赖于其他组件。确保所有必需的依赖项都已正确安装和注册。 请注意,具体的解决方法取决于您使用的 COM 组件以及应用程序的具体情况。如果以上方法无法解决问题,建议您联系相关组件的技术支持团队以获取更多帮助。 如果您能提供更多的上下文信息,如相关的代码或更多的异常堆栈跟踪,我们可以更好地帮助您解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值