In my previous blog I talked about how in Visual Studio 11 we have eliminated the need to convert your Visual Studio 2010 C++ projects in order to adopt the new IDE. The blog also mentioned that you can build your projects using Visual Studio 2010 compiler (tools and libraries) from within Visual Studio 11 using the multi-targeting feature. This means while you adapt to using the new compiler and while your 3rd party vendors provide you with binaries compatible with the Visual Studio 11 compiler (tools and libraries) you can leverage the new Visual Studio 11 IDE without disrupting your ship cycle. Just set the platform toolset property to v100 in the property pages (requires Visual Studio 2010 to be installed side-by-side with Visual Studio 11). Since no upgrade of your project file is necessary you can continue to load the project/solution in Visual Studio 2010 as well.
We have recently received feedback from a number of customers about the inability to build binaries that run on Windows XP with the Beta version of the Visual Studio 11 compiler and libraries. This is because the C++ compiler and libraries in Visual Studio 11 Beta leverages platform capabilities only available in Windows Vista and higher. However, if support for Windows XP targeting is important to you, then you can use Visual Studio 11 Beta’s multi-targeting capability described above in order to employ the Visual Studio 2010 compiler and libraries to build applications and libraries than execute on Windows XP. This enables you to enjoy the new features of the Visual Studio 11 Beta environment without sacrificing backward compatibly in your applications!
Yeah, or we could keep using VS2010 and just not buy an upgrade we can't use. Or we could switch to a third party compiler... One of those which actually produce executables which run on Microsoft's operating systems...
Really, this is beyond stupid.
I can absolutely understand why you'd want to phase out XP, and for consumer-targeted products, it even makes sense (if I can't get product X on my computer, it might encourage me to upgrade).
But VS, which is targeted at developers? Now developers are being squeezed because they can't ignore that a large proportion of their customers use XP.
I guess I should look on the bright side: there are virtually nothing new in the VC++ compiler *anyway*, other than this week's proprietary language extensions, so it's not really a big deal that we can't use it.
But honestly, blog posts like this just make me wonder what planet the VC team lives on. Do you seriously think we use VS because of the IDE? Do you seriously think you're offering us a good deal by telling us that we can upgrade the IDE, even if you force us to keep using yesteryear's compiler?
Or is some higher-up manager forcing you to write nonsense like this at gunpoint?
"We have recently received feedback from a number of customers about the inability to build binaries that run on Windows XP with the Beta version of the Visual Studio 11 compiler and libraries. This is because the C++ compiler and libraries in Visual Studio 11 Beta leverages platform capabilities only available in Windows Vista and higher. However, if support for Windows XP targeting is important to you, then you can use Visual Studio 11 Beta’s multi-targeting capability described above in order to employ the Visual Studio 2010 compiler and libraries to build applications and libraries than execute on Windows XP. "
We're not asking to be able to upgrade to the latest IDE while being able to target XP, we're asking to be able to update to the latest compiler while being able to target XP. The ability to use multi-targeting with the 2010 compiler was brought up as soon as the requests started coming in. If it hasn't been enough for the last 9 months, why do you think it will be enough now?
There is exactly one statement that I want to hear from the VC++ team right now:
"You will be able to target Windows XP in Visual Studio 11 using the Visual Studio 11 compiler and libraries, and we will continue to support it in the compiler until after Windows XP is no longer a supported product."
Anything else makes Visual Studio 11 useless to me. We simply can not drop support for Windows XP before Microsoft itself does so.
"This enables you to enjoy the new features of the Visual Studio 11 Beta environment without sacrificing backward compatibly in your applications!"
That assumes that the thing you most care about is the Visual Studio 11 Beta environment, and not the VC11 compiler and libraries. You know, the thing that provides more C++11 compliant features and so forth.
Sorry; not good enough. The IDE's nice and all, but if you're not going to support XP in VC11, then there's no point in upgrading at the present time.
It's far more likely people would want to keep using the old IDE and the new compilers, not the other way around. The new IDE sucks.
Hahahaha, what a joke. Please delete that blog post, you're only going to get negative replies.
Developers care more about the compiler and not the IDE. They want the new compiler to generate executables that run on XP.
As per the comments above - I have developers here asking when they can use the new compiler for the C++11 language and library features, and I'm having to tell them that they'll be stuck with the small subset of features in the VC2010 compiler and libraries for another 3 years until our clients upgrade. 75% of our clients are still on XP.
I hate to jump on the criticism bandwagon, but this blog post demonstrates that you have just not been listening to the developer community.
VS 11 has some very appreciable features, not the least of which is (finally) .NET IntelliSense for C++. Another useful feature is the Search box in the Solution Explorer that searches code symbols, not just file names (again, C++ is (finally!) a fully supported language in this feature).
However, all these nifty features don't collectively comprise a compelling set of features to drive an upgrade.
For us devs with the requirement to write apps that run on XP (most of us), writing VS 11 code isn't an option, because it won't compile in VS 2010. It's an annoying trap to code in VS 11, then go back and test compile with VS 2010, and find out I used something that isn't available in VS 2010, so I have to rewrite it to be 2010 compliant. VS 11 doesn't actually catch that until compile time.
If I'm going to be limited to VS 2010 code, I might as well continue to use VS 2010.
We have ~15,000 desktops globally upon which our software runs on within close to 1000 financial institutions. The desktop OS decision is something our clients determine not us. While XP is supported we have zero leverage in forcing them to change their standard operating environment platform. Only Microsoft can do this via stopping the support of XP which is currently announced as April 8, 2014. Until this date (or the installed XP base drops to low single digits), unfortunately we have to support XP just as you do. Currently the XP footprint is 76% of our client base (and this is a fairly good sample of XP usage across Financial institutions).This means until April 8 2014, Visual Studio 11 is next to useless unless this decision is re-thought.
The whole point of VS11 for many of us is C++11. You are trying to push C++ again and claim a "C++ renessaince", yet you are seriously hindering progress by dropping XP support. Why bother upgrade to VS11 if we can't use the most important changes it brings?
Improved IntelliSense and all that is nice, but what we really want is to be able to compile C++11 (ranged based for loop, atomics, threads, improved lambdas, ...) code that runs on XP SP3.
Multi-targeting is *useless*.
For the next release if VC++, you should leave out the compiler entirely! Invest all your resources to the UI.
Developers will surely upgrade in a heartbeat.
This is just ridiculous...
My guess is that VS11 will never support XP, No matter how much we complain. Decision have been made and it will not be changed. I can understand that they are trying to force out the usage of XP. But the problem is a lot of us still depend on it. I would very much like skip supporting it my self. But that will not happens for a long time. Problem is that XP is still good enough for a lot of customers.
But why not release an C++ update to VS2010 then, bring C++11 support to VS2010. You can even make it a paid update to justify the work cost it would require to create it. I guess a lot of us would buy it.
No need to update the IDE to support C++11. I can accept that the intellisense does not work for the new C++11 stuff.
Double-check - did you write the post on April 1st? No. :(
Why should VS11 not be able to compile for XP target directly? Is there any technical reason? For me any my company this could be a blocker for migration.
I think for this time I will remain with VS2010 + Visual Assist X configuration. I don't like where Visual Studio is going with every new release: it is slower, hangs often and over-bloated with useless stuff. Why when I want just to install VC++ environment I get tons of useless stuff that just occupy a lot of space and uses a lot of resources, I undestand that for development is need to have a decent computer, but not because IDE developers write bad and slow code. I have tried VS11 and I will not upgrade to it, because as native programmer there is no point in this, maybe is time to leave this ship (VS) and try to find a more democratic one...
The problem is not using multitargeting. This feature can be used even in VS2010.
The real problem is that VC11 supports many C++11 features and fixes many bugs.
If people could use old C++ compiler from VC2010 but with new C++11 features it will be good enough.
We want C++11 support but still supporting XP.
If it is so hard to add XP support for VC11, then backport fixes and features to VC2010 and create VS2010SP2 which will just update C++ compiler for new features.
From Ted's blog
"As you can see from the comments, many users simply will not adopt VC 11 because of its lack of XP targeting support. Whether the Visual Studio 11 tools run on XP is a whole other story. I don’t need the IDE to run on XP. What I need is the ability to use VC 11 (and all of its powerful new language features) AND still be able to target XP as a platform to deploy my apps to."