Resumo executivo
A Microsoft faz as coisas de trás para frente, e este é mais um exemplo disso. System32
é o diretório do sistema Windows 64-bit e SysWOW64
é o diretório do sistema Windows 32-bit - totalmente ao contrário do que os nomes dos diretórios sugeririam .
Detalhes
No Windows, há um diretório "Windows" e um diretório "System", e isso é verdade desde que o Windows tinha 16 bits.
Os programas do Windows são supostos para localizá-los usando as funções da API do sistema, como SHGetKnownFolderPath()
e GetSystemDirectory()
; e se todos tivessem feito isso, o mundo seria bem diferente neste momento. Mas muitas pessoas tolamente conectou o nome real do diretório, \Windows\System32
, em seus programas e, em seguida, portou esses programas do Windows de 32 bits para o Windows de 64 bits. Como consequência, muitos programas estavam procurando por executáveis e bibliotecas 64-bit no diretório \Windows\System32
, cujo nome eles tinham programado. (Ironicamente, houve o mesmo problema ao migrar do Windows de 16 bits para o Windows de 32 bits. O diretório" System "de 16 bits era \Windows\System
, geralmente .
Assim, as pessoas da Microsoft optaram por tornar \Windows\System32
o diretório que nativo , programas Windows de 64 bits localizariam os executáveis e bibliotecas de 64 bits, e, desde programas de 32 bits executados em cima de uma camada de correção de qualquer maneira no Windows de 64 bits , acessa o diretório" Sistema " por programas de 32 bits são redirecionados para um novo diretório \Windows\SysWOW64
.
Daí a situação bizarra que agora se obtém.