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ó.
Funcionou, Muito obrigado…
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”
Valeu Vinícius Dias, executando com Administrador funcionou perfeitamente. Muito obrigado!
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.
Muito bom sua explicação, funciona perfeitamente
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
Felipe Conseguiu?
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?
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.
Funcionou perfeitamente para o midas.dll eu estava usando uma VM só pra rodar uma aplicação, agora posso usar o WIn 8. Obrigado
muito bom Marcelo Maciel! parabéns!
acredito que tenha auxiliado muitas pessoas!
abs. Bernélio
Muito obrigado, salvou minha manhã!
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.
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
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?
Muito bom!! O meu Sistema é 64bits e estava com dificuldade para registro da .dll
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!
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
0
votar contra
favorita
Não estou conseguindo registrar nenhuma DLL desenvolvida em Delphi em maquinas com Windows 64 bits.
1 – Eu ja testei algumas com algumas DLLs diferentes, inclusive com uma nova, de testes, com uma unica procedure, simples.
Ja tentei registrar utilizando REGSVR32 da pasta C:\windows\system32
Ja tentei registrar utilizando REGSVR32 da pasta C:\windows\syswow64
Ja tentei compilar a DLL em 32bit e em 64bits
Ja utilizei o Dependency Walker: Baixei todas as DLLs (32 no total) que o aplicativo apontou como dependentes e no final obtive a seguinte log:
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.
e o Windows 64 não registra. Continua exibindo a mesma mensagem:
O módulo “c:\Windows\syswow64\project1.dll” foi carregado as o ponto de entrada DLLRegisterServer nao foi localizado. Certifique-se de que “c:\windows\syswow64\project1.dll” é um arquivo DLL ou OCX válido e tente novamente.
C:\WINDOWS\system32>regsvr32 c:\windows\syswow64\Carddll.dll
CONSEGUI ASSIM NUM WIN 10 64 BITS
Essa parte que vocês dizem para colocar:
e execute o regsvr32 nome_dll.dll
essa parte : (nome_dll.dll) , coloca assim mesmo? ou tenho que o nome que esta no arquivo dll?
Ainda não fiz com medo de colocar errado… não sei se essa parte “nome_dll.dll” é só um exemplo ou se é para colocar assim mesmo…
Você me entendeu rs?
Executa com o nome da DLL que você quer registrar.
Pessoal além de copiar o arquivo .dll dentro das pastas system32 e SysWOW64 também é preciso copiar dentro da pasta system. Aí resolver o problema.
Cara obrigado, me salvou de um problemão aqui!
Valeu