|Subject:||64-bit Server - with IIS in "32-bit mode" - Not Serving .aspx|
|Posted by:||Jeremy S (..@B.com)|
|Date:||Wed, 15 Jul 2009|
I'm a long-time asp.net developer who has been recruited to assist in
getting a new server to serve ASP.NET applications.
The facts as I understand them are as follows:
1. OS: Windows Server 2003R2 - 64-bit
2. IIS 6.0 running in 32-bit mode (I didn't even know this was possible
until today). Apparently this configuration decision was made buy some other
folks who were configuring the server to have IIS run a 32-bit PHP site.
Apparently they felt it was necessary to run IIS in 32-bit mode to make this
3. .NET Framework 3.5 is installed. When looking at the installation folders
under C:\Windows\Microsoft.NET\... it appears that the server has both
32-bit and 64-bit versions of the .NET Framework installed.
4. In IIS management console, the ASP.NET tab is missing.
5. In IIS management console, under "Server Extensions", there are two
entries for "ASP.NET" - one is listed as 64- bit, and the other is not
(presumably 32-bit). The 64-bit entry is "Permitted" while the other entry
6. There is only one ASP.NET Web site on this server - the site we are
trying to work with here. The only other Web site on the server is the php
site described above. It works just fine.
The IIS Web site we created [for the ASP.NET application] serves up .html
files just fine (of course IIS is doing that). But it chokes on requests for
..aspx files - specifically stating that the requested page could not be
found. So I manually updated the .aspx - to - aspnet_isapi.dll mapping to
use the version [of the dll] located in the 64-bit .NET Framework folder.
Prior to me getting involved, it had been mapped to the 32-bit .NET version.
Upon making this change (map to 64-bit .NET isapi), we no longer receive the
"page could not be found" error, but we get an incredibly cryptic message
"%1 ... " message in the browser (forgive me, it was several hours ago that
I saw this at work and have forgotten the rest of that cryptic message - in
any case it offered absolutely no obvious clues as to what the problem now
In any case, I'm wondering what to try next. Please check my thinking on
this and offer any suggestions:
Being that IIS is apparently running in some "32-bit compatability mode" I
am thinking that I should do this:
1. in IIS management console, go to the "Server Extensions" dialog and deny
the 64-bit ASP.NET and permit the 32-bit ASP.NET.
2. Update the script maps to map .aspx, .asmx, etc extensions to the
aspnet_isapi.dll in the 32-bit .NET Framework installation folder.
If I do the above, then we would have IIS in 32-bit compatability mode, with
..aspx etc mapped to the 32-bit aspnet_isapi.dll, and the Server Extensions
configured to permit the 32-bit ASP.NET rather than the 64-bit ASP.NET. With
these "planets" all in alignment I'm thinking this should work.
When I get to work in the morning I"ll give the above a whirl. If it does
not work, then what should I be looking for?