ASP.NET 1.1 missing under IIS7 on Windows 2008 x64 server
In case you are wondering why ASP.NET 1.1 is not listed under the .NET framework version drop down box while creating a new application pool in IIS7 then you should read this blog.
This is what I am actually talking about…
So I assume that you have already installed .NET framework 1.1 and .NET 1.1 SP1 on the server but if you haven’t then here are the links to download the same. I am sure all of you might be knowing that Windows server 2008 doesn’t have .NET 1.1 pre-installed like the way it was the case with Windows server 2003. And also .NET 1.1 doesn’t have any 64bit version.
Download .NET Fx 1.1 from https://www.microsoft.com/downloads/details.aspx?familyid=A8F5654F-088E-40B2-BBDB-A83353618B38&displaylang=en
Download .NET Fx 1.1 SP1 from https://www.microsoft.com/downloads/details.aspx?familyid=A8F5654F-088E-40B2-BBDB-A83353618B38&displaylang=en
If .NET 1.1 is installed on the server then in IIS7 you should see an application pool with the name “ASP.NET 1.1” . Also under the ISAPI and CGI restriction feature of IIS7 you should see ASP.NET 1.1 extension listed though it might not be allowed by default.
Now if you go to the application pools tree view option and try to create a new application pool , you will not see .NET 1.1 framework option under the drop down box.
There are couple of ways by which you can either configure an existing or a new application pool to run under ASP.NET 1.1 and here are those.
Method 1.
Open the ApplicationHost.config file located under the C:\windows\system32\inetsrv\config\ folder and just find the application pool name you are looking to run under .NET 1.1. Suppose the Application Pool Name is “TEST”. This is how the “TEST” application pool element should look like under ApplicationHost.config.
<add name="Test" enable32BitAppOnWin64="true" managedRuntimeVersion="v1.1" managedPipelineMode="Classic" autoStart="true" />
A thing to note here is that application pool configured to run under .NET 1.1 framework will only be allowed to have Classic Pipeline.
Following KB article illustrates this. https://support.microsoft.com/kb/949353
Method 2.
This is more of a polished way of configuring an application pool to run under .NET 1.1 and is also safer as it avoids directly changing configuration under ApplicationHost.config.
Below are the commands using appcmd.exe tool which would do this.
appcmd set apppool /apppool.name:"TEST" /enable32BitAppOnWin64:true
appcmd set apppool /apppool.name:"TEST" /managedRuntimeVersion="v1.1"
appcmd set apppool /apppool.name:"TEST" /managedPipelineMode:"Classic"
appcmd set apppool /apppool.name:"TEST" /autoStart:true
Now you should see the TEST application pool is configured to run under .NET 1.1.
Hope this helps!!!
Comments
Anonymous
September 06, 2010
Thanks for the advice... correction: appcmd set apppool /apppool.name:"TEST" /managedRuntimeVersion="v1.1" is supposed to read appcmd set apppool /apppool.name:"TEST" /managedRuntimeVersion:"v1.1"Anonymous
January 22, 2014
This is the correct list of command: 1° Add a new app pool, with the .NET version that you want appcmd add apppool /name:"TEST" /managedRuntimeVersion:"v1.1" 2° set other attribute appcmd set apppool /apppool.name:"TEST" /enable32BitAppOnWin64:true appcmd set apppool /apppool.name:"TEST" /managedPipelineMode:"Classic" appcmd set apppool /apppool.name:"TEST" /autoStart:true If you create the app pool without /managedRuntimeVersion:"v1.1" parameter , it is created with .NET v2.0 version and after is not modifiable!Anonymous
September 23, 2014
Also use Appcmd.exe from the %windir%system32inetsrv directory, even if you are running 64-Bit Windows