我的公司有一个使用Crystal Reports 7的VB6应用程序,客户端要求在Windows 7 32位上安装它。它目前安装在客户端的Windows XP 32位SP2计算机上。与DB的连接是通过ODBC到另一台服务器上的SQL Server 2000实例完成的。
在Windows 7上,安装正常,但是当您尝试打开应用程序时,会出现错误。
我看过以下内容:
我注意到知识库中有两个与此相关的项目
最后,由于复杂性,我不允许对此应用程序进行代码更改。即使我是,我也不是VB6程序员,只是得到了非常支持项目的人!如果需要更改代码,那么我将不得不使用WinXP模式进行调查。
更新:我在XP模式下遇到同样的错误。这是一款带有SP3 VM的Win XP。这是在Win XP SP2 VM上运行的,SP3中是否有可能会导致这种情况发生?或者只是它是XP模式的事实?
答案 0 :(得分:5)
我得到了同样的错误,但我在C:\ Windows \ SysWOW64中使用了regsvr32.exe解决了。 因为我们使用x64系统。因此,如果您的机器也是x64,则ocx / dll也必须使用regsvr32 x64版本注册
答案 1 :(得分:3)
安装中缺少文件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
在理想的世界中,您可以使用可再发行组件打包它。
答案 2 :(得分:1)
此下载修复了我的VB6 EXE和Access 2016(使用ACEDAO.DLL)运行时错误429.我花了两天时间才解决它,因为429有很多原因。
http://www.microsoft.com/en-ca/download/details.aspx?id=13255
来自链接的报价: "此下载将安装一组组件,可用于在2010 Microsoft Office System文件和非Microsoft Office应用程序之间传输数据"
答案 3 :(得分:0)
您说安装VB6 IDE后它可以正常工作,所以问题可能是您尝试使用的组件取决于正在安装的VB6运行时。
默认情况下,Windows上未安装VB6运行时。
安装IDE是获取运行时的一种方法。对于非开发人员计算机,应使用Microsoft的“可再发行”安装程序包。
这是Microsoft的一个VB6运行时安装程序。我不确定它是否适合您的组件:
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=7b9ba261-7a9c-43e7-9117-f673077ffb3c