2

I've wondered this for a while. I personally think that System32 would make sense to be the 32 bit Windows OS. But when you have a 64 bit Windows OS, the file system is still called System32. Can anyone explain to me why this is and why Microsoft does it this way?

2
  • Possible duplicates of Why do 64-bit DLLs go to System32 and 32-bit DLLs to SysWoW64 on 64-bit Windows? "the intent was to rename System32, but so many applications hard-coded for that path, that it wasn't feasible to remove it"
    – phuclv
    Jul 21, 2015 at 4:22
  • This quote is a little crazy though. Old legacy apps with hard coded paths would never work with 64bit dlls nor do they see system32 as system32. WoW64 prevents that. So basically the reason would be if you hard code the path and then compile the same code twice once as 64bit and once as 32bit executable. Why this is assumed to be a case that occurs a lot I don't know because people that are too lazy to use variables would never compiule for 64bit anyway imo.
    – Syberdoor
    Jul 21, 2015 at 7:25

1 Answer 1

1

Backwards compatibility.

When Microsoft released the first 64 bit OS, the only 64 bit programs came with the OS. Since MS Office hadn't been updated, the OS needed to support the 32 bit programs. Since the installation of MS Office expected system files in \$Windows$\system32, the directory needed to remain.

5
  • 5
    It's not for MS Office. It's for a lot of other codes that use hard-coded paths. Moreover 32-bit libraries (like MS Office's) will go into SysWOW64, which the Office install didn't expect, so your answer is incorrect. The paths in 32-bit programs will automatically be redirected by the emulator. 64-bit programs will use system32
    – phuclv
    Jul 21, 2015 at 4:37
  • @LưuVĩnhPhúc Why would they put 32 bit code in a folder named SysWOW64 and put the 64 bit code in System32?
    – LDC3
    Jul 21, 2015 at 5:06
  • Didn't you read the links in the question comments? It's for backward compatibility. A lot of legacy codes have "\\system32" hardcoded, so MS decided to leave 64-bit libraries in system32 so code can be recompiled for 64-bit Windows without modification. It's not because only MS Office expects the things in system32
    – phuclv
    Jul 21, 2015 at 5:44
  • @LưuVĩnhPhúc Sorry, I didn't see your comment above.
    – LDC3
    Jul 21, 2015 at 5:50
  • That makes sense. I read through your answer and the duplicate question and I can see why it still remains System32 vs System64.
    – orias
    Jul 21, 2015 at 12:16

Not the answer you're looking for? Browse other questions tagged .