Модуль." библиотека DLL" загружен, но точка входа не найдена
У меня есть DLL, которые вызывают ошибку при запуске приложения.
Ошибка говорит, что служба не зарегистрирована. Поэтому я запускаю команду regsvr32
с именем библиотеки DLL.
Но это дает мне ошибку, теперь ошибка:
мыши mydll модуль '.dll "была загружена, но точка входа "DllRegisterServer" не найдена.
убедитесь, что ' mydll.dll " является допустимым файлом DLL или OCX, а затем повторите попытку
Я работал над 64-разрядной версией Windows 7. На Windows XP работает отлично!. Кто-нибудь знает, что это может быть? Спасибо!
4 ответов
ошибка указывает, что DLL либо не является COM DLL, либо она повреждена. Если это не COM DLL и не используется в качестве COM DLL приложением, то нет необходимости регистрировать его.
От того, что вы говорите в своем вопросе (the service is not registered)
кажется, что мы говорим о неправильно установленной службе. Я попытаюсь переустановить приложение.
у меня была эта проблема и
dumpbin /exports mydll.dll
и
depends mydll.dll
показал 'DllRegisterServer'.
проблема заключалась в том, что в системе была другая DLL с тем же именем. После переименования mydll регистрация прошла успешно.
то, что решило это для меня, использовало:
regasm.ехе 'xx.dll' /в TLB /codebase в /реестр
однако, важно понимать разницу между regasm.exe и regsvr.exe:
в чем разница между RegAsm.exe и regsvr32? Как создать файл tlb с помощью regsvr32?
Я нашел ответ: Мне нужно добавить новое приложение к компонентам службы на моем компьютере, а затем добавить правильные DLL.
спасибо! Если у кого есть такая же проблема, я буду рад помочь.