VS2012: msvsmon.exe doesn't run on Windows XP - by johanericsson

Status : 

  By Design<br /><br />
		The product team believes this item works according to its intended design.<br /><br />
		A more detailed explanation for the resolution of this particular item may have been provided in the comments section.

Sign in
to vote
ID 759435 Comments
Status Closed Workarounds
Type Bug Repros 7
Opened 8/24/2012 9:46:14 AM
Access Restriction Public


I'm trying out the remote debugger in VS2012: msvsmon.exe. It won't run on Windows XP client machines. I get the error message:

msvsmon.exe is not a valid Win32 application.

Looking at depends.exe shows that msvsmon.exe uses some APIs that only exist in Windows Vista and later (such as CancelSynchronousIo).

I understood that we would have support for Windows XP clients in VS2012 RTM from this blog post that says that:

Enhancing Multi-targeting 
Later this fall, Microsoft will provide an update to Visual Studio 2012 that will enable C++ applications to target Windows XP. This update will make the necessary modifications to the Visual C++ 2012 compiler, runtime, and libraries to enable developers to create applications and DLLs that run on Windows XP and higher versions as well as Windows Server 2003 and higher. 

From here: https://blogs.msdn.com/b/vcblog/archive/2012/06/15/10320645.aspx 

Is this update comming later? What is the story for Windows XP support in VS2012?
Sign in to post a comment.
Posted by Pavel A on 7/9/2014 at 6:37 AM
If WinXP is supported as target, debugging on this target should be supported too.

This nuisance is by design? Get another designer! (yes, like with Win8 GUI).
Posted by Peter Pressacco on 7/24/2013 at 5:26 AM
Our organization is facing a similar problem, whereby, you can't use Visual Studio to remotely debug an application.

- Application: C# (using .Net Framework 4)
- Development Environment: Visual Studio 2012 (SP2)
- Target Operating System: Windows Embedded Standard (SP3)
- Target Hardware: Intel Atom CPU N270

Launching the remote debugger on the target operating system results in the following error:
"msvsmon.exe is not a valid Win32 application"

Interestingly enough, this configuration did work when the target operating system was Windows Xp Embedded.
Posted by Dave [MSFT] on 5/8/2013 at 4:19 PM
Hello Eran,
Sorry Marc and I missed your reply a few months ago. Let me try to re-phrase what Marc wrote. He was trying to have you understand that you can build with Visual Studio 2012 and target WinXP, but when you go to debug you need to use Visual Studio 2010. Not an ideal circumstance, but it should leave you unblocked.

Posted by Eran Davidi on 2/2/2013 at 1:21 PM
Hi Marc,

Thanks for the response.
From what I understand I will not be able to use C++ 11 and v110_xp toolset new features if my program needs to support windows XP, Because if I will have to debug on the XP machine I will have to do it with VS2010 that doesn't support those features. (Just for clarification my programs support Windows XP, Vista, 7, 8 and we are using VS2012 Ultimate edition)

Posted by Marc [MSFT] on 1/30/2013 at 3:27 PM
Hey Eran,

The guidance we've been giving people is to use VS 2010. If you have pro+, you can do remote debugging of the pre-built binary. If you only have express, you'll have to install VS 2010 c++ express locally on the XP box. You can then copy the files onto the machine, open the .exe using file->open project. At that point, you'll have a project that targets a prebuilt binary and you can hit F5. The steps are similar for using pro+ to do remote except you have to change the project properties to target the remote machine and install the vs 2010 remote debugger.

We understand that this is not your preferred solution and apologize for the inconvenience.

Posted by Eran Davidi on 1/30/2013 at 11:54 AM

If I have an application that is compiled with VS2012 with toolset v110_xp how can I debug application on XP or Vista client since VS2012 Remote Debugger doesn't run on those OS.

Posted by Marc [MSFT] on 1/28/2013 at 10:34 AM
Hello Noam,

Unfortuantely, we made breaking changes in the debugger between 2010 and 2012 so the 2012 VS client cannot connect to the 2010 remote debugger. Sorry for the inconvenience.

Posted by NoamB on 1/27/2013 at 5:46 AM

I am trying to remote debug application that was build on VS2012 on windows XP with VS2010 remote debugger and VS2012 says it can't connect to vs2010 remote debugger. Is this scenario even possible?
Posted by Marc [MSFT] on 9/10/2012 at 5:09 PM
Hello Johan,

Thanks for your feedback. At this time, while we are working on adding support for building c++ applications targeting XP, we do not have plans to support remote debugging. Our guidance will be to use VS 2010 to remote debug your application built in VS 2012 if there are issues you need to debug on XP.

The only public information we have posted on a release timeframe is in the blog post you've already read that says fall. I do not have more information than that which I can share.

Marc Paine
Visual Studio Debugger QA Lead
Posted by Justin_H on 9/6/2012 at 4:56 PM
Please tell me this is a bug and will be fixed. I've reverted back to visual studio 2010 because of this.

Please note the same error occurs on windows 2003
Posted by Microsoft on 8/26/2012 at 10:37 PM
Thanks for your feedback.

We are rerouting this issue to the appropriate group within the Visual Studio Product Team for triage and resolution. These specialized experts will follow-up with your issue.
Posted by Microsoft on 8/24/2012 at 9:50 AM
Thank you for your feedback, we are currently reviewing the issue you have submitted. If this issue is urgent, please contact support directly(http://support.microsoft.com)