Project stopped running at Windows XP (32-bit) - vb.net

I'm developing an application for a friend. I use Visual Basic 2012 (64-bit) and Windows 7 (64-bit).
I took a demo down to him to try it out to see what more features he wanted, and it was running ok.
When I got back the next week after implementing the new features, it refused to run on any of his Windows XP (32-bit) machines.
Error code:
MyApplicationName.exe is not a valid Win32 application
I tried it at a computer running Windows 7 (32-bit) which still worked all fine.
So, any ideas why it suddenly stopped running?

VS2012 will not generate an EXE that can run on XP when you use the default project settings. What matters is the .NET Framework version you target. If that's version 4.5 then there are two problems.
First one is that .NET 4.5 is not available for XP. Second one is important for this exception message, the compiler will mark the version of Windows that's required to run the EXE in the file header. That version number has always been set to 4.00. Until VS2012, it is now set to 6.00, the version number of Vista. XP will instantly reject your EXE with the "is not a valid Win32 application" message, even before it will tell you that it doesn't have .NET 4.5 installed.
Fix your problem by targeting .NET 4.0 or earlier. Project + Properties, Application tab, Target framework setting.

Try using corflags with /32bit+ and see if it works.
More information:
http://msdn.microsoft.com/en-us/library/ms164699.aspx

Related

UCMA 6.0 App built for X64 works on 1st laptop, fails on 2nd laptop with: System.IO.FileNotFoundException: . . . 'SIPEPS, Version=7.0.0.0

Built a UMCA 6.0 APP on Laptop 1 with platform target set to x64 and framework target set to .Net Framework 4.8. Laptop 1 is X64 based CPU running Windows 10 Enterprise. Application runs as designed.
Copied the executable and DLLs to Laptop 2, where UCMA runtime and .NetFramework 4.8 were installed. The process also required installing Visual C++ 2015-2019 redistribution. Got the infamous SIPEPS error message.
Copied the project directory (source code, project file, etc.) to Laptop 2 and rebuilt the app after doing a clean. Confirmed project properties included X64 and .Net Framework 4.8. Build was successful 1st time. Ran the app and still getting the SIPEPS error message.
Both laptops are Dells with i7 cores. Using VS 2017 for build. Need to have a backup machine for this app. If the primary fails - we are dead in the water.
You must uninstall all Visual C++ releases greater than 2013 before UCMA 6.0 will properly install. I also did a repair of .Net Framework 4.8. Installed UCMA 6.0 before anything else and that seems to have addressed this particular issue.
Now its on to a new issue: "Recorder cannot start due to I/O Error."

.NET framework, Windows XP

We have built an app with Visual Studio 2012 and it runs beautifully on any Windows 7 or Vista machine, 32 or 64 bit. However, when I try to run the app on an Win XP machine, I get this:
**
Prerequisite check for system component Microsoft .NET Framework 4.5
(x86 and x64) failed with the following error message:
"Installation of the Microsoft .NET Framework 4.5 is not supported on
this operating system. Contact your application vendor."
**
And then of course, when I try to install .NET 4.5 on the Win XP machine, I find out it's not supported.
At this point, I'm just wanting to know what can be done to get this app to run on Win XP. It's a calculator application written in visual basic.
Thanks Guys!
.Net framework 4.5 is not supported in Windows XP. If you're not using any .Net 4.5 features you can rebuild your app using .Net Framework 4 (In the Project properties).
I always hate these kind of answers, but a quick google search indicates that you can't get .net 4.5 to run on Windows XP.
IF you really really need your application to run, you can always use earlier versions of the framework
you can do this by
Right click on your project and go to
properties
application
target framework
and change that to something elxe

Targeting .NET 4.0 in VS 2012 on Windows 8

I just installed VS 2012 Ultimate RTM on Windows 8 Pro RTM and tried to open a solution containing several projects (class libraries and WinForms) targeting .NET 4.0.
When the solution is loaded, VS prompts that .NET 4.0 isn't supported. It gives me the chance to update my projects to 4.5 (and promises that I could change the target later) or install a "Multi targeting pack" for 4.0 from this page.
I decided to update my projects to 4.5 because I had no luck installing the offered Multi targeting pack (errors see below).
Unfortunately, VS does not show 4.0 as a target by default (when changing the target for an updated project), but redirects me to the page where I can download the Multi targeting pack.
So far so good, but I wasn't able to install any of the offered downloads (neither runtime nor targeting pack) again.
The error message says in case of .NET Framework 4.0.3 Targeting Pack:
Setup has detected that this computer does not meet the requirements to install this software. The following blocking issues must be resolved before you can install KB2600213 software package.
Installation Requirements:
Microsoft .NET Framework 4 Multi-Targeting Pack was not found. Please repair your installation for Microsoft Visual Studio 2010 in order to get this update.
Strange enough since I have no VS2010 installed.
.NET Framework 4.0.3 Runtime Installation stops with the following error:
KB2600211 does not apply, or is blocked by another condition on your computer.
I've checked that .NET 4.0 is installed (using the .NET Installation verification tool), I've tried to repair VS2012 but nothing let me target .NET 4 and the Event log does not contain any related reports. Any suggestions or hints (besides going back to Win7/VS2010)?
I'm honestly not sure what's going on. I have VS 2012 Ultimate RTM and all versions of .NET are supported.
I'm almost positive I never installed any .NET frameworks manually, though I did install Visual Studio 2010 Express for Windows Phone from http://create.msdn.com.

How to compile a program under windows vista that runs on windows 7 / VB 2010

I have created an application with VB 2010. My computer runs under Windows Vista. I created the .EXE file as well; simulated an installation and everything works fine. But when I try to install the application in a computer that runs under Windows 7, I get an error message and the application won't install. How can I get the application to run under Win7?
You want to be sure you have the .NET Framework installed on the PC, since VB.NET (and C#, etc.) use the .NET Framework to interact with the CLR, which is not included with Windows by default.
You can either set-up your installer to install the .NET Framework on its own or download the framework separately.

Running .EXE file made in visual studio 2005 failure

I would like to run a .exe file made with visual studio 2003 but I get an error every time I run it on a windows 7 machine, vista machine, and xp machine. The error on Windows 7 and vista says "application has stopped working" and then makes me close the error box.
In windows xp it's a little different error, "the application failed to operate (0xc0000135) Click on OK to terminate the application."
That error code seems to indicate the application failed to initialize correctly.
It is possible that the anticipated .NET version is not present.
As far as I know, VS 2003 by default compiles against the .NET 1.1 library. There is no straightforward way of installing this on a Windows 7 or Vista box. Do you need to compile it against the .NET 1.1 library, or can you load it in VS2005, change the output .net version to 2.0 or higher, and recompile the application?
If you have the source code to the application, try running the application in debug mode and stepping through line by line until you find the exception. If you do not have the source code, possibly try running the application in a couple different compatibility modes. Another option to try is to check the windows event log for anything more specific.
If you want to get really deep into it, you can use SysInternals ProcMon.exe and filter on the failing exe to view the WinAPI calls that are happening during the failure.
Also, a basic search of forums shows that error is usually accompanied with framework issues. Either recompile the application or check out what your required framework is in the VS2003 project settings.