从VB6 IDE调用Comwrapped Net代码失败,而ActiveX组件无法创建对象'在Win7中但在WinXP中没有

时间:2013-07-27 09:34:05

标签: windows-7 vb6 vb6-migration regfreecom

我们正在使用RegFree Com一年多来成功创建混合VB6 / VB.Net程序。 由于我们现在想要在Net 4.5中开发一些组件,我们必须开始使用Win7中的VB6 IDE,我们首先从WinXP开发。

问题是与WinXP中的VB6 IDE一起使用的完全相同的RegFree Com配置在Win7中不起作用。(安装已编译的可执行文件完美无瑕)。我们得到了一般的“ActiveX组件无法创建对象”错误。我使用了Fuslogvw.exe和SxSTrace.exe,我抨击了Windows日志,但没有错误消息解释了为什么对象的实例化失败了表面。

那么,我还能做些什么来找到这个问题的原因?

1 个答案:

答案 0 :(得分:0)

This problem was mentioned before on SO in 2010,解决方案是在WinXP SP2兼容模式下运行VB6 IDE(以管理员身份)。这个解决方案对我不起作用。似乎WinXP以不同的方式实现了RegFree Com。所以registering with regasm using the /tlb directive现在是必要的。

Bob警告不要使用VB6.exe的清单来测试Net程序集的Com包装。我们已经使用这种技术超过一年没有任何问题。