Получение приложения VB6 ADO для работы в Windows 7
Я унаследовал несколько старых приложений VB6, которые в настоящее время не могут быть переписаны в .NET. Эти старые приложения используют ADO и компилируются на моей машине XP. С момента перехода на компьютер под управлением Windows 7 приложения компилируются нормально, но когда они развернуты (на компьютерах XP), я получаю ошибки. Это известная проблема, обсуждаемая в этой статье Microsoft:
http://support.microsoft.com/kb/2517589
В статье дается очень подробное объяснение обходного пути, в котором используется копирование файла .TLB и его регистрация с помощью "regtlibv12". Когда я попытаюсь зарегистрировать его, я получаю следующее сообщение об ошибке:
RegisterTypeLib из C:\Program Files\Common Files\System\ado\msado60_Backcompat.tlb не удалось: 80029c4a
Я также попытался зарегистрировать это, используя старый "regtlib.exe" в папке Windows, но получил эту ошибку:
LoadTypeLib из C:\Program Files\Common Files\System\ado\msado60_Backcompat.tlb не удалось: 80029c4a
Из-за этого я не могу продолжить работу. Я был бы очень признателен за любое руководство, которое кто-нибудь мог бы дать мне о том, как правильно зарегистрировать этот файл.
Заранее благодарю вас!
Ответы
Ответ 1
Поместите файл .TLB в соответствующее место, например
C:\Program Files\Common Files\System\ado
Затем откройте новый проект в VB6 IDE (повышенный, т.е. как админ). Выберите "Проект | Ссылки"... затем нажмите кнопку "Обзор". Перейдите к новому .TLB файлу и откройте его. Установите флажок, чтобы выбрать элемент и закрыть диалоговое окно "Ссылки".
Теперь он должен быть зарегистрирован.
Если отчаянно, попробуйте Утилиту регистрации библиотеки типов VB.
Ответ 2
Вероятно, вы загрузили файл как C:\temp\Msado60_Backcompat_i386.tlb
и не переименовали его. Например, для регистрации C:\temp\Msado60_Backcompat.tlb
(note, no _i386
).
Запустите команду с правильным именем файла.
Ответ 3
Просто обновив этот список ответов на основе более поздней информации, Microsoft выпустила KB 2640696, который более подробно рассматривает эту проблему. Этот патч значительно упрощает развертывание на ваших машинах сборки и решает проблему ОС нижнего уровня.
Более полную картину патча можно найти в следующем сообщении .