DetailPage-MSS-KB

Base de Dados de Conhecimento

Artigo: 249873 - Última revisão: terça-feira, 18 de Março de 2014 - Revisão: 14.0

Se este artigo não descrever a mensagem de erro que está a receber, pode obter explicações detalhadas acerca da mensagem de erro, acções recomendadas e recursos de suporte adicionais do Web site do Centro de Mensagens de Erros e Eventos (http://technet.microsoft.com/pt-pt/library/cc754424(WS.10).aspx) .

Sumário

O Regsvr32 é um utilitário de linha de comandos para registar e anular o registo de Controlos OLE, tais como DLLs e controlos ActiveX no Registo do Windows. O Regsvr32.exe encontra-se instalado na pasta %systemroot%\System32 no Windows XP e versões posteriores do Windows.

Nota Numa versão de 64 bits de um sistema operativo Windows, existem duas versões do ficheiro 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

O RegSvr32.exe possui as seguintes opções de linha de comando:
Regsvr32 [/u] [/n] [/i[:cmdline]] <dllname>

/u – Retirar servidor do registo
/i - Chamar DllInstall passando-lhe uma [linhacmd] opcional; quando é utilizado com /u, chama a desinstalação da dll
/n - não chamar DllRegisterServer; esta opção tem de ser utilizada com /i
/s – Silencioso; não apresenta caixas de mensagem

Soluções comuns para erros Regsvr32

Experimente um dos seguintes métodos quando receber um erro Regsvr32:
  • Método 1: Execute novamente o comando Regsvr32 a partir de uma linha de comandos elevada

    Para abrir uma linha de comando elevada, siga estes passos:
    Windows 8.1 e Windows 8
    Arraste desde a extremidade direita do ecrã e, em seguida, toque em Procurar. Ou, se estiver a utilizar um rato, aponte para o canto inferior direito do ecrã e de seguida clique em Pesquisar. Escreva Linha de Comandos na caixa Pesquisar, clique com o botão direito do rato na Linha de Comandos, e de seguida clique em Executar como administrador. Se lhe for solicitada uma palavra-passe de administrador ou uma conformação, escreva a palavra-passe ou clique em Permitir.
    Windows 7 e Windows Vista
    Clique em Iniciar, digite Linha de Comandos ou cmd na caixa de Procura, clique com o botão direito do rato em Linha de Comando e, em seguida, clique em Executar como administrador. Se lhe for solicitada uma palavra-passe de administrador ou uma confirmação, escreva a palavra-passe, ou faça clique em Permitir.
    Windows XP
    Inicie sessão com uma conta de administrador ou com uma conta com permissões de administrador e, em seguida, abra uma janela de Linha de Comandos.
  • Método 2: Utilize a versão de 32 bit do Regsvr32 para registar um DLL de 32-bit numa versão de 64-bit do Windows

    Se receber um erro ao registar um DLL de 32-bit DLL numa versão de 64-bit do Windows, siga estes passos:
    1. Abra uma linha de comandos elevada.
    2. Se o DLL de 32-bit se encontrar na pasta %systemroot%\System32 mova-o para a pasta %systemroot%\SysWoW64.
    3. Execute o seguinte comando:
      %systemroot%\SysWoW64\regsvr32 <Caminho completo para o DLL>

Mensagens de erro Regsvr32

Mensagens de erro de Regsvr32 no Windows Vista e versões mais recentes

Reduzir esta imagemExpandir esta imagem
A tabela que se segue contém mensagens de erro de RegSvr32 e causas possíveis:
Reduzir esta tabelaExpandir esta tabela
Mensagem de erroCausa
O sinalizador de comando ""%1"" não é válido. Reveja a utilização do comando e volte a tentar.Foi transmitida uma combinação inválida de opções da linha de comandos para o regsvr32.exe.
Este comando é válido apenas quando estiver aberto um projecto Microsoft Visual Studio OLE Activex Control.O Regsvr32.exe foi invocado pelo Visual Studio mas não foram especificados módulos na linha de comandos.
Para registar um módulo, tem de fornecer um nome binário.O Regsvr32.exe foi invocado sem especificar quaisquer módulos na linha de comandos.
Falha ao executar o comando OleInitialize. O computador poderá estar com falta de memória. Feche os programas que estiverem abertos e, em seguida, volte a tentar.O Regsvr32 tem de inicializar a biblioteca COM antes de invocar funções da biblioteca COM e não inicializar a biblioteca quando esta for encerrada. Estas mensagens de erro ocorrem se uma tentativa para inicializar ou não inicializar a biblioteca COM não tiver êxito.
Falha ao carregar o módulo ""%1"".\n\n Certifique-se de que o binário está armazenado no caminho especificado ou faça a respectiva depuração para verificar se existem problemas no binário ou ficheiros .DLL dependentes.\n\n%2.Ocorreu um erro ao carregar um módulo que foi especificado na linha de comandos. O texto do erro é apresentado 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 ficheiro DLL ou OCX válido e volte a tentarO Regsvr32.exe não conseguiu localizar o ponto de entrada necessário no módulo especificado na linha de comandos. Isto pode acontecer caso os pontos de entrada não sejam exportados correctamente do módulo ou se o módulo não for um ficheiro .DLL ou .OCX.
O módulo ""%1"" foi carregado mas a chamada para %2 falhou com o código de erro %3.\n\nPara mais informações sobre este problema, faça uma procura online utilizando o código de erro como termo de procura.Ocorreu um erro quando o regsvr32.exe invocou o ponto de entrada no módulo especificado na linha de comandos. O código do erro é apresentado 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.Este erro pode ocorrer, por exemplo, se o regsvr32.exe for executado num computador x86 e o módulo especificado na linha de comandos for um módulo de 64 bits.
Reduzir esta imagemExpandir esta imagem

Mensagens de erro Regsvr32.exe no Windows XP

Reduzir esta imagemExpandir esta imagem
A tabela que se segue contém mensagens de erro RegSvr32 e causas possíveis:
Reduzir esta tabelaExpandir esta tabela
Mensagem de erroCausa
Sinalizador não reconhecido: /sinalizador_inválidoEscreveu uma combinação inválida de sinalizadores ou parâmetros.
Não foi especificado o nome de uma DLLNão incluiu um nome de ficheiro .dll.
Dll_Name foi carregado, mas o ponto de entrada DllRegisterServer ou DllUnregisterServer não foi localizado.O nome Dll especificado não é um ficheiro .dll ou .ocx. Por exemplo, se escrever regsvr32 wjview.exe é gerada esta mensagem de erro.
Dll_Name não é um ficheiro executável e não está registada nenhuma ajuda de registo para este tipo de ficheiro.O nome Dll especificado não é um ficheiro executável (.exe, .dll ou .ocx). Por exemplo, se escrever regsvr32 autoexec.bat é gerada esta mensagem de erro.
Dll_Name não é auto-registável ou existe uma versão corrompida em memória.Por exemplo, se escrever regsvr32 icwdial.dll esta mensagem de erro é devolvida porque o ficheiro Icwdial.dll não é de registo automático. Se suspeitar da existência de uma versão corrompida do Dllname em memória, tente reiniciar o computador ou extrair novamente a versão original do ficheiro.
Falhou o OleInitialize (ou falhou o OleUninitialize)O Regsvr32 tem de inicializar a biblioteca COM antes de invocar funções da biblioteca COM e não inicializar a biblioteca quando esta for encerrada. Estas mensagens de erro ocorrem se uma tentativa para inicializar ou não inicializar a biblioteca COM não tiver êxito. Por exemplo, o ficheiro Ole32.dll poderá estar danificado ou ter a versão incorrecta.
LoadLibrary("Dll_Name") falhou. GetlastError devolve 0x00000485A partir do Winerror.h, 0x00000485 = 1157 (ERROR_DLL_NOT_FOUND). Isto significa que "Não é possível localizar um dos ficheiros da biblioteca necessários para executar esta aplicação". Por exemplo, se escrever regsvr32 missing.dll esta mensagem de erro será devolvida, caso o ficheiro Missing.dll não seja encontrado.
LoadLibrary("Dll_Name") falhou. GetLastError devolve 0x00000002A partir do Winerror.h, 0x00000002 = 2 (ERROR_FILE_NOT_FOUND). Isto significa que "O sistema não conseguiu localizar o ficheiro especificado". Por outras palavras, uma DLL dependente não foi encontrada. Por exemplo, se escrever regsvr32 icwdial.dll com Tapi32.dll (uma dependência) em falta, é devolvida esta mensagem de erro.
LoadLibrary("dskmaint.dll") falhou. GetLastError devolve 0x000001fA partir do Winerror.h, 0x000001f = 31 (ERROR_GEN_FAILURE). Isto significa que "Um dispositivo ligado ao sistema não está a funcionar". Este comportamento pode ocorrer se tentar registar um ficheiro Win16 .dll. Por exemplo, se escrever regsvr32 dskmaint.dll é devolvida esta mensagem de erro.
DllRegisterServer (ou DllUnregisterServer)no Dll_Name falhou. Código de retorno: cadeiaProcure no ficheiro Winerror.h a cadeia que é especificada na mensagem.
Reduzir esta imagemExpandir esta imagem

A informação contida neste artigo aplica-se a:
  • Windows Vista Enterprise
  • Windows Vista Business
  • Windows Vista Home Basic
  • Windows Vista Home Premium
  • Windows Vista Ultimate
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Media Center Edition 2005 Update Rollup 2
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows XP Tablet PC Edition
  • Windows 7 Enterprise
  • Windows 7 Home Basic
  • Windows 7 Home Premium
  • Windows 7 Professional
  • Windows 7 Ultimate
  • Windows 8
  • Windows 8 Enterprise
  • Windows 8 Pro
  • Windows 8.1
  • Windows 8.1 Enterprise
  • Windows 8.1 Pro
Palavras-chave: 
kbresolve kbenv kberrmsg kbinfo kbkern32dll KB249873
Partilhar
Opções de suporte adicionais
Fóruns de Suporte da Comunidade Microsoft
Contacte-nos directamente
Encontre um parceiro certificado Microsoft
Loja Microsoft