Você recebe 0x80070005 erro ao tentar registrar uma DLL usando Regsvr32.exe

Este artigo fornece uma solução para um erro de 0x80070005 que ocorre quando você registra uma DLL usando Regsvr32.exe.

Aplica-se a: Windows 10 — todas as edições, Windows Server 2012 R2
Número de KB original: 827659

Sintomas

Quando você tenta registrar uma biblioteca de link dinâmico (ou DLL ou .dll arquivo) usando a ferramenta de linha de comando Regsrv32.exe, a DLL não está registrada e você pode receber a seguinte mensagem de erro:

Falha no DllRegisterServer no file_name.dll.

O código de retorno era: 0x80070005

Observação

Esse comportamento não ocorre no Windows NT 4.0 ou no Windows 2000.

Motivo

Esse comportamento poderá ocorrer se você tentar registrar uma DLL usando Regsrv32 enquanto estiver conectado usando uma conta que não tenha credenciais administrativas, como uma conta que é membro do grupo de usuários padrão. Uma conta que não tem credenciais administrativas não pode gravar no registro ou alterar arquivos na pasta System32.

O comportamento ocorre porque o Windows XP e o Windows Server 2003 usam um esquema de segurança mais restritivo do que as versões anteriores do uso do Windows. Esse esquema impede que usuários padrão registrem DLLs.

Observação

Devido a esse comportamento, os usuários padrão podem não ser capazes de executar programas que auto-registram DLLs usando a ID do usuário padrão.

Resolução

Para resolve esse comportamento, faça logon usando uma conta de administrador e registre a DLL.

Mais informações

Você pode registrar uma DLL usando uma conta que não tem credenciais administrativas desde que a DLL não escreva no registro ou altere arquivos na pasta System32.