Como usar a ferramenta Regsvr32 e solucionar mensagens de erro do Regsvr32

Se este artigo não descrever a mensagem de erro recebida, você poderá obter explicações detalhadas da mensagem de erro, ações recomendadas e recursos de suporte adicionais na página do TechNet Eventos e Erros

Resumo

Regsvr32 é um utilitário de linha de comando para registrar e cancelar o registro de controles OLE, como DLLs e controles ActiveX no Registro do Windows. Regsvr32.exe está instalado na pasta %systemroot%\System32 no Windows XP e em versões posteriores do Windows.


Observação Em uma versão de 64 bits do sistema operacional Windows, existem duas versões do arquivo Regsv32.exe:

  • A versão de 64 bits é %systemroot%\System32\regsvr32.exe.

  • A versão de 32 bits é %systemroot%\SysWoW64\regsvr32.exe.

A sintaxe do comando Regsvr32

RegSvr32.exe tem as seguintes opções de linha de comando:

Regsvr32 [/u] [/n] [/i[:cmdline]] <dllname>

/u - Cancelar registro do servidor

/i - Chamar DllInstall passando uma [cmdline] opcional; quando é utilizado com /u, chama a desinstalação do dll
/n - não chamar DllRegisterServer; esta opção tem de ser utilizada com /i

/s - Silencioso; não exibir caixas de mensagem

Soluções comuns para erros de Regsvr32

Experimente um dos seguintes métodos quando receber um erro de Regsvr32:

  • Método 1: Executar novamente o comando Regsvr32 em um prompt de comando com privilégios elevadosPara abrir um prompt de comando com privilégios elevados, siga estas etapas:

    Windows 8.1 e Windows 8Passe o dedo da borda direita da tela e toque em Pesquisar. Como alternativa, se você estiver usando um mouse, aponte para o canto inferior direito da tela e clique em Pesquisar. Digite Prompt de Comando na caixa Pesquisar, clique com o botão direito do mouse em Prompt de Comando e clique em Executar como administrador. Caso uma senha de administrador ou uma confirmação seja solicitada, digite a senha ou clique em Permitir.

    Windows 7 e Windows VistaClique em Iniciar, digite Prompt de Comando ou cmd na caixa Pesquisar, clique com o botão direito do mouse em Prompt de Comando e clique em Executar como administrador. Caso uma senha de administrador ou uma confirmação seja solicitada, digite a senha ou clique em Permitir.

    Windows XPFaça logon com uma conta de administrador ou uma conta com permissões de administrador e abra uma janela de Prompt de Comando.

  • Método 2: Usar a versão de 32 bits de Regsvr32 para registrar uma DLL de 32 bits em uma versão de 64 bits do WindowsSe você receber um erro ao registrar uma DLL de 32 bits em uma versão de 64 bits do Windows, siga estas etapas:

    1. Abra um prompt de comando com privilégios elevados.

    2. Se a DLL de 32 bits estiver na pasta %systemroot%\System32, mova-a para a pasta %systemroot%\SysWoW64.

    3. Execute o seguinte comando:

      %systemroot%\SysWoW64\regsvr32 <full path of the DLL>

Mensagens de erro de Regsvr32

A tabela a seguir contém mensagens de erro de RegSvr32 e possíveis causas:

Mensagem de erro

Causa

O sinalizador de comando ""%1"" não é válido. Examine o uso do comando e tente novamente.

Uma combinação inválida de opções foi passada na linha de comando para regsvr32.exe.

Este comando é válido apenas se um projeto do Controle Activex OLE do Microsoft Visual Studio estiver aberto.

A ferramenta Regsvr32.exe foi invocada pelo Visual Studio, mas não foram especificados módulos na linha de comando.

Paras registrar um módulo, você deve fornecer um nome binário.

A ferramenta Regsvr32.exe foi invocada sem serem especificados módulos na linha de comando.

O comando OleInitialize falhou ao ser executado. O computador poderá estar com falta de memória. Feche os programas que estiverem abertos e tente novamente.

Regsvr32 deve inicializar a biblioteca COM para que possa chamar funções de biblioteca COM necessárias e cancelar a inicialização da biblioteca quando ela for desligada. Essas mensagens de erro são exibidas se uma tentativa de inicializar ou não inicializar a biblioteca COM for malsucedida.

Falha ao carregar o módulo ""%1"".\n\n Certifique-se de que o binário é armazenado no caminho especificado ou depure-o para verificar se há problemas com o binário ou arquivos .DLL dependentes.\n\n%2.

Erro ao carregar um módulo que foi especificado na linha de comando. O texto do erro é exibido como parte da mensagem.

O módulo ""%1"" foi carregado, mas o ponto de entrada %2 não foi encontrado.\n\nCertifique-se de que ""%1"" é um DLL válido ou arquivo OCX e tente novamente

Regsvr32.exe não encontrou o ponto de entrada necessário no módulo especificado na linha de comando. Isto pode acontecer se os pontos de entrada não forem exportados corretamente do módulo ou se o módulo não for um arquivo .DLL ou .OCX.

O módulo ""%1"" foi carregado, mas a chamada para %2 falhou com o código de erro %3.\n\n Para obter mais informação sobre este problema, pesquise online usando o código de erro como um termo de pesquisa.

Erro quando regsvr32.exe invocou o ponto de entrada no módulo especificado na linha de comando. O código do erro é exibido como parte da mensagem.

O módulo ""%1"" pode não ser compatível com a versão do Windows em execução. Verifique se o módulo é compatível com uma versão x86 (32 bits) ou x64 (64 bits) de regsvr32.exe.

Esse erro poderá ocorrer, por exemplo, se regsvr32.exe for executado em um computador x86 e o módulo especificado na linha de comando for um módulo de 64 bits.


A tabela a seguir contém mensagens de erro de RegSvr32 e possíveis causas:

Mensagem de erro

Causa

Sinalizador não reconhecido: /invalid_flag

Você digitou uma combinação de opções ou sinalizadores inválidos.

Nenhum nome de DLL especificado.

Você não incluiu um nome de arquivo .dll.

Dll_Name foi carregado, mas o ponto de entrada DllRegisterServer ou DllUnregisterServer não foi encontrado.

O nome do Dll especificado não é um arquivo .dll ou .ocx. Por exemplo, ao digitar regsvr32 wjview.exe uma mensagem de erro será gerada.

Dll_Name não é um arquivo executável e nenhum auxiliar de registro está registrado para esse tipo de arquivo.

O nome do Dll especificado não é um arquivo executável (.exe, .dll ou .ocx). Por exemplo, ao digitar regsvr32 autoexec.bat uma mensagem de erro será gerada.

Dll_Name não é registável automaticamente ou uma versão corrompida está na memória.

Por exemplo, ao digitar regsvr32 icwdial.dll uma mensagem de erro será exibida porque o arquivo Icwdial.dll não tem registro automático. Se você suspeita que uma versão corrompida do nome do Dll está na memória, tente reiniciar o computador ou extrair novamente a versão original do arquivo.

OleInitialize falhou (ou OleUninitialize falhou)

É necessário que a ferramenta Regsvr32 inicialize a biblioteca COM antes de chamar as funções da biblioteca COM e não inicializar a biblioteca quando ela for desligada. Essas mensagens de erro são exibidas se uma tentativa de inicializar ou não inicializar a biblioteca COM for mal-sucedida. Por exemplo, o arquivo Ole32.dll pode estar corrompido ou pode ser a versão errada.

LoadLibrary("Dll_Name") falhou. GetlastError retorna 0x00000485

De Winerror.h, 0x00000485 = 1157 (ERROR_DLL_NOT_FOUND). Isso significa "Um dos arquivos de biblioteca necessários para executar este aplicativo não pode ser encontrado". Por exemplo, se você digitar regsvr32 missing.dll, essa mensagem de erro será retornada se o arquivo Missing.dll não for encontrado.

LoadLibrary("Dll_Name") falhou. GetlastError retorna 0x00000002

De Winerror.h, 0x00000002 = 2 (ERROR_FILE_NOT_FOUND). Isto significa "O sistema não pode encontrar o arquivo especificado". Em outras palavras, um arquivo .dll dependente não foi encontrado. Por exemplo, se você digitar regsvr32 icwdial.dll com Tapi32.dll (uma dependência) ausente, essa mensagem de erro será retornada.

LoadLibrary("dskmaint.dll") falhou. GetLastError retorna 0x000001f

De Winerror.h, 0x000001f = 31 (ERROR_GEN_FAILURE). Isto significa "Um dispositivo ligado ao sistema não está funcionando". É possível que esse comportamento ocorra se tentar registrar um arquivo Win16 .dll. Por exemplo, se você digitar regsvr32 dskmaint.dll, essa mensagem de erro será retornada.

DllRegisterServer (ou DllUnregisterServer) em Dll_Name falhou. O código de retorno era: string

Pesquise no arquivo Winerror.h a cadeia de caracteres que está especificada na mensagem.


Precisa de mais ajuda?

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Microsoft Insider

Estas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade da tradução?

O que afetou sua experiência?

Algum comentário adicional? (Opcional)

Obrigado por seus comentários!

×