Iniciar sessão com a Microsoft
Iniciar sessão ou criar uma conta.
Olá,
Selecione uma conta diferente.
Tem várias contas
Selecione a conta com a qual pretende iniciar sessão.

Se este artigo não descrever a mensagem de erro que está a receber, pode obter explicações detalhadas acerca da mensagem de erro, ações recomendadas e recursos de suporte adicionais na página Eventos e Erros na TechNet. 

Resumo

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


NotaNuma 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

A ferramenta RegSvr32.exe tem as seguintes opções da linha de comandos:

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 de Regsvr32

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

  • Método 1: Execute o comando Regsvr32 novamente a partir de uma linha de comandos de nível superiorPara abrir uma linha de comandos de nível superior, siga estes passos:

    Windows 8.1 e Windows 8Faça um gesto de percorrer a partir da extremidade direita do ecrã e, em seguida, toque em Procurar. Alternativamente, se estiver a utilizar um rato, aponte para o canto inferior direito do ecrã e, em seguida, clique em Procurar. Escreva Linha de Comandos na caixa Procurar, clique com o botão direito do rato em Linha de Comandos e, em seguida, clique em Executar como administrador. Se lhe for solicitada uma palavra-passe de administrador ou confirmação, escreva a palavra-passe ou clique em Permitir.

    Windows 7 e Windows VistaClique em Iniciar, escreva Linha de Comandos ou cmd na caixa Procurar, clique com o botão direito do rato em Linha de Comandos e, em seguida, clique em Executar como administrador. Se lhe for solicitada uma palavra-passe de administrador ou confirmação, escreva a palavra-passe ou clique em Permitir.

    Windows XPInicie sessão com uma conta de administrador ou uma conta que tenha permissões de administrador e abra uma janela da Linha de Comandos.

  • Método 2: Utilize a versão de 32 bits do Regsvr32 para registar uma DLL de 32 bits numa versão de 64 bits do WindowsSe receber um erro ao registar uma DLL de 32 bits numa versão de 64 bits do Windows, siga estes passos:

    1. Abra uma linha de comandos elevada.

    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 Regsvr32

A lista que se segue contém mensagens de erro de RegSvr32 e causas possíveis.

Mensagem de erro

Causa

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 tentar

O 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.


A lista que se segue contém mensagens de erro de RegSvr32 e causas possíveis.

Mensagem de erro

Causa

Sinalizador não reconhecido: /sinalizador_inválido

Introduziu uma combinação inválida de sinalizadores ou comutadores.

Não foi especificado o nome de uma DLL

Não inclui um nome de ficheiro .dll.

Nome_Dllfoi 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 é autorregistá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 0x00000485

A 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 0x00000002

A 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 0x000001f

A 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: cadeia

Procure no ficheiro Winerror.h a cadeia que é especificada na mensagem.


Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.

Estas informações foram úteis?

Quão satisfeito está com a qualidade do idioma?
O que afetou a sua experiência?
Ao selecionar submeter, o seu feedback será utilizado para melhorar os produtos e serviços da Microsoft. O seu administrador de TI poderá recolher estes dados. Declaração de Privacidade.

Obrigado pelo seu feedback!

×