Os sistemas 64 bits estão tomando conta do mercado, e com eles algumas dificuldades novas. No windows server 2008 Standart 64 bits, ao tentar registrar uma DLL com o comando regsvr32 "nome da dll" na opção executar obtive a seguinte mensagem:
Talvez o módulo "Nome da DLL" não seja compatível com a versão do Windows que você está executando. Verifique se ele é compatível com uma versão x86 (32 bits) ou x64 (64 bits) do arquivo regsvr32.exe.
Isso acontece pois quando você chama o comando sem especificar o local, ele usa o regsvr32 de 64 bits. Para usar o de 32 bits existe alguns paços a serem seguidos.
Depois de uma pesquisa na net encontrei uma solução estapafúrdia para o problema que consiste em você abrir o prompt de comando, acessar a pasta c:\windows\syswow64 e ai realizar o registro das dlls. Simples mas ao mesmo tempo difícil caso não se tenha essa informação. Acho que ao invés de retornar essa mensagem o windows deveria dizer algo assim:
O seu mala. Essas dlls antigas devem ser registradas acessando a pasta c:\windows\syswow64 pelo prompt de comando e digitando logo após o comando regsvr32 "nome da sua dll".
Bom, como o mundo não é perfeito, fica aqui minha dica com as devidas referências ao FAQ da microsoft que foi onde encontrei essa informação.
Cordialmente;
Claudir Pereira dos Santos
T.I.
Matelândia, 29/06/2009.
Referências
http://support.microsoft.com/kb/282747/en-us
Comentários
Caro amigo, este procedimento funciona apenas com Windows XP Pro 64 ou Microsoft Windows Advanced Server, Limited Edition, não para Server 2008 64.
Fiz o procedimento com o Windows Seven Home Premium e funcionou normalmente.
Obrigado amigo! estava na mesma situação e resolveu fazendo isso no prompt vlw.
Meu caro, essa solução para windows server 2003 SP1 x64 não funcionou. A mensagem de erro informa que a dll foi carregada, mas o ponto de entrada DllRegisterServer não foi encontrado.
Não testei no server 2003 64 bits, somente no 2008 64 bits.