Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

From what I understand of it, the architecture hasn't changed as much as it did from 16 bit to 32 bit so why do we need XP mode and the like to run 32 bit apps in Windows 7 64 bit?

Or have I understood it wrong?

share|improve this question

3 Answers 3

up vote 15 down vote accepted

it can run 32 bit programmes fine. It can't run 16 bit programmes.

XP mode is a bit of insurance - if a particular software won't run on 7 (32 OR 64 bit - xp mode is available for professional edition and up on both) then you can run it in XP mode. This hasn't happened to me yet, but its probably for the 'you can take XP from my dying hands' crowd.

In most cases, compatibility mode will do tho

share|improve this answer
    
Dang! I had trouble running some apps like visual studio 6, guitar pro etc and all the search lead me to win xp mode without really telling why. Thanks a ton! –  Oscar May 4 '11 at 14:00
2  
Some apps will complain but there's no reason in theory that you can't run 32-bit apps. –  Shinrai May 4 '11 at 14:22
    
@Oscar VS6 requires MS Java. –  kinokijuf Feb 1 '12 at 11:07

I hope this sheds some light on incompatibilites:

Microsoft decided to tighten up on the kernel with the 64-bit versions. Device drivers have the same level of access to hardware as the kernel, so some specific things that were changed in 64-bit versions in the name of security are:

  • Drivers must be signed by Microsoft to load.
  • I don't know if technically 32-bit drivers can work with a 64-bit kernel (unlikely) but Microsoft isn't signing new 32-bit drivers with the key the 64-bit kernel wants. So all existing XP 32-bit drivers will not work on 64-bit Vista/7.
  • Drivers cannot overwrite or patch the kernel.

Microsoft also switched to a new video display driver model (LDDM), but did keep the old one (XDDM). XDDM, the old model, doesn't support Aero.

Some programs load customized device drivers on the fly to accomplish their tasks. These will defintely not work on Vista/7.

Microsoft updated quite a few components in Vista/7. This could mean a change in the undocumented behavior of those components. Programs that rely on bugs within these components, or undocumented DLL functions would have an issue as well.

share|improve this answer
    
+1 for the insight about 32bit and 64bit Windows drivers. I have some old audio hardware (SW1000XG,UR-80) that will only work on my 32bit install of Windows 7 but not my 64 bit install. It's a real shame because they are nice, classic kit. –  therobyouknow Nov 25 '11 at 15:02

32 bit programs should run just fine under 64 bit Windows.

XP mode is for programs that are incompatible with Windows Vista and Windows 7 of either flavour.

See this Ars Technica article for more information.

The issue really came to a head with the release of Windows Vista. Vista's compatibility with XP was very good, but it wasn't perfect. Microsoft did a lot of work on Vista to harden it against attacks (UAC, of course, but also other things, like prohibiting services from having user interaction), and together these modifications and improvements, along with more mundane stuff like updating the version number that Windows has, have conspired to break some old software.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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