evildictaitor, you're extremely arrogant and your logic is flawed. Your arguments are of no value, because most people know the exact reasons why the CRT does not run on XP. XP IS NOT TOO OLD.

1. The new CRT uses only a handful of WinAPI functions that are available on Vista+. Those functions, however, do not provide any real benefits over the pre-Vista alternatives. It seems as if some manager just told the developers to randomly use a few newer functions that are not available on XP.

2. The CRT can be made to run on XP. And it can still take advantages of the no-real-benefit functions when on Vista+ via GetProcAddress. Damn, you could even provide 2 CRTs if GetProcAddress is an issue (but it's not as the new CRT still uses it).

3. Modifying the CRT to run on XP is a very simple process. If it takes a single Microsoft employee more than a few hours, then that person is just incompetent. But surely the reasons are the high managers making their weird decisions. I just hope no one comes up with a stupid "no resources" argument.

4. Developers already run Windows 7, most likely. They don't care if VS11 runs on XP or not. However they do care if the executables created with VS11 run on XP, because a high percentage of the customers of those developers are still running XP.

5. If VC++11 RTM generated executables (using the new toolsets!) won't run on XP, then developers just won't  buy VS11. There are alternatives, MinGW. At this point Microsoft can say bye bye to their plan of having the developers force their customers to upgrade.

6. The speed of the upgrade process among regular users will not increase. However there will be no VS11 sales among C++ developers. So it's a lose-lose decision for Microsoft.

 

Whoever at Microsoft thought that making VS11 generated executables not run on XP will bring them in more money, please go back to business school.