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