解决COM应用程序中“未注册类”异常
在创建COM类的实例时,出现错误:“未注册类(来自HRESULT的异常:0x80040154 (REGDB_E_CLASSNOTREG))”。此异常表明目标COM类未在系统上正确注册。
故障排除:
要解决此问题,请按照以下步骤操作:
重新安装COM组件:卸载并重新安装与您尝试实例化的类关联的COM组件。这将确保正确注册必要的注册表项。
确保程序集的体系结构正确:验证应用程序引用的所有程序集是否都针对相同的体系结构进行编译。如果您针对的是32位应用程序,则所有程序集都必须针对32位进行编译。如果您针对的是64位应用程序,则所有程序集都必须针对64位进行编译。
手动注册COM类:如果重新安装COM组件无法解决问题,则可以使用regsvr32实用程序手动注册COM类。以管理员身份打开命令提示符并运行以下命令:
<code>regsvr32 <COM文件路径></code>
将<COM文件路径>
替换为您尝试注册的COM文件(.dll或.ocx)的完整路径。
更新注册表权限:确保COM类的注册表项具有相应的权限。导航到以下注册表项:
<code>HKEY_CLASSES_ROOT\<ProgID></code>
其中<ProgID>
是COM类的程序化标识符(ProgID)。授予您的帐户在此注册表项中读取、写入和创建子项的必要权限。
通过执行这些步骤,您可以解决COM应用程序中的“未注册类”异常,并成功创建COM类的实例。
以上是如何修复 COM 应用程序中的'类未注册”异常?的详细内容。更多信息请关注PHP中文网其他相关文章!