Artigo: 249873 - Última revisão: domingo, 25 de Setembro de 2011 - Revisão: 8.0

Explicação da utilização de Regsvr32 e das respectivas mensagens de erro

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Se este artigo não descrever a mensagem de erro recebida, consulte o seguinte artigo da Base de Dados de Conhecimento Microsoft para visualizar mais artigos que descrevem mensagens de erro.
315854  (http://support.microsoft.com/kb/315854/pt/ ) Centro de recursos de mensagens de erro do Windows 98 e Windows ME
Para obter mais informações sobre explicações detalhadas das mensagens de erro, acções recomendadas e recursos adicionais de suporte, visite o seguinte Web site da Microsoft:
http://www.microsoft.com/technet/support/ee/ee_advanced.aspx (http://www.microsoft.com/technet/support/ee/ee_advanced.aspx)

Nesta página

Expandir tudo | Reduzir tudo

Sumário

Pode utilizar a ferramenta Regsvr32 (Regsvr32.exe) para registar e anular o registo de controlos OLE (Object Linking and Embedding) como DLLs ou ficheiros de Controlos ActiveX (OCX) de registo automático. Este procedimento poderá ser necessário para resolver alguns problemas relacionados com o Windows, Microsoft Internet Explorer ou outros programas. Por exemplo, o artigo que se segue da Base de Dados de Conhecimento Microsoft necessita da utilização da ferramenta Regsvr32.exe para anular o registo do controlo Wuv3is.dll antes da respectiva reinstalação a partir do site Windows Update:
241122  (http://support.microsoft.com/kb/241122/pt/ ) Erro da aplicação ao clicar em Actualizações de Produtos
Se o registo de um controlo não tiver êxito ou necessitar de informações de um programador sobre resolução de problemas relacionados com tentativas de registo de controlos OLE sem êxito, consulte o seguinte artigo na Base de Dados de Conhecimento Microsoft:
140346  (http://support.microsoft.com/kb/140346/pt/ ) Razões possíveis para a falha de registo de controlo OLE

Mais Informação

A ferramenta Regsvr32.exe está incluída no Microsoft Internet Explorer 3.0 ou versões posteriores, Windows 95 OEM Service Release 2 (OSR2) ou versões posteriores e no Windows NT 4.0 Service Pack 5 (SP5) ou versões posteriores. Regsvr32.exe é instalado na pasta System (Windows Me/Windows 98/Windows 95) ou System32 (Windows NT/Windows XP/Windows Vista/Windows 7).

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.

Utilização de Regsvr32.exe

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; sem apresentar caixas de mensagens (adicionado ao Windows XP e Windows Vista)
Quando utiliza a ferramenta Regsvr32.exe, esta tenta carregar o componente e invocar a função DLLSelfRegister. Se a tentativa tiver êxito, a ferramenta Regsvr32.exe apresenta uma caixa de diálogo com essa indicação. Caso contrário, a ferramenta Regsvr32.exe devolve uma mensagem de erro. Poderá incluir um código de erro Win32. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft (KB, Microsoft Knowledge Base):
193625  (http://support.microsoft.com/kb/193625/pt/ ) Códigos de erro WinInet (12001 até 12156)
Por exemplo, para registar manualmente um controlo ActiveX Sample.ocx, escreva o seguinte comando na linha de comandos:
c:\regsvr32.exe sample.ocx

Mensagens de erro de Regsvr32.exe no Windows Vista e posterior

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

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 Custom 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 de 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.

Mensagens de erro Regsvr32.exe anteriores ao Windows Vista

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

Sinalizador não reconhecido: /sinalizador_inválido

Introduziu uma combinação inválida de sinalizadores ou parâmetros (consulte a secção "Utilização de Regsvr32.exe" deste artigo).

Não foi especificado o nome de uma DLL

Não foi incluído um nome de ficheiro .dll (consulte a secção "Utilização de Regsvr32.exe" deste artigo).

Nome_dll foi carregado, mas o ponto de entrada DllRegisterServer ou DllUnregisterServer não foi localizado

Nome_dll não é um ficheiro .dll ou .ocx. Por exemplo, se escrever regsvr32 wjview.exe é gerada esta mensagem de erro.

Nome_dll não é um ficheiro executável e não existe ajuda de registo registada para este tipo de ficheiro

Nome_dll não é um ficheiro executável (.exe, .dll ou .ocx). Por exemplo, se escrever regsvr32 autoexec.bat é gerada esta mensagem de erro.

Dllname foi carregado, mas o ponto de entrada DllRegisterServer ou DllUnregisterServer não foi localizado.

Poderá não ser possível exportar Nome_dll ou poderá existir uma versão danificada de Nome_dll na memória. Considere utilizar Pview para detectar o ficheiro e removê-lo.

Nome_dll não é auto-registável ou existe uma versão danificada 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 danificada de Nome-dll na memória, tente reiniciar o computador ou extrair novamente a versão original do ficheiro. Se estiver a utilizar o Windows NT, poderá necessitar de utilizar a ferramenta Kill ou Pview do Microsoft Windows NT Server 4.0 Resource Kit. Para obter informações adicionais, clique para visualizar o seguinte artigo da base de dados de conhecimento da Microsoft (KB, Microsoft Knowledge Base):
197155  (http://support.microsoft.com/kb/197155/pt/ ) Como encerrar um processo órfão
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("Nome_dll") falhou. GetlastError devolve 0x00000485

Proveniente de Winerror.h, 0x00000485 = 1157 (ERROR_DLL_NOT_FOUND), significa "Um dos ficheiros de biblioteca necessários à execução desta aplicação não foi encontrado". Por exemplo, se escrever regsvr32 missing.dll esta mensagem de erro será devolvida, caso o ficheiro Missing.dll não seja encontrado.

LoadLibrary("Nome_dll") falhou. GetLastError devolve 0x00000002

Proveniente de Winerror.h, 0x00000002 = 2 (ERROR_FILE_NOT_FOUND), significa "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

Proveniente de Winerror.h, 0x000001f = 31 (ERROR_GEN_FAILURE), significa "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.

Falha em DllRegisterServer (ou DllUnregisterServer) em Nome_dll. Código de retorno: cadeia

Procure em Winerror.h uma ocorrência de cadeia.

A informação contida neste artigo aplica-se a:
  • Windows Vista Enterprise
  • Windows Vista Business
  • Windows Vista Business N 64-bit Edition
  • Windows Vista Home Basic
  • Windows Vista Home Basic N
  • Windows Vista Home Basic N 64-bit Edition
  • Windows Vista Home Premium
  • Windows Vista Starter
  • Windows Vista Ultimate
  • Windows Vista Business N
  • Windows Vista Business 64-bit edition
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Media Center Edition 2005 Update Rollup 2
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows XP Professional N
  • Microsoft Windows XP Home Edition N
  • Microsoft Windows XP Tablet PC Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 95
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Windows 7 Enterprise
  • Windows 7 Home Basic
  • Windows 7 Home Premium
  • Windows 7 Professional
  • Windows 7 Starter
  • Windows 7 Ultimate
  • Windows 7 Enterprise N
  • Windows 7 Home Premium N
  • Windows 7 Professional N
  • Windows 7 Starter N
  • Windows 7 Ultimate N
Palavras-chave: 
kbresolve kbenv kberrmsg kbinfo kbkern32dll KB249873