Recently, some of our customers reported a bug in Visual Studio 2012 Update 2 that breaks Windows XP targeting with C++ in some scenarios. Specifically, applications using ATL and/or statically linking with MFC will get the following error when run on Windows XP:
"The procedure entry point InitializeCriticalSectionEx could not be located in the dynamic link library kernel32.dll."
This issue has been fixed in Visual Studio 2012 Update 3 RC1. If you encounter this issue, please download and install this update.
How did this make it out of QA? Were there no test cases that covered XP with ATL and/or static MFC, or was there a process failure?
I'd like to echo John's question. A lot of people are relying on XP targeting - please don't treat the feature as a second class citizen.
The C++11 November CTP features won't even make it to update 3. :D How pathetic.
"Install a beta update to fix a bug in the released update."
How about no. Apply the fix to the release version and provide a real update.
Also, just to mention.... Clang is already implementing C++14.
Just so everybody knows, if you plan to revert to Update 1 instead of going ahead with pre-release Update 3, you're probably going to break your VS install.
Does this Update 3 RC1 have a go-live license? The other Update 3 prereleases didn't and were thus not a feasible workaround for this problem.
@Lars From the Statement of Support for RC3
"Visual Studio 2012 Update 3 RC and Team Foundation Server 2012 with Update 3 RC are “go-live”. "
@John, Richie Hindle
We took a look at our process and test cases and made changes to avoid this in the future.
It is a release candidate :)
We would love to hear more feedback around C++ 11 and your experiences. Ping me at email@example.com!
"It's not a bird! It's a _vulture_."
Point is, this "fix" is pretty lame.
I just tried this with my app and now the xp system says the msvcr110.dll is not a valid windows image. Update 3 did not updated the dlls in my vs redistributables directory, they are still dated from 11/2012.
It might be that the redistributables are deliberately left unchanged; I don't think it's wise to make pre-release software redistributable.
== email me!
Proper language please Eric.
Perhaps the reason it snuck through is due to the misuse of WINVER as mentioned in this older post: blogs.msdn.com/.../10282397.aspx
Eric Battalio, well what more feedback do you need about C++11? The feedback is that we want to see C++11 implemented. And we would have expected that the November CTP features would at least make it to VS Update2, but now they're not even making it to Update3. And while you're struggling to implement C++11, Clang has finished doing that and is already picking up the next C++14 standard.