&引用;“对象库未注册”;当尝试打开VB6项目时

&引用;“对象库未注册”;当尝试打开VB6项目时,vb6,registration,ocx,regtlib,Vb6,Registration,Ocx,Regtlib,我试图打开VB6项目,并得到“对象库未注册”错误 这台机器是64位的。我在下面尝试过,但它抛出了一个错误,即“'regtlib'不能被识别为内部或外部命令、可操作程序或批处理文件。” 'C:\Windows\Microsoft.NET\Framework64\v4.0.30319'文件夹中有'regtlibv12'文件。我在那个文件夹中尝试了'regtlibv12 msdatsrc.tlb',但没有帮助 我在一个论坛上读到,联合国安装InternetExplorer10是一个解决方案,我尝试过,

我试图打开VB6项目,并得到“对象库未注册”错误

这台机器是64位的。我在下面尝试过,但它抛出了一个错误,即“'regtlib'不能被识别为内部或外部命令、可操作程序或批处理文件。”

'C:\Windows\Microsoft.NET\Framework64\v4.0.30319'
文件夹中有
'regtlibv12'
文件。我在那个文件夹中尝试了
'regtlibv12 msdatsrc.tlb'
,但没有帮助

我在一个论坛上读到,联合国安装InternetExplorer10是一个解决方案,我尝试过,但没有帮助


非常感谢您的建议。

regtlb.exe用于注册类型库,在较旧的Windows版本中,通常可以在下面找到它

c:\windows\system32\RegTlb.exe
.Net框架带来了一个新版本:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\regtlibv12.exe
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\regtlibv12.exe
您应该能够使用注册任何*.tlb文件

regtlibv12.exe file.tlb
并注销

regtlibv12.exe -u file.tlb
在打开.Net文件夹时,必须确保这两个文件都可以访问,并使用类型库的完整路径


当然,你实际上需要有文件在场,否则注册就不起作用了

在一台重建的Windows 7 64位计算机上,我在我们仍然维护的VB6应用程序上遇到了这个错误

我在SysWoW64中多次尝试重新注册MSCOMCTL.OCX,尝试将项目引用从2.0更改为2.1,以及提供的所有其他解决方案。最后,我使用MSCOMCTL.OCX(重新注册后)创建了一个新项目,保存了项目文件并在记事本中打开了它。我注意到,在我的VBP中,公共控件库是这样引用的:

Reference=*\G{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.1#0#..\..\Windows\SysWOW64\MSCOMCTL.OCX#Microsoft Windows Common Controls 6.0 (SP6)
Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.1#0; mscomctl.ocx
在工作项目中,其引用方式如下:

Reference=*\G{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.1#0#..\..\Windows\SysWOW64\MSCOMCTL.OCX#Microsoft Windows Common Controls 6.0 (SP6)
Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.1#0; mscomctl.ocx

更改为使用对象引用,然后修复了该问题。请注意,我不知道为什么这是一个项目参考而不是一个组件参考,而且在机器重建之前,这个项目已经成功编译。

我最近得到了一个新的Windows 7 64,并且必须安装VB6。当我试图打开VB6项目时,我还遇到了“对象库未注册”错误

我用以下方法解决了这个问题: cd C:\Windows\SysWOW64\
regtlib msdatsrc.tlb

我尝试了C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\regtlibv12.exe msdatsrc.tlb,但没有解决问题。regtlibv12.exe在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727下不存在。我需要关心v2.0.50727吗?我在Frameworks文件夹下也有v3.0和v3.5版本。那么msdatsrc.tlb是否存在?不幸的是,您没有从流程中得到任何反馈。由于您注册的类型库可能是32位的,并且是您的目标平台“任意CPU”,因此出现一个错误,说明
找不到类型库“MSDATASRC”
的包装程序集,这可能表明您正在尝试为64位进行生成,但您的程序集不允许这样做。不,两个文件夹中都不存在msdatsrc.tlb。打开VB6项目时,我收到错误“未注册对象库”错误。我读到我可以执行“cd C:\Windows\SysWOW64 regtlib msdatsrc.tlb”。我不确定这是否是解决问题的办法。。但是,如果您知道解决“未注册对象库”问题的任何其他解决方案,那么它将非常棒。