13

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.

Adam Tuttle
  • 19,505
  • 17
  • 80
  • 113

6 Answers6

10

Have you tried running:

aspnet_regiis -i

from the command line?

JamesSugrue
  • 14,891
  • 10
  • 61
  • 93
  • 3
    After some Googling, I found that I have 2 copies of this exe, one in Windows\...\Framework\ and one in ...\Framework64\. Running the one in Framework64 says IIS is in 32 bit mode & not compatible, so I used the other one. Executed successfully, but now I don't even get the same error, just a 404. – Adam Tuttle Oct 09 '08 at 12:11
  • After a server reboot, I finally got the standard .NET error page, which led me to figure out that the folder needed to be defined as its own application in IIS. After I did that, everything seems to be working. Thanks! – Adam Tuttle Oct 09 '08 at 12:22
  • But for what it's worth, I still don't have an ASP.NET tab for any sites in IIS. – Adam Tuttle Oct 09 '08 at 12:23
  • 4
    From the command line? Do you mean specifically the Visual Studio command prompt? – Steve Pitchers Sep 03 '13 at 14:11
6

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

Razor
  • 17,271
  • 25
  • 91
  • 138
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;
2

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.

Juuso Ohtonen
  • 8,826
  • 9
  • 65
  • 98
1

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.

Pete Haas
  • 1,800
  • 1
  • 12
  • 15
  • Here is the explanation: https://stackoverflow.com/questions/16455855/exe-is-not-a-valid-win32-application-on-windows-xp/16460035#16460035 – Vadzim Dec 02 '17 at 18:28
1

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.

Jérôme Laban
  • 5,224
  • 3
  • 20
  • 17