How do I resolve “%1 is not a valid Win32 application”?

Environment:
Windows Server 2003 R2 Enterprise 64bit, SP2
.NET framework is supposedly installed (2.0 SP2, 3.0 SP2, 3.5 SP1)

I say “supposedly” because they are listed as installed under Add/Remove programs. I’m not sure it’s properly installed, because the “ASP.NET” tab isn’t added to any of the sites in IIS.

In the IIS Web Service Extensions section, I have both “ASP.NET v2.0.50727” (Allowed), and “ASP.NET v2.0.50727 (32-bit)” (Prohibited).

The site in question has script-execute enabled.

Problem:

I created a super-simple ASP.NET/C# website: Default.aspx with a label id=”Label1″, and a code-behind with: Label1.text = "Hello World"; and the error I’m getting is:

%1 is not a valid Win32 application.

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

Have you tried running:

aspnet_regiis -i

from the command line?

Method 2

Also check your application pool. In a 64-bit environment, you may need to set “Enable 32-bit applications” in Advanced Settings.

Method 3

I had “%1 is not a valid Win32 application.” error message because my PATH environment variable was messed up as well. It included this garbage from a python install:

%PYTHON_HOME%;
%PYTHON_HOME%Scripts;

Method 4

I had “%1 is not a valid Win32 application.” error message because my PATH environment variable was messed up. Well, more specifically, the PATH itself had nothing wrong with it. Instead, I had accidentally created a file named “C:Program” that was used instead of “C:Program Files” for path lookup.
The accidental creation of “C:Program” was a result of calling Notepad++ on the command line for C:Program Filestest.txt (without quotation marks), so Notepad++ thought I was trying to edit a file called “C:Program” and created the file for me.

Method 5

I had a similar error with IIS7 on Windows Server 2008 64 Bits.

The fusion log is not of any help here, and it turned out that in my case there was a third party assembly that was referencing a 32 Bits only assembly or native dll. (Xceed to be precise)

To find which assembly is being loaded by the 64 bits runtime :

  • Attach the VS2008 debugger on w3wp.exe process that matches your application pool
  • Intercept all exceptions (Menu Debug / Exceptions / check all “Common Language Runtime Exceptions“).
  • Make sure your application is reloaded completely (by modifying the web.config, for instance).
  • When the System.BadImageFormatException exception is raised, look for a assembly name in the stack trace viewer window.

Remember that all assemblies placed in the bin directory are loaded, regardless of their actual implication in the application.

Method 6

I had this problem. I deployed an .EXE to a Windows 2003 that doesn’t support .NET 4.5. I rebuilt the program with .NET 4 and it worked.


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x