Recibe 0x80070005 error al intentar registrar un archivo DLL mediante Regsvr32.exe

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

Se aplica a: Windows 10 (todas las ediciones), Windows Server 2012 R2
Número de KB original: 827659

Síntomas

Al intentar registrar una biblioteca de vínculos dinámicos (o DLL o .dll archivo) 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 devuelto era: 0x80070005

Nota:

Este comportamiento no se produce en Windows NT 4.0 o Windows 2000.

Causa

Este comportamiento puede producirse si intenta registrar un archivo DLL mediante Regsrv32 mientras ha iniciado sesión con una cuenta que no tiene credenciales administrativas, como una cuenta que es miembro del grupo de usuarios estándar. Una cuenta que no tiene credenciales administrativas no puede escribir en el Registro ni 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 las versiones anteriores de Windows. Este esquema impide que los usuarios estándar registren archivos DLL.

Nota:

Debido a este comportamiento, es posible que los usuarios estándar no puedan ejecutar programas que registren archivos DLL automáticamente mediante 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 el archivo DLL.

Más información

Puede registrar un archivo DLL mediante una cuenta que no tenga credenciales administrativas siempre y cuando el archivo DLL no escriba en el Registro o cambie los archivos en la carpeta System32.