44

When I try to change the ASP.NET version to v4 on IIS 6, I receive the following warning:

Changing the Framework version requires a restart of the W3SVC service. Alternatively, you can change the Framework version without restarting the W3SVC service by running: aspnet_regiis.exe -norestart -s IIS-Viirtual-Path

Do you want to continue (this will change the Framework version and restart the W3SVC service)?

How do I work out IIS-Virtual-Path?

I have tried the obvious paths i.e.:

aspnet_regiis.exe -norestart -s "/WebSites/Extranet/AppName"

Where WebSites is the name of the folder in IIS, Extranet the name of the root app and AppName the name of the Virtual Directory application I am trying to change.

Thanks!

Edit:

How do I work out the virtual path for the Auth virtual directory in following IIS6 setup:

alt text
(source: imgbag.com)

I have tried:

aspnet_regiis.exe -norestart -s "/Web Sites/Extranet/Auth"

aspnet_regiis.exe -norestart -s "Auth"

I get:

Installation stopped because the specified path (WhateverIPutIn) is invalid.

Community
  • 1
  • 1
joshcomley
  • 28,099
  • 24
  • 107
  • 147

6 Answers6

71

I solved it. I had to use:

aspnet_regiis -lk to get a list of the folders in "IIS" format

Then I do something like:

aspnet_regiis.exe -norestart -s "W3SVC/1234567/root/AppName"

joshcomley
  • 28,099
  • 24
  • 107
  • 147
29

My problem running aspnet_regiis -lk was that I got an incomplete list of IDs and also I didn't know which ID corresponded to the Website i wanted to work on.

An easier way to find the IDs for your websites is by clicking on the "Website" node (folder) in IIS as in this picture. On the right side you should see a list of all websites with their "Identifier"s, State, IPs and ports.

Image showing IDs

Jason Goemaat
  • 28,692
  • 15
  • 86
  • 113
Diego C.
  • 2,271
  • 2
  • 20
  • 21
13

Here's a good summary

W3SVC/ + [Site Identifier from IIS Console] + /root

for example W3SVC/1234567/root

To find the Identifier

Click on the Websites node (folder) in IIS.
On the right hand side is a list of all websites with their Identifiers, State, IPs and ports.

Now all together

aspnet_regiis.exe -norestart -s "W3SVC/1234567/root"

Finally

Add of the virtual directory to the end W3SVC/1234567/root/APPNAME if you need to

Daniel Little
  • 16,975
  • 12
  • 69
  • 93
4

I think your need to use a path starting with /W3SVC. Maybe this article can help you further.

Robert Massa
  • 4,345
  • 1
  • 32
  • 44
3

To change Framework version without restarting W3SVC: Run aspnet_regiis.exe -norestart -s IIS-Virtual-Path

aspnet_regiis.exe should be run from %SystemRoot%\Microsoft.NET\Framework(required dotnet version) eg C:\WindowsMicrosoft.NET\Framework\v4.0.30319

IIS-Virtual-Path is: W3SVC/(WebsiteID)/root[/AppName] Where (WebsiteID) is the identifier as listed in IIS (see Diego C's image above) and [/appname] is an optional virtual directory below your website. (eg W3SVC/1234567890/root/dotnetnuke)

  1. Open a command prompt
  2. Navigate (CD) to C:\WindowsMicrosoft.NET\Framework\v4.0.30319
  3. Execute aspnet_regiis.exe -norestart -s “W3SVC/1234567890/root/dotnetnuke”
JonW
  • 31
  • 2
1

I was able to follow the advice according to joshcomley's post here, but had to get the name of the virtual path from the generated XML file. You can use IIS's export site config to a file (xml file). Inside, there are a few tags that look like this:

 <IIsWebVirtualDir   Location ="/LM/W3SVC/2070355274/root" 

Just pick the first one that ending with "root".

that worked great.

(tried, but cant post image here)

Echilon
  • 10,064
  • 33
  • 131
  • 217
Mike A
  • 51
  • 2