Configuring ASP.net Side by Side using aspnet_Regiis utility
Consider we have a production box that has both 1.x and 2.0 installed. And if we want host applications that is done in 1.x and 2.0 in the server then we need to configure the asp.net sites that is done in 1.x and 2.0 to run side by side. This is done via aspnet_regiis utillity that is packed with the framework. Normally to register ASP.NET with the IIS we use aspnet_regiis.exe utility with switch “-i” i.e,
Aspnet_regiis –i
The main drawback of this approach is, it will update the script map of the root directory and in turn all the virtual directory under the root. If we are already hosting 1.x applications and if we use the above utillity from 2.0 framework with the above switch then it will also update those application's script map to use ASP.Net 2.0. Thus it affects 1.x applications script map also.
You can see the script map by right clicking root directory or a website > property >
Click Configuration from “Home Directory” tab. This brings the script setting like below. The following script map shows the IIS is registered with 2.0.
To prevent this we need to update the script map specific to the application i.e. update it specific to a virtual directory. It can be done by using “-s” switch.
Aspnet_regiis –s path
Example:
Aspnet_regiis –s W3SVC/1/ROOT/CodeDigest
Where CodeDigest is the application or virtual directory whose script map has to be updated. Thus, it keeps other websites configuration intact.
Note:
Each version of the framework will have its own ASPNET_REGIIS utillity i.e. if there is 1.1 and 2.0 framework installed on the box then each framework will have its own aspnet_regiis utility. So to register 1.1 framework,
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322>Aspnet_regiis -s W3SVC/1/ROOT/CodeDigest
For 2.0 framework,
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>Aspnet_regiis -s W3SVC/1/ROOT/CodeDigest
Know more about aspnet_regiis here,
http://msdn2.microsoft.com/en-us/library/k6h9cz8h(VS.71).aspx
Happy Coding!!!