Question

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.

Was it helpful?

Solution

Have you tried running:

aspnet_regiis -i

from the command line?

OTHER TIPS

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

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;

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.

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 Files\test.txt (without quotation marks), so Notepad++ thought I was trying to edit a file called "C:\Program" and created the file for me.

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top