Application.exe is not a valid Win32 application error

ConfusedSleepyDeveloper picture ConfusedSleepyDeveloper · Oct 9, 2014 · Viewed 18.3k times · Source

I have written a Console application that client is trying to run it on their Windows Server 2003 R2 machine machine and they get that error message.

If I go to Build -> Configuration Manager all my projects are set to Platform of "Any CPU" and Configuration of

"Release"

What else I might have missed? They don't want to actually run the console application by double clicking on it, they want to give it to the Windows schedules tasks so it can pick it up and rn it on certain times

Answer

Hans Passant picture Hans Passant · Oct 9, 2014

Starting with .NET 4.5, the compiler generates an EXE that's marked to be compatible only with Windows version 6.0 and greater. Vista and up. Such an executable will fail to run immediately when started on XP and Server 2003, they are Windows versions 5.0. You get this error before it can tell you that .NET 4.5 isn't installed on the machine.

You must target .NET 4.0 or less. Same requirement on any DLLs you have a dependency on, including unmanaged ones. More about this in this post.