0x80070005 При попытке зарегистрировать библиотеку DLL с помощью Regsvr32.exe

В этой статье описывается решение 0x80070005 ошибки, возникающей при регистрации библиотеки DLL с помощью Regsvr32.exe.

Область применения: Windows 10 — все выпуски, Windows Server 2012 R2
Исходный номер базы знаний: 827659

Симптомы

При попытке зарегистрировать библиотеку динамической компоновки (библиотеку DLL или файл .dll) с помощью программы командной строки Regsrv32.exe библиотека DLL не регистрируется, и может появиться следующее сообщение об ошибке:

Сбой DllRegisterServer в file_name.dll.

Код возврата: 0x80070005

Примечание.

Это не происходит в Windows NT 4.0 или Windows 2000.

Причина

Это может произойти, если вы пытаетесь зарегистрировать библиотеку DLL с помощью Regsrv32 во время входа с помощью учетной записи без учетных данных администратора, например учетной записи, которая входит в группу стандартных пользователей. Учетная запись без учетных данных администратора не может записывать в реестр или изменять файлы в папке System32.

Это происходит из-за того, что Windows XP и Windows Server 2003 используют более строгую схему безопасности, чем в более ранних версиях Windows. Эта схема не позволяет обычным пользователям регистрировать библиотеки DLL.

Примечание.

Из-за этого стандартные пользователи могут не запускать программы, которые самостоятельно регистрируют библиотеки DLL с помощью идентификатора стандартного пользователя.

Разрешение

Чтобы устранить эту проблему, войдите в систему с помощью учетной записи администратора, а затем зарегистрируйте библиотеку DLL.

Дополнительная информация

Библиотеку DLL можно зарегистрировать с помощью учетной записи без учетных данных администратора, если библиотека DLL не записывает в реестр или не изменяет файлы в папке System32.