Attention! Helicon Tech Blog has moved to

Thursday, October 22, 2009

Titbits: ISAPI_Rewrite double registration


We have decided to start a series of little titbits about our software. You may find them interesting
and helpful.

Today we're gonna explain you what the “double registration” term means. It's a typical situation on our support when a user can't get ISAPI_Rewrite working while everything seems great, NTFS permissions are OK, the rules are the simplest ever but still no go.

In these cases we commonly ask the user to provide their IIS metabase.
On Windows 2003 Server you may find it here: C:\windows\system32\inetsrv\metabase.xml.
Windows 2008 provides another configuration model and we ask for C:\windows\system32\inetsrv\config\applicationHost.config.

Generally, double registration means simultaneous registration of ISAPI_Rewrite.dll on two different levels. “Web Sites” tree node is what we call “global level”. If you have ISAPI_Rewrite registered here, you will have the tool working for every web-site on your server. Saying “local level” we imply particular web-site.

So the point is you must have only one type of the registration — either on the global level, or on one or several local levels (to enable ISAPI_Rewrite for one or several sites respectively).

Within IIS metabase a double registration issue looks as follows:
<IIsFilter Location ="/LM/W3SVC/1800802984/filters/ISAPI_REWRITE"
  FilterPath="C:\Program Files\Helicon\ISAPI_Rewrite3\ISAPI_Rewrite.dll"

<IIsFilters Location ="/LM/W3SVC/Filters"
If you selected automatic installation of ISAPI_Rewrite you would have the tool registered globally. Here is an example:

The next screenshot demonstrates correct local registration, which you can't get from the installation wizard, but should perform manually:

This is it. We've described the very gist of double registration and hope you won't have such misconfiguration on your system.

Yours sincerely,
Helicon Tech team.

No comments:

Post a Comment