I don't know about vista. I never used it. I just moved from XP (32 bit) to Windows 7 Ultimate (64-bit). I was expecting c:\windows\system64 directory similar to c:\windows\system32. Why is still entire system is located in system32? Why isn't there any system64 directory?


Backwards compatibility reasons. A whole lot of applications assume things they shouldn't assume and hard-code paths. And yes, that includes 64-bit applications. So on 64-bit Windows the folder system32 actually contains the 64-bit versions of DLLs. For the 32-bit DLLs there is the folder SysWoW64 which is what 32-bit applications see as system32.

  • 3
    Um, they didn't exactly worry about backwards compatibility when they created the system32 folder. Yes, the older system folder still exists for any old programs that relied on it, but they created the new one anyway. I don't see why they could not do the same here: leave the system32 folder for any old programs that use it, and have the new stuff go in system64. – Synetech Jun 27 '12 at 17:48
  • The break from 16-bit to 32-bit Windows was much larger than the one from 32-bit to 64-bit Windows. – Joey Jun 27 '12 at 18:26
  • That just reinforces what I said. If going from 16-bit to 32-bit was so program-shatteringly problematic and worse than 32-64, then wouldn't they have had to keep using the system folder instead of creating a new one? If they managed to create system32 in the face of such backward-compatibility challenges then, then why did they "wimp out" with the less challenging migration to 64-bit? – Synetech Jun 27 '12 at 18:42
  • If the changes are not that drastic programmers tend to be careless. If you have to adapt to a whole new programming model and API (remember that 16-bit Windows was preemptively multitasked, so programs had to yield control every now and then by themselves) then you might as well change some other core parts of the system, e.g. certain system folders. – Joey Jun 27 '12 at 20:22
  • 1
    So basically, you are saying that they were essentially lazy and didn't bother because they could get away with not doing so? If that's true, then I suppose it has the benefit of avoiding breaking things that are working by avoiding unnecessary change. On the other hand, it also breaks consistence which is definitely useful for complex systems (in fact, making inconsistent exceptions like this adds to the complexity of the system). – Synetech Jun 27 '12 at 20:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.