Como assim? DLL’s 32 bit vão para a pasta System32, certo? Não! Não ao ao menos se seu Windows for 64 bit! Confuso, não é? Também acho, mas é isso mesmo!
Bem, como você já sabe (ou deveria saber) toda DLL que acompanha seu software deve possuir a mesma “bitagem” do EXE, ou seja, se seu EXE é 32 bit, qualquer DLL utilizada por ele deve ser 32 bit. E claro, se o EXE é 64 bit, DLL’s que o acompanham devem ser 64 bit.
Importante: Não se esqueça que a IDE do Delphi é 32 bit, logo, qualquer DLL client de banco de dados usada pelo FireDAC, DBExpress, etc. devem ser 32 bit para conseguir acessar o BD de dentro da ferramenta! 😉
Pois bem, a pasta System32 é e quase sempre foi o “diretório do sistema” padrão do Windows. Independentemente se o Windows é 32 ou 64 bit, quando algum programa pergunta pra ele qual é o “diretório do sistema”, a resposta é “C:\Windows\System32”.
Porém, quando o Windows é 64 bit, tudo que está lá dentro do diretório System32 também é 64 bit!
Nossa, e como o Windows faz pra conseguir rodar aplicações 32 bit se tudo lá dentro é 64? Por isso que foi criado um diretório alternativo para o que é 32 bit 🙂 …mas chamado SysWOW64 🙁
A ideia da MS foi criar um diretório “Windows on Windows64”, por isso o nome. E por isso a confusão também!
Por debaixo dos panos, quando um EXE 32 bit solicita o “diretório do sistema” ao Windows, ele entrega o caminho “C:\Windows\System32” mas que na realidade está apontando para “C:\Windows\SysWOW64″…. uma espécie de redirecionamento inteligente. Só esqueceram de seguir este princípio da inteligência no nome da pasta! =)
Enfim, se você pesquisar mais a respeito vai encontrar os artigos técnicos com mais detalhes, mas por agora o importante é saber que no Windows 64 bit, DLL’s 32 vão na pasta 64 e as DLL’s 64 vão na pasta 32. Eita!
E aí?! Você já sabia disso? Pelo sim ou pelo não, compartilhe! Com certeza alguém vai ser ajudado! 😉
Kelver….essa foi BIG…eu nem imaginava isso. Ontem, tive problema com isso. Agora entendi o motivo de não funcionar um driver que estava instalando.
hehehe… a gente vai pela “lógica” dos nomes e nem desconfia, não é?! Obrigado pelo feedback, Júnior!
Puxa, até agora não sabia disso! Valeu.
O problema é que o programa REIMAGE considera o SYSWOW64 como um virus e recomenda ser deletado. Está certo?
Estranho, amigo! Isso não é normal. A não ser que exista um executável na sua máquina chamado SYSWOW64, isso realmente não existe (ou pelo menos não me lembro de existir… rs). Agora o diretório é comum e, em situações normais, seguro =)
Nem eu não sabia! Meu windows 10 é 64 bits, então, vou usar a lógica invertida… hahahaha
Hehehe… Pois é! Um abraço!!!