"Библиотека объектов не зарегистрирована" при попытке открыть проект VB6

Я пытаюсь открыть проект 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 ответа

Я недавно получил новую Windows 7 64 и должен был установить VB6. Я также получил ошибку "Библиотека объектов не зарегистрирована" при попытке открыть проект VB6.

Я решил это следующим образом: cd C:\Windows\SysWOW64\ regtlib msdatsrc.tlb

Regtlb.exe используется для регистрации библиотек типов, в старых версиях Windows его обычно можно найти в

c:\windows\system32\RegTlb.exe

.Net Framework приносит новую версию:

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 используйте полный путь к вашей библиотеке типов.

И, конечно же, вам действительно нужно предоставить файл, иначе регистрация не будет работать.

На восстановленной 64-битной машине с Windows 7 я получал эту ошибку в приложении VB6, которое мы до сих пор поддерживаем.

Я несколько раз пытался перерегистрировать MSCOMCTL.OCX в SysWoW64, пытался изменить ссылку на проект с 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

Переход на использование ссылки на объект затем исправил проблему. Обратите внимание, что я понятия не имею, почему это была ссылка на проект, а не ссылка на компонент, и этот проект был успешно скомпилирован до перекомпоновки машины.

Другие вопросы по тегам