Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have already read Difference between programs compiled for different OS. Now, I would like to know, why some apps run only on win 8 and others only on win 7 and others on both,...?

share|improve this question

closed as too broad by Xavierjazz, Kevin Panko, Tog, Dave, Dave M Dec 17 '13 at 13:44

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

If the OS allowed all apps to run on any version of old software they would never write new a OS due to supporting 'legacy'... This would mean no access to new technologies without addons/plugins/spagehtti code/technical debt etc. The architecture is fairly often re-written with OS to take advantage of it (Windows is now more commonly installed in 64bit for example). Do you think every latest computer game with the latest graphics/sound would work on Windows 95? Now think how unproductive it would be for the OS to still support it. – Dave Dec 17 '13 at 8:21
up vote 1 down vote accepted

It has to do with the subset of features that are available on the specified OS (Windows 7 or 8 for instance).

For example, if (as a programmer) I use the cool 'taskbar preview' functionality and add buttons to the taskbar preview of my icon, I'm using a specific set of programming instructions (known as an API). This API is only available for the system it was designed for. It really is not unlike the difference between programs compiled for different OS's.

That's one reason programs will only work for certain OS's (regardless if the OS is newer than the program or not).

Another reason is the programmer specifically compiled the program to only target one OS (this happens more than you might think). In this case, when the program is run, a certain flag would kick off and say 'not compatible with this version of Windows' or whatever the case may be.

There can be other reasons but the most common are the use of a very specific API or building the program specifically for an OS.

edit: forgot to mention that the OS itself can be programmed to 'not work' with certain other programs. There are a lot of games built for Windows XP that will work with earlier versions of Windows (2000 down) but simply will NOT work with Windows 7+. This can be because of various reasons (API/driver incompatibility for example) that Windows itself might 'block' for security/stability reasons.

share|improve this answer

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