Recibe el error 0x80070005 cuando intenta registrar una DLL con Regsvr32.exe

En este artículo se proporciona una solución a un error 0x80070005 que se produce al registrar una DLL con Regsvr32.exe.

Versión del producto original:   Windows 10: todas las ediciones, Windows Server 2012 R2
Número de KB original:   827659

Síntomas

Cuando intenta registrar una biblioteca de vínculos dinámicos (o archivo DLL o. dll) mediante la herramienta de línea de comandos Regsrv32.exe, el archivo DLL no está registrado y puede recibir el siguiente mensaje de error:

Error en DllRegisterServer en file_name. dll.

El código de retorno era: 0x80070005

Nota

Este comportamiento no se produce en Windows NT 4,0 o Windows 2000.

Causa

Este comportamiento puede producirse si intenta registrar una DLL con Regsrv32 mientras ha iniciado sesión con una cuenta que no tiene credenciales administrativas, como una cuenta que es miembro del grupo usuarios estándar. Una cuenta que no tiene credenciales administrativas no puede escribir en el registro o cambiar archivos en la carpeta system32.

El comportamiento se produce porque Windows XP y Windows Server 2003 usan un esquema de seguridad más restrictivo que el uso de versiones anteriores de Windows. Este esquema impide que los usuarios estándar registren las dll.

Nota

Debido a este comportamiento, es posible que los usuarios estándar no puedan ejecutar programas que se registran automáticamente con el identificador de usuario estándar.

Solución

Para resolver este comportamiento, inicie sesión con una cuenta de administrador y, a continuación, registre la DLL.

Más información

Puede registrar una DLL con una cuenta que no tenga credenciales administrativas siempre que la DLL no escriba en el registro o cambie los archivos de la carpeta system32.