dll – 如何解决“运行时错误”429’:ActiveX组件无法创建对象“?

前端之家收集整理的这篇文章主要介绍了dll – 如何解决“运行时错误”429’:ActiveX组件无法创建对象“?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我公司有一个使用Crystal Reports 7的VB6应用程序,客户端要求在 Windows 7 32位上安装.它目前在客户端安装在Windows XP 32bit SP2机器上.与DB的连接通过ODBC到另一个服务器上的sql Server 2000实例完成.

在Windows 7上,安装工作正常,但是当您尝试打开应用程序时,会给出错误.

我看了以下内容

>使用regsvr32注册所有的dll和ocx文件.有些不会注册,因为它们已经注册了,或者给出了以下消息:“确保”[name] .dll“是有效的DLL或OCX文件,然后再试一次.我读过这个论坛线程:http://social.msdn.microsoft.com/forums/en-US/vblanguage/thread/0653f685-4526-45d9-89f3-8c479a6b4c62
>使用ProcessMonitor应用程序监视应用程序的打开,尝试查找是否存在缺少的dll或ocx文件 – 这似乎不是这样.
>根据this list审核申请,似乎没有违反这些准则

我注意到与知识库有关的两个项目

> http://support.microsoft.com/kb/281848 – 与应用程序捆绑在一起的comdlg32.ocx是6.0.81.69版本,而在dev机器(WinXP 32位)的system32文件夹中的那个是6.1.97.82.但是,如果这是问题,那么肯定会不行吗?
> http://support.microsoft.com/kb/184898 – 我不知道如何确认这是问题

最后,由于复杂性,我不允许对此应用程序进行代码更改.即使我是,我不是一个VB6程序员,只是那个谁得到了非常支持的项目!如果需要更改代码,那么我必须使用WinXP模式进行调查.

更新:我在XP模式下得到相同的错误.这是一个使用SP3 VM的Win XP.这在Win XP SP2 VM上运行,SP3中是否有可能会导致这种情况发生?还是仅仅是XP模式呢?

安装文件msrdo20.dll文件丢失.

根据the Support Statement for Visual Basic 6.0 on Windows Vista,Windows Server 2008 and Windows 7这个文件应该与应用程序分发.

我不知道为什么不这样做,但是我的解决方案是将文件放在机器上的某个地方,并在命令行中使用regsvr32进行注册,例如:

regsvr32 c:\windows\system32\msrdo20.dll

在一个理想的世界里,你可以用可再分发的方式来打包它.

猜你在找的Windows相关文章