iis 6.0 site running wrong version of .net

April 18, 2012

Have you ever noticed your IIS 6.0 site is running the wrong version of .net?

This post explains how to change the asp.net version of a specific iis 6.0 website to asp.net 4.0

First find your website using

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -lk

I have limited the output for simplicity below (a you can see the site is using .net 2.0 currently):

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -lk | find "W3SVC/1975602314/root/"
W3SVC/1975602314/root/  2.0.50727.3053

Run this command to change the site to the .net 4.0 framework:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -s W3SVC/1975602314/root/ -norestart
Start registering ASP.NET (4.0.30319) recursively at W3SVC/1975602314/root/.
Finished registering ASP.NET (4.0.30319) recursively at W3SVC/1975602314/root/.

Determine the site’s application pool:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>C:\Inetpub\AdminScripts\adsutil.vbs  get w3svc/1975602314/root/apppoolid
apppoolid                       : (STRING) "some_app_pool_name"

Restart the site’s application pool:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>cscript %SystemRoot%\System32\IIsApp.vbs /a some_app_pool_name /r
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

Connecting to server ...Done.
Application pool 'some_app_pool_name' recycled successfully.

Verify changes:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -lk | find "W3SVC/1975602314/root/"
W3SVC/1975602314/root/  4.0.30319.0

Reference: ASP.NET IIS Registration Tool (Aspnet_regiis.exe)

ASP.NET IIS Registration Tool (Aspnet_regiis.exe)