1

我遇到以下问题,有人可以帮忙吗?我使用 Tlbimp 实用程序并将 VB6 COM DLL 转换为 RCW DLL。在我的 Visual Studio 2008 中,我使用了“添加引用”并在 c# 类中使用了该 DLL。在我的机器上一切正常。但是,如果其他人在他/她的机器上使用相同的项目,那么在该机器上他们会收到以下错误:“由于以下错误 80040154,检索具有 CLSID {x} 的组件的 COM 类工厂失败”。我试图在该机器上搜索该 CLSID GUID,但在 HKCR/CLSID 位置下找不到。

有没有人有线索/想法为什么它在不同的机器上给出问题以及我可以尝试解决这个问题?

谢谢。

4

2 回答 2

4

您确定需要在另一台机器上安装 COM 对象吗?返回的错误意味着该类未注册。tlbimp 只是创建一个包装程序集以将 COM 接口映射到 .NET,它不会转换 COM 对象本身,也不会随身携带它。

将 VB6 COM 对象 DLL(或 .OCX)放在另一台机器上并运行 regsvr32 object.ocx,它现在应该可以工作了。

于 2009-11-24T21:45:21.260 回答
0

如果您不喜欢注册 COM 对象的想法,请查看免注册 COM。

http://msdn.microsoft.com/en-us/library/ms973913.aspx

于 2009-11-27T08:48:48.450 回答