ISAPI extension in IIS 7

ISAPI extension in IIS 7

am 14.04.2008 16:48:01 von LuisAguilera

We have an application that is supported on IIS 6.0 and 5.0. Now, we are
facing an issue in configuring this application with IIS 7.0 on Win2K8. This
application works as an ISAPI extension. We tried a few things, but are not
able to load the ISAPIapp.dll in the IIS web-server. We have tried the
following things:


First, we added ISAPIapp.dll as an ISAPI filter in the “website”, and added
the Handler Mapping for ISAPIapp.dll at the server level in “inetmgr”. On
doing so we are getting an error, “HTTP Error 500.0 - Internal Server Error,
Calling LoadLibraryEx on ISAPI filter "C:\Program
Files\...\application\bin\ISAPIapp.dll" failed. Error Code 0x8007007e”.

On doing some research on this error, it says that either “the dll is
incorrect” or “IIS received the request; however, an internal error occurred
during the processing of the request. The root cause of this error depends on
which module handles the request and what was happening in the worker process
when this error occurred”.

Then on further research we found that the architecture of IIS 7.0 is quite
different from that of IIS 6.0. A Microsoft TechNet article says that “In IIS
7.0, modules replace the functionality that ISAPI filters provided in IIS
6.0. However, you can still add ISAPI filters if you require the
functionality that they provide.”


Hence we enabled the ISAPIModule and ISAPIFilterModule in the “inetmgr”.
Now, these modules are Native Modules in IIS 7.0. On changing these modules
in the inetmgr and providing the path to the ISAPIapp.dll, IIS stopped
responding, and started giving HTTP Error 503.


Now the problem is that on loading ISAPIapp.dll as ISAPI filter, it says
that the dll is not correct, while if we try to configure it through modules,
then the IIS does not start correctly.

Re: ISAPI extension in IIS 7

am 15.04.2008 05:42:06 von David Wang

On Apr 14, 7:48 am, LuisAguilera@no-spam s...@discussions.microsoft.com> wrote:
> We have an application that is supported on IIS 6.0 and 5.0. Now, we are
> facing an issue in configuring this application with IIS 7.0 on Win2K8. This
> application works as an ISAPI extension. We tried a few things, but are not
> able to load the ISAPIapp.dll in the IIS web-server. We have tried the
> following things:
>
> First, we added ISAPIapp.dll as an ISAPI filter in the "website", and added
> the Handler Mapping for ISAPIapp.dll at the server level in "inetmgr". On
> doing so we are getting an error, "HTTP Error 500.0 - Internal Server Error,
> Calling LoadLibraryEx on ISAPI filter "C:\Program
> Files\...\application\bin\ISAPIapp.dll" failed. Error Code 0x8007007e".
>
> On doing some research on this error, it says that either "the dll is
> incorrect" or "IIS received the request; however, an internal error occurred
> during the processing of the request. The root cause of this error depends on
> which module handles the request and what was happening in the worker process
> when this error occurred".
>
> Then on further research we found that the architecture of IIS 7.0 is quite
> different from that of IIS 6.0. A Microsoft TechNet article says that "In IIS
> 7.0, modules replace the functionality that ISAPI filters provided in IIS
> 6.0. However, you can still add ISAPI filters if you require the
> functionality that they provide."
>
> Hence we enabled the ISAPIModule and ISAPIFilterModule in the "inetmgr".
> Now, these modules are Native Modules in IIS 7.0. On changing these modules
> in the inetmgr and providing the path to the ISAPIapp.dll, IIS stopped
> responding, and started giving HTTP Error 503.
>
> Now the problem is that on loading ISAPIapp.dll as ISAPI filter, it says
> that the dll is not correct, while if we try to configure it through modules,
> then the IIS does not start correctly.


1. Undo all your changes.
2. Install the ISAPI Extension Feature.
3a. If you were using ADSI/WMI/ABO to configure, then also install the
IIS6 Metabase Compatibility Feature and then run your application
setup. It should just work.
3b. If you configure by hand, then simply enable "Execute" permissions
on the vdir as well as add the ISAPI DLL to Web Service Extensions,
which is *exactly* the same as you do for IIS6, then it should just
work.

As for everything else that you described -- the failures are all by-
design because you are attempting to configure an ISAPI Extension as
the wrong thing. All you need to do is install ISAPI Extension Support
and then go about configuring your ISAPI as you used to do.

Basically, if you try to touch configuration sections with "module",
"handler", or "filter" in their names, then you're doing the wrong
thing and IIS7 will give back either stern/technical warnings or fail
with 503.


//David
http://w3-4u.blogspot.com
http://blogs.msdn.com/David.Wang
//