Why do 64-bit DLLs go to System32 and 32-bit DLLs to SysWoW64 on 64-bit Windows?

I would like to know when do we need to place a file under

C:\Windows\System32 or C:\Windows\SysWOW64, on a 64-bits windows system.

I had two DLL’s, one for 32-bit, one for 64-bit.

Logically, I thought I’d place the 32-bit DLL under C:\Windows\System32, and the 64-bit DLL under C:\Windows\SysWOW64.

To my surprise, it’s the other way around! The 32-bit one goes into C:\Windows\SysWOW64, and the 64-bit DLL goes into C:\Windows\System32.

Very confusing stuff. What’s the reason behind this?

5 Answers
5

Leave a Comment