为什么我的开发箱以外的任何东西都会出现错误 0x80029C4A (TYPE_E_CANTLOADLIBRARY)?
Why do I get an error 0x80029C4A (TYPE_E_CANTLOADLIBRARY) on anything other than my dev box?
我在这里阅读了很多关于如何处理错误 0x80029C4A (TYPE_E_CANTLOADLIBRARY) 的答案,这些答案表明 regsvr
是解决方法并检查注册表以确保我使用的 dll 已正确注册。
我已经在我的开发箱以外的计算机上完成了所有这些,但仍然一无所获,所以这就是我所拥有的:
我要引用的 DLL 是在 VB6 (SP6) 中开发的,具有以下设置:
- 单线程
- 升级 ActiveX 控件
- 二进制兼容性
我正在尝试使用 .NET 4.0 从 C# 中引用它,它在我正在开发的机器上运行流畅,但是,当我尝试在任何其他具有 dll 的计算机上使用该项目时以完全相同的方式安装我得到上面的错误。
更新:
当在所有相关计算机上从 VB6 应用程序使用时,这个 dll 工作正常,正如我希望的那样。
任何人都可以阐明这里发生的事情以及我如何解决它吗?我有 VB6 dll,如果有帮助的话,可以将它与我当前的项目一起分发。
非常感谢,
加雷思
我想我已经解决了这个问题...愚蠢的我试图在后台线程中使用 DLL,即使它是一个 STA 线程,它也不是我的朋友。
我在这里阅读了很多关于如何处理错误 0x80029C4A (TYPE_E_CANTLOADLIBRARY) 的答案,这些答案表明 regsvr
是解决方法并检查注册表以确保我使用的 dll 已正确注册。
我已经在我的开发箱以外的计算机上完成了所有这些,但仍然一无所获,所以这就是我所拥有的:
我要引用的 DLL 是在 VB6 (SP6) 中开发的,具有以下设置:
- 单线程
- 升级 ActiveX 控件
- 二进制兼容性
我正在尝试使用 .NET 4.0 从 C# 中引用它,它在我正在开发的机器上运行流畅,但是,当我尝试在任何其他具有 dll 的计算机上使用该项目时以完全相同的方式安装我得到上面的错误。
更新:
当在所有相关计算机上从 VB6 应用程序使用时,这个 dll 工作正常,正如我希望的那样。
任何人都可以阐明这里发生的事情以及我如何解决它吗?我有 VB6 dll,如果有帮助的话,可以将它与我当前的项目一起分发。
非常感谢,
加雷思
我想我已经解决了这个问题...愚蠢的我试图在后台线程中使用 DLL,即使它是一个 STA 线程,它也不是我的朋友。