Модуль ".dll" был загружен, но точка входа не была найдена

У меня есть DLL, которая вызывает ошибку при запуске приложения. Ошибка говорит, что служба не зарегистрирована. Поэтому я запускаю команду regsvr32 с именем DLL. Но это дает мне ошибку, теперь ошибка:

Был загружен модуль 'mydll.dll', но точка входа 'DllRegisterServer' не найдена.

Убедитесь, что 'mydll.dll' является допустимым DLL или OCX файлом, а затем повторите попытку

Я работал на 64-разрядной версии Windows 7. В Windows XP он отлично работает!. Кто-нибудь знает, что это может быть? Спасибо!

Ответ 1

Я нашел ответ: Мне нужно добавить новое приложение к компонентам службы на моем компьютере, а затем добавить нужные DLL.

Спасибо! Если у кого-то будет такая же проблема, я буду рад помочь.

Ответ 2

Ошибка указывает, что DLL - это не COM-библиотека или она повреждена. Если это не COM-библиотека DLL и не используется как COM-библиотека приложения, тогда нет необходимости ее регистрировать.
Из того, что вы говорите в своем вопросе (the service is not registered), кажется, мы говорим о некорректной установке сервиса. Я попытаюсь переустановить приложение.

Ответ 3

У меня была эта проблема и

dumpbin /exports mydll.dll

и

depends mydll.dll

показал 'DllRegisterServer'.

Проблема заключалась в том, что в системе была другая DLL с тем же именем. После переименования mydll регистрация прошла успешно.