• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 4788
  • Last Modified:

Visual Studio 2012 VB.NET program that will run on XP as Win32 app

Hi Experts,

I have developed an app in VB.NET using Visual Studio 2012 Professional.  It runs fine from my Win7 x64 laptop (where it was developed) talking to SQL2005 on a Win2003 server.  It also runs fine when installed on the production Win2008 server running SQL2008.  However, it now needs to be installed on some WinXP client PC's for connection to the SQL2008 on Win2008 server.  Therein lies the problem.  

I am not "publishing" the app, but rather just copying the project \bin folder containing the .exe and other files.  When I do this on an XP box, I always get an error "<progname> is not a valid win32 application".  We have tried several different XP machines with no luck.  

I found some articles referring to a utility called dumpbin.exe, but none of the four versions I found on my laptop will run on XP (yep, not a valid win32 app).  

I have tried to research this on Experts-Exchange and Google, but have not come up with much.  The ability to target XP with your executable seems to have been removed by Microsoft in VS2012, but then added back if you work in C#.  But I use VB.  I did find the place in my project properties where you select target CPU and experimented with different settings.  The choices are "any cpu", "x86" or "x64", and there is also a checkbox for "Prefer 32-bit", but no winning combination to have it actually run on XP.

I am concerned that I will need to redevelop my project in an earlier version of Visual Studio, or perhaps even develop it on an XP platform.  I can get resources to do that if necessary, but don't want to give up just yet.

I use just a fraction (but growing) of the capabilities of Visual Studio 2012, but am not sure exactly where to go from here.  I almost always get the answers I need from searching EE, but not so this time.  Perhaps I'm closer to the cutting edge than usual.

Thanks in advance for all suggestions and help!
4 Solutions
käµfm³d 👽Commented:
With .NET, you don't target a version of Windows; rather you target a version of the Framework. Is the .NET Framework installed on the machines you are trying to run this application on? You need whichever version you targeted in your application to be installed on the target machine.

Windows 7 comes with .NET pre-installed, and Visual Studio will install a couple of versions during setup, so this is probably why you had no trouble on Win 7.
I'm looking on ms site :

vs 2012 is fully compatible with xp
just need to install  framework 4

framework 4.0

You just need to install .net framework 4.0 on your XP machine.
Your project is created in VS 2012 which runs on 4.0 and your XP machine probably doesn't has it. Different frameworks situation is a conflict.

Let me know if anything.

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Éric MoreauSenior .Net ConsultantCommented:
if you created a brand new project with VS2012, you are surely targeting the .Net Framework 4.5 which cannot run on XP (as per http://msdn.microsoft.com/en-us/library/8z6watww.aspx).

You will need to open the properties of your project and target 4.0 or lower.
tomwalker1949Author Commented:
Sorry for dropping off the radar for the holiday -- good suggestions, all.  I will be onsite where they are trying to implement the project tomorrow morning -- I'll install .NET Framework 4 on the XP clients, recompile the program to target that environment, and give a report later tomorrow.  Thanks!
tomwalker1949Author Commented:
Sure enough, VS2012 defaults to .NET 4.5 which will not run on XP.  I re-targeted my project to .NET Framework 4, re-did the project build to get a new executable, made sure that the XP box had .NET 4 installed, and poof ... everything worked.  You guys are awesome -- thanks!
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Train for your Pen Testing Engineer Certification

Enroll today in this bundle of courses to gain experience in the logistics of pen testing, Linux fundamentals, vulnerability assessments, detecting live systems, and more! This series, valued at $3,000, is free for Premium members, Team Accounts, and Qualified Experts.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now