Friday, April 6, 2007

Intro to Aspnet_Regiis.exe

WHAT IS IT?
Aspnet_regiis.exe is a command line utility that installs ASP.NET features to Internet Information Server (IIS). You find it in your c:\windows\microsoft.net\framework\v#.### directory. Installable components include such things as:

  • An ISAPI Filter - used by IIS to direct incoming requests to the appropriate asp.net
    runtime engine based on the extension (e.g. .asp, .aspx)
  • Script Maps - configuration settings in each IIS node that specify how various extensions are processed (see Figure 1).

  • Client Validation Scripts - /aspnet_client Javascripts that provide dynamic behavior to web form validation controls (see Figure 2)

  • Options for encrypting asp.net configuration (*.config) files.

  • etc


(figure 1 - aspx script mapping)


(figure 2 - client validation scripts)


HOW DO I USE IT?
Very carefully :). Read the various options by typing "aspnet_regiis.exe -?". Run them on a development server to get familiar with them, backing up the IIS metabase appropriately.

CAUTION: Using the "-i" Switch
If you run the utility with "-i", you will install the ASP.NET version specified by the utility's parent directory (e.g. "v1.1.4322"). This includes the ISAPI filter and script maps for all nodes in the IIS tree...

Think about that, because it could get you in to trouble, say, if you are running the utility from the v2.0.50727 directory of a web server that currently runs a bunch of older 1.1 applications. Those applications will be forced to the 2.0 version of the asp.net processing engine (aspnet_isapi.dll) and could very well stop working. Better to leave well enough alone!

To leave existing asp.net scripts as-is, use the combination switch "-ir". Per the documentation, this installs the specified version of ASP.NET without updating script maps. Then to set assign applications to the appropriate version, set them manually in IIS or use script explained in this earlier blog.

1 comment:

pay per head said...

Thank you for sharing information. It is quite useful for us also. I always love to read such type of things.