类未注册HRESULT 0x80040154

时间:2009-01-10 18:09:12

标签: windows windows-vista

我在Windows Vista上使用.NET framework 6.0版。我最近安装了一个显示图表的程序。当我打开它时,我收到来自Microsoft .NET框架的错误消息:

  

未注册的类(来自HRESULT的异常:0x80040154(REGDB_E_CLASSNOTREG))。

如何解决问题?感谢。

3 个答案:

答案 0 :(得分:1)

简单的答案是你注册课程。 (如果你知道哪个类没有注册,以及它所在的库。)但是这样的错误很大,他们没有告诉你这些重要的细节。

我认为更好的选择是卸载软件,仔细重新安装,仔细阅读每个安装面板,检查先决条件或任何其他说明。并确保使用“以管理员身份运行”启动安装程序。

如果仍然失败,请致电该软件的技术支持。

答案 1 :(得分:1)

这可能是由于缺少依赖项或某些二进制文件的版本不正确。您可以通过使用IL反汇编程序工具(ildasm.exe)查看程序集的清单来查看托管(MSIL)依赖项。要探索非托管(本机)世界中的依赖项,请使用Dependency Walker工具(depends.exe)。这些工具随.NET Framework,Visual Studio等一起提供,或者可以在Microsoft的网站上找到。

答案 2 :(得分:1)

我认为6.0是Windows版本。这与Vista版本匹配 但是,问题与COM注册有关。有一个未注册的类,可能(如abelenky指出)在安装时失败,因为它没有以管理员身份执行。我的建议:

  1. 再次以管理员身份运行设置(如果设置名为setup或install,或者使用带有这些字词的名称,则应自动启动),然后重试
  2. 如果无效则以管理员身份运行应用
  3. 如果仍然无效,请尝试查找依赖项,这里我会在程序引用的COM dll上使用Depencency Walker
  4. 如果程序不是你的,还有一个未解决的问题,那些是COM dll,程序引用了吗?我在这里:

    1. 尝试在程序的文件夹中注册所有dll
    2. 如果不起作用,我会按创建日期尝试System32文件夹排序。
    3. 我在这里想到的是Vista中没有完全支持的应用程序,以及如何强制安装。

      还有其他想法吗?