Registrar DLL 32 bits no Windows 64 bits

Ha alguns dias tive um problema que me deu um pouco de dor de cabeça. Precisava registrar uma dll 32 bits no Windows Server 2008 R2 que é somente 64 bits. Após alguns dias de pesquisa achei o seguinte KB282747.

Nele é informado que o regsvr32.exe que existe na pasta C:\Windows\System32 é somente para dlls 64 bits. Caso queria registrar uma dll 32 bits, deve-se utilizar o executável que está na pasta C:\Windows\SysWOW64. O que não é informa é que a dll 32 bits não pode ser colocada na pasta C:\Windows\System32 e sim na C:\Windows\SysWOW64.

Em resumo, para registrar a dll 32 bits no Windows x64, coloque a dll na pasta C:\Windows\SysWOW64, abra o prompt de comandos, entre na pasta acima, e execute o regsvr32 nome_dll.dll. Pronto funciona perfeitamente. Faltou um pouco de clareza na documentação só.

Deixe um Comentário

20 Comentários.

  1. Funcionou, Muito obrigado…

  2. Executei os passos acima e não funcionou… Apesar do arquivo estar na pasta, diz que “Não foi possível encontrar o módulo especificado”

    • Alexandre, além do arquivo ter de estar na pasta C:\Windows\SysWOW64, você deve entrar na pasta C:\Windows\SysWOW64 no prompt antes de executar o regsvr32. Se você estiver em outra pasta, irá chamar a versão 64 bits do regsvr32, e dará a mensagem de erro que você citou.

    • Tem uma forma que funcionou comigo. Executar o prompt comom administrador. Você vai e iniciar e digita CMD quando aparecer o prompt clica com o botão direito e vai em “Executar como administrador” e é só rodar o comando, que no meu caso foi “regsvr32 capicom.dll”

  3. olá amigos, executei como administrador, a dll está na pasta c:\windows\syswow64, mas quando executo dá o erro falha ao carregar o módulo…

    alguém tem uma luz?

    obrigado
    Felipe

    • Felipe, você copiou a dll para a pasta c:\windows\syswow64 executou o comando a partir dela também? Se você executar de outra pasta o windows irá chamar o executável 64 bits.

  4. Muito bom sua explicação, funciona perfeitamente

  5. Rodei o comando como vc disse, coloquei minha DLL na SysWOW64… Mas a mensagem que aparece eh a seguinte: “O modulo “DllInscE32.dll” foi carregado, mas o ponto de entrada DllRegisterServer nao foi localizado. Certifique-se de que “DllInscE32.dll” eh um arquivo DLL ou OCX valido e tente novamente.”

    Alguma sugestao?

    Muito obrigado

  6. Anderson Nascimento

    Estou com o mesma mensagem de erro do Felipe, funcionou perfeitamente no win seven, mais no win server 2008 R2 mostrou a mensagem de erro, alguém conseguiu?

  7. Perfeito. Para quem não está conseguindo, tem que abrir o prompt de comando como administrador, clicando com o botão direito, senão vai dar o erro que o Felipe relatou ali.

  8. Funcionou perfeitamente para o midas.dll eu estava usando uma VM só pra rodar uma aplicação, agora posso usar o WIn 8. Obrigado

  9. muito bom Marcelo Maciel! parabéns!
    acredito que tenha auxiliado muitas pessoas!
    abs. Bernélio

  10. Muito obrigado, salvou minha manhã!

  11. Fiz TODOS os processos, mas nao resolveu em nada, tirei da system32, coloquei na 64… O modulo “ISDone.dll” foi carregado, mas o ponto de entrada DllRegisterServer nao foi localizado. Certifique-se de que “ISDone.dll” eh um arquivo DLL ou OCX valido e tente novamente.

  12. Coloquei isdone.dll 32 bits ( meu PC é 64 bits) na pastas SysWOW64, entrei no cmd, diretorio certinho da pasta SysWOW64, usei o regsvr32 e mesmo assim apareceu que o ponto de entrada dllregisterserver nao foi localizado.
    Algm me ajuda pf

  13. Também não consegui registrar no server 2008. mesmo sintoma de DllRegisterServer não localizado. Executei como ADM o prompt e nada mudou. alguma mudança pra quem teve sucesso?

  14. Muito bom!! O meu Sistema é 64bits e estava com dificuldade para registro da .dll

  15. Deu certinho. Estava com um problema relacionado gerador de relatórios Delphi RM.
    Fiz o procedimento registrando a dll a partir da pasta SysWOW64 sendo meu Windows 7. Executou e acessou normalmente. Obrigada!

  16. não funcionou aqui no meu Windows 7 64 bits coloquei minha DLL na Pasta SysWOW64 Mas continua aparecendo a mesma mensagem de sempre
    “O modulo “Op14Codec.dll” foi carregado, mas o ponto de entrada DllRegisterServer nao foi localizado. Certifique-se de que “Op14Codec.dll” é um arquivo DLL ou OCX valido e tente novamente

    alguem sabe como resolver isto?

    obrigado

Responder para Anderson Nascimento ¬
Cancelar resposta