尝试打开VB6项目时“对象库未注册”

时间:2014-06-19 21:05:16

标签: vb6 registration ocx regtlib

我正在尝试打开VB6项目并获取"对象库未注册"错误。

机器是64位。我在下面尝试过,但是它提出错误说"' regtlib'不被识别为内部或外部命令,可操作程序或批处理文件。"

cd C:\Windows\SysWOW64
regtlib msdatsrc.tlb

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

我在其中一个论坛上看到,卸载Internet Explorer 10是解决方案,我尝试了但没有帮助。

我非常感谢你的建议。

3 个答案:

答案 0 :(得分:1)

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文件夹时,请使用类型库的完整路径。

当然,您确实需要提供该文件,否则注册将无法正常工作。

答案 1 :(得分:1)

在重建的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

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

答案 2 :(得分:0)

我最近买了一台新的Windows 7 64,不得不安装VB6。当我尝试打开我的VB6项目时,我还得到了“Object library not registered”错误。

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

相关问题