Podczas próby zarejestrowania biblioteki DLL przy użyciu Regsvr32.exe występuje błąd 0x80070005

Ten artykuł zawiera rozwiązanie błędu 0x80070005 występującego podczas rejestrowania biblioteki DLL przy użyciu Regsvr32.exe.

Dotyczy: Windows 10 — wszystkie wersje, Windows Server 2012 R2
Oryginalny numer KB: 827659

Symptomy

Podczas próby zarejestrowania biblioteki łącza dynamicznego (lub biblioteki DLL lub pliku .dll) przy użyciu narzędzia wiersza polecenia Regsrv32.exe biblioteka DLL nie jest zarejestrowana i może zostać wyświetlony następujący komunikat o błędzie:

Błąd.dll DllRegisterServer w file_name .

Zwrócony kod: 0x80070005

Uwaga

To zachowanie nie występuje w systemie Windows NT 4.0 lub Windows 2000.

Przyczyna

Takie zachowanie może wystąpić, jeśli spróbujesz zarejestrować bibliotekę DLL przy użyciu biblioteki Regsrv32 podczas logowania przy użyciu konta, które nie ma poświadczeń administracyjnych, na przykład konta należącego do standardowej grupy użytkowników. Konto, które nie ma poświadczeń administracyjnych, nie może zapisywać w rejestrze ani zmieniać plików w folderze System32.

To zachowanie występuje, ponieważ systemy Windows XP i Windows Server 2003 używają bardziej restrykcyjnego schematu zabezpieczeń niż wcześniejsze wersje systemu Windows. Ten schemat uniemożliwia standardowym użytkownikom rejestrowanie bibliotek DLL.

Uwaga

Ze względu na to zachowanie użytkownicy standardowi mogą nie być w stanie uruchamiać programów, które samodzielnie rejestrują biblioteki DLL przy użyciu identyfikatora użytkownika standardowego.

Rozwiązanie

Aby rozwiązać ten problem, zaloguj się przy użyciu konta administratora, a następnie zarejestruj bibliotekę DLL.

Więcej informacji

Bibliotekę DLL można zarejestrować przy użyciu konta, które nie ma poświadczeń administracyjnych, o ile bibliotekę DLL nie zapisuje w rejestrze ani nie zmienia plików w folderze System32.