Recibe un Error "DllRegisterServer" cuando intenta registrar una DLL utilizando Regsvr32.exe

Se aplica a: Microsoft Windows Server 2003 Web EditionMicrosoft Windows Server 2003 Standard Edition (32-bit x86)Microsoft Windows Server 2003 Enterprise Edition (32-bit x86)

Síntomas


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

Error de DllRegisterServer en nombreDeArchivo.dll.

Devolver el código fue: 0 x 80070005

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

Causa


Este comportamiento puede producirse si intenta registrar una DLL mediante Regsrv32 mientras haya iniciado la sesión con una cuenta que tenga credenciales administrativas, como una cuenta que sea miembro del grupo de 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 utilizan un esquema de seguridad más restrictivo que las versiones anteriores de Windows utilice. Este esquema impide que los usuarios estándar registrar las DLL.

Nota: Debido a este comportamiento, los usuarios estándares no podrán ejecutar programas que registrar automáticamente los archivos DLL utilizando el identificador. de usuario estándar

Solución


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

Más información


Puede registrar una DLL mediante una cuenta que tenga credenciales administrativas siempre que la DLL no escribir en el registro o cambiar archivos en la carpeta System32.