<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx</link><description>HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>HOWTO: ISAPI Filter which sets Cache-Control based on Content-Type</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#434883</link><pubDate>Sat, 02 Jul 2005 08:50:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:434883</guid><dc:creator>David Wang</dc:creator><description>HOWTO: ISAPI Filter which sets Cache-Control based on Content-Type</description></item><item><title>HOWTO: ISAPI Filter which sets Cache-Control based on Content-Type</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#436937</link><pubDate>Fri, 08 Jul 2005 22:45:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:436937</guid><dc:creator>David Wang</dc:creator><description>HOWTO: ISAPI Filter which sets Cache-Control based on Content-Type</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#437515</link><pubDate>Mon, 11 Jul 2005 16:48:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:437515</guid><dc:creator>gnanarajv@yahoo.co.in</dc:creator><description>i am getting the following error in the event viewer.guide me to solve it.&lt;br&gt;&lt;br&gt;source :W3SVC-WP&lt;br&gt;&lt;br&gt;event ID: 2268&lt;br&gt;&lt;br&gt;&lt;br&gt;The HTTP Filter DLL C:\WINNT\system32\dmnetembed.dll failed to load.  The data is the error.&lt;br&gt;&lt;br&gt;Could not load all ISAPI filters for site/service.  Therefore startup aborted.&lt;br&gt;&lt;br&gt;thanks</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#437647</link><pubDate>Mon, 11 Jul 2005 23:53:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:437647</guid><dc:creator>David.Wang</dc:creator><description>Please read the third paragraph of this blog entry and provide the necessary information to troubleshoot. Quote: &amp;quot;When you see the above situation when you are trying to install an ISAPI Filter, the best way to troubleshoot is to look in the Windows Event Log for error event entries from either W3SVC or W3SVC-WP regarding a failure to load the HTTP Filter DLL. The &amp;quot;data&amp;quot; of the error is the most important piece of information used to diagnose the failure to load/run an ISAPI Filter.&amp;quot; You did not provide the &amp;quot;data&amp;quot; of the error, so&amp;amp;nbsp;no one can guide you to solve it. //David</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#440536</link><pubDate>Tue, 19 Jul 2005 23:11:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:440536</guid><dc:creator>jonathan</dc:creator><description>Went from deep joy at finding this post to further confusion...&lt;br&gt;&lt;br&gt;I'm in a classic &amp;quot;works in test, fails in production&amp;quot; situation.&lt;br&gt;&lt;br&gt;data is:  7e 00 00 00&lt;br&gt;&lt;br&gt;Downloaded Depends.exe and ran on my ISAPI .dll (in production) and all dependencies show fine as far as I can see.&lt;br&gt;&lt;br&gt;The test system is Windows 2003 Server (was sp1, but downgraded it when I realized production didn't have it).  Production seems to be a WINNT system that was upgraded to 2003 server (it has a c:\winnt directory that doesn't exist on the test box).&lt;br&gt;&lt;br&gt;Any other thoughts on things to check here?  Is it possible that this is a runtime dependency (which depends.exe can't check on a .dll it seems?)&lt;br&gt;&lt;br&gt;Any help would be greatly appreciated.</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#440553</link><pubDate>Tue, 19 Jul 2005 23:39:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:440553</guid><dc:creator>David.Wang</dc:creator><description>Correct, DEPENDS.EXE is not going to be able to verify if your code makes any LoadLibrary() calls at runtime and whether they would succeed. You will have to do the code review yourself to figure that out.&lt;br&gt;&lt;br&gt;If DEPENDS says the static linkages are good, and code review shows that dynamic linkages are good, then I cannot think of any more typical reasons. I am going to start with some more random possibilities&lt;br&gt;&lt;br&gt;1. Are you sure that the failure actually comes from IIS trying to load your ISAPI Filter DLL and not anything else. Could that server have ANOTHER misconfigured/malformed filter from the upgrade that is failing (in other words, run DEPENDS on the actual module IIS reports to be failing to load with error 0x7E in the event log).&lt;br&gt;&lt;br&gt;2. The event log entry is not unique - any ISAPI Filter can return FALSE in GetFilterVersion(), and the value returned by GetLastError() is what IIS reports as data for that event log entry.&lt;br&gt;&lt;br&gt;So, it is possible for your filter to fail for arbitrary reason, return FALSE for GetFilterVersion(), and have random error code be logged. You will need to code-review to figure this out.&lt;br&gt;&lt;br&gt;&lt;br&gt;It looks like you need to do some more source code review on your ISAPI Filter to resolve this issue.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#440993</link><pubDate>Wed, 20 Jul 2005 20:13:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:440993</guid><dc:creator>jonathan</dc:creator><description>It seems fairly certain that it's the ISAPI filter that's giving the problem.  The server box was upgraded ages ago, and the webservers there were running fine until I came along.&lt;br&gt;&lt;br&gt;errors in Event Log:&lt;br&gt;&lt;br&gt;The HTTP filter DLL e:\iisldap\authldap2.dll failed to load.  The data is the error.&lt;br&gt;...&lt;br&gt;Could not load all ISAPI filters for site/service.  Therefore startup aborted.&lt;br&gt;&lt;br&gt;&lt;br&gt;Remove the filter and everyting works fine.  Add it and nothing starts. &lt;br&gt;&lt;br&gt;No dynamically loaded modules in the code that I can see, though my c skills are on the rusty side (and my Windows skills were never present enough that they could become rusted).&lt;br&gt;&lt;br&gt;Is there some way I can get a good trace of the loading of this .dll so I can see better where it's failing?&lt;br&gt;</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#441201</link><pubDate>Thu, 21 Jul 2005 06:07:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:441201</guid><dc:creator>David.Wang</dc:creator><description>If you are sure the error is not coming from the ISAPI Filter code itself (i.e. either failing to dynamically load another module or return FALSE from GetFilterVersion() ), then you want to look up MSDN documentation for LoadLibraryEx ( &lt;a rel="nofollow" target="_new" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/loadlibraryex.asp"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/loadlibraryex.asp&lt;/a&gt; ) for assistance on how to troubleshoot DLL load failures. The problem seems really far away from IIS/ISAPI at this point. //David</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#447267</link><pubDate>Wed, 03 Aug 2005 20:47:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:447267</guid><dc:creator>jonathan</dc:creator><description>got this resolved.  turns out it was an SP1 issue after all.&lt;br&gt;&lt;br&gt;rebuilt test without SP1 and the same issue we were seeing in production started showing (we had previously just removed SP1 from test, which apparently doesn't really remove everything (filter still worked with SP1 removed)).&lt;br&gt;</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#447847</link><pubDate>Fri, 05 Aug 2005 00:03:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:447847</guid><dc:creator>David.Wang</dc:creator><description>I am glad that you got the issue resolved.&lt;br&gt;&lt;br&gt;If you do not mind me asking - what was the dependency that was causing your problems?&lt;br&gt;&lt;br&gt;However, to be clear, this does not sound like an SP1 issue to me. Hear me out...&lt;br&gt;&lt;br&gt;When a filter fails to load due to dependency failure, it is usually the fault of the filter author for requiring a dependency that the filter user did not fulfill. An SP cannot be the issue.&lt;br&gt;&lt;br&gt;I can think of plenty of cases where user error can cause this situation, and only one situation where it is an SP1 issue -- if the uninstall failed to copy back the original file the SP overwrote. That is very improbable.&lt;br&gt;&lt;br&gt;For example, here is one possible explanation for your situation.&lt;br&gt;&lt;br&gt;Suppose your filter had a dependency on MSXML4.DLL which is not part of WS03RTM but is (hypothetically) included in WS03SP1.&lt;br&gt;- When you first built the test machine with WS03RTM you had to install MSXML4 Redist to get your filter to work.&lt;br&gt;- Then, when you applied WS03SP1 to the test machine things continue to work.&lt;br&gt;- You forget about this dependency when building the production machine and it fails to load the Filter because MSXML4 is not on WS03RTM&lt;br&gt;- You go back to the test machine and uninstall WS03SP1. The Filter still works because the MSXML4 Redist is there. So you think that SP1 uninstall apparently does not remove everything&lt;br&gt;&lt;br&gt;Note: SP1 uninstall is NOT going to remove MSXML4 to get back to WS03RTM state because it was ALREADY installed on the system. The only issue I see in this scenario is user error. :-)&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#449455</link><pubDate>Tue, 09 Aug 2005 17:40:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:449455</guid><dc:creator>jonathan</dc:creator><description>hey David - much thanks for your input on this,&lt;br&gt;&lt;br&gt;Ok...  I should clarify that I'm still not certain what the problem is - I'm just assuming it's an SP1 issue due to events...&lt;br&gt;&lt;br&gt;The long version of this saga:&lt;br&gt;&lt;br&gt;The filter itself was compiled by myself under Windows XP... it's a modified version of some  C code I found online.&lt;br&gt;&lt;br&gt;A test Windows 2003 box was built by one of the Windows admins here.  This was supposed to be a box that was configured exactly like our production box where this filter was to be applied.  The production box in this case has been running for ages.&lt;br&gt;&lt;br&gt;I installed JRE, Sun's Directory Server Resource Kit, and my filter on the test box.  Everything works fine... Exactly like it did on my desktop here (Windows XP).&lt;br&gt;&lt;br&gt;Tried to move this to the production box (installed exactly the same stuff) and the filter wouldn't load.  I discovered that the production box wasn't running SP1 and the test box I was given was.  I removed SP1 from test, but my filter still worked.&lt;br&gt;&lt;br&gt;Found this website and used depends.exe to verify that all dependencies were satisfied in production - they were.&lt;br&gt;&lt;br&gt;Had the test box rebuilt from scratch without SP1.  Now my install process (install JRE, install Sun's DSRK, install filter) results in an unloadable filter...  my assumption - something installed with SP1 (but not uninstalled when SP1 was) is causing troubles.&lt;br&gt;&lt;br&gt;I would gladly try something that would let me nail down the exact problem more precisely, but my Windows-fu is lacking here (I'm normally a UNIX guy). &lt;br&gt;&lt;br&gt;</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#451702</link><pubDate>Mon, 15 Aug 2005 11:46:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:451702</guid><dc:creator>David Wang</dc:creator><description>Ok, I'm just now getting caught up in a lot of things. Most of the past 7 days has been spent on IIS7-related tasks.&lt;br&gt;&lt;br&gt;Reading IIS source code in this area shows that there are only two ways for you to get the event log error with data 7E&lt;br&gt;1. GetFilterVersion() of authldap2.dll returned FALSE and GetLastError() returned 126.&lt;br&gt;2. LoadLibrary() of authldap2.dll failed and GetLastError() returned 126.&lt;br&gt;&lt;br&gt;If you are certain that the source code of the filter does not return FALSE from GetFilterVersion() with GetLastError() of 126, then we have to look at the binary itself and how it was made.&lt;br&gt;&lt;br&gt;You said that you found some source code and compiled it yourself - what exact headers/lib files did you compile/link against and what versions are they? Maybe your code is pulling in some newer LIB file somewhere that only match against XPSP2/WS03SP1 and not older OS.&lt;br&gt;&lt;br&gt;I wonder if the reason it worked on your test box with SP1 removed was because your ISAPI Filter was loaded and hence prevented unrolling of the dependent SP1 version of the DLL.&lt;br&gt;&lt;br&gt;Otherwise... I am a bit out of ideas. I just do not consider this as an &amp;quot;SP1 issue&amp;quot; because applications are supposed to handle their own dependencies.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>Other places to look for the win32 error messages</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#455223</link><pubDate>Tue, 23 Aug 2005 21:48:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:455223</guid><dc:creator>Gabe Brown</dc:creator><description>You can find out the return code from any ISAPI extension by calling it in your browser explicitly and then look in the webservers logs.  Here is an example logline&lt;br&gt;&lt;br&gt;2005-08-23 18:41:01 W3SVC1 127.0.0.1 GET /myVirtFolder/myISAPIExt.dll - 80 - 127.0.0.1 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.2;+SV1;+.NET+CLR+1.1.4322) 404 0 2&lt;br&gt;&lt;br&gt;The last two numbers 0 and 2 represent sc-substatus  and sc-win32-status respectivly.  The logs are usually located in: D:\WINDOWS\system32\LogFiles\W3SVC1</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#455499</link><pubDate>Wed, 24 Aug 2005 11:54:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:455499</guid><dc:creator>David Wang</dc:creator><description>Absolutely. The IIS log file for a website is generally your friend when troubleshooting IIS, especially runtime errors during request processing.&lt;br&gt;&lt;br&gt;In this case, we are talking about ISAPI Filters and specifically install/load time failures, and the event log entry is the only mechanism to troubleshoot.&lt;br&gt;&lt;br&gt;Basically, no one has made a request to IIS, so errors have no place to go but in the event log.&lt;br&gt;&lt;br&gt;On the other hand, ISAPI Extensions can only be triggered by a request, thus its errors can be found in the IIS log file for the website.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#456330</link><pubDate>Thu, 25 Aug 2005 20:27:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:456330</guid><dc:creator>lee</dc:creator><description>i am recieving the same error. Except i have done everyting possible to remove all references, and yet i still get the following error&lt;br&gt;&lt;br&gt;&lt;br&gt;The HTTP Filter DLL C:\PHP\php.exe failed to load.  The data is the error.&lt;br&gt;0000: 7e 00 00 00               ~...    &lt;br&gt;&lt;br&gt;i have tried everything i can think of to remove all references to php. &lt;br&gt;&lt;br&gt;If i can get the site back to apoint where it at least starts, then i can begin to fix the php problem, but as of now, i cant seem to find all the references.&lt;br&gt;&lt;br&gt;How do i go about this? &lt;br&gt;&lt;br&gt;Oddly enough, this entire problem started after an update. I then made it worse by tryingto unintall/reinstall php.&lt;br&gt;&lt;br&gt;thanks in addvance&lt;br&gt;-lee&lt;br&gt;+++&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#456463</link><pubDate>Fri, 26 Aug 2005 00:22:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:456463</guid><dc:creator>David Wang</dc:creator><description>lee - this error happened because you have misconfigured PHP.EXE as an ISAPI Filter. Since PHP.EXE is a CGI Executable that should be configured as an Application Mapping and NOT an ISAPI Filter, it does not export the necessary function exports that IIS expects of an ISAPI Filter.&lt;br&gt;&lt;br&gt;This is not a problem with any Microsoft update - human editing of IIS configuration caused this.&lt;br&gt;&lt;br&gt;The right thing for you to do is remove PHP.EXE from being configured as an ISAPI Filter.&lt;br&gt;&lt;br&gt;See &lt;a rel="nofollow" target="_new" href="http://www.visualwin.com/PHP"&gt;http://www.visualwin.com/PHP&lt;/a&gt; for help on correctly setting up PHP on IIS.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#510899</link><pubDate>Mon, 09 Jan 2006 22:34:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:510899</guid><dc:creator>Jon Stalnaker</dc:creator><description>Very good explanations, hanks for the help!  The depends.exe tool worked beautifully.</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#528917</link><pubDate>Fri, 10 Feb 2006 00:54:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:528917</guid><dc:creator>jroy</dc:creator><description>Is there way to script a check on the success or failure of the Filter, ie a vbscript object that contains the state of loaded DLL's? &amp;nbsp;&lt;br /&gt;&lt;br /&gt;One can get the list of filters installed from the metabase, but how would one get the state? &amp;nbsp;The metabase doesn't seem to contain that. &amp;nbsp;&lt;br /&gt;&lt;br /&gt;Doesn't necessarily validate it but if I look in the UI, the green up arrow tells me enough not to scurry off to the event viewer to see what went wrong. &amp;nbsp;Some COM object contains that, right?</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#530125</link><pubDate>Sat, 11 Feb 2006 15:05:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:530125</guid><dc:creator>David.Wang</dc:creator><description>jroy - Ok, your question motivated to to toss together a little script tool to illustrate how to do what you are asking (check on filter load success/fail)...&lt;br&gt;&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/david.wang/archive/2006/02/11/HOWTO_Retrieve_and_Interpret_ISAPI_Filter_Status.aspx"&gt;http://blogs.msdn.com/david.wang/archive/2006/02/11/HOWTO_Retrieve_and_Interpret_ISAPI_Filter_Status.aspx&lt;/a&gt;&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#540821</link><pubDate>Wed, 01 Mar 2006 00:34:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:540821</guid><dc:creator>jonathan</dc:creator><description>hi David. &amp;nbsp;hoping you can help me out again here.&lt;br&gt;&lt;br&gt;having problems moving my filter to a different box. &amp;nbsp;&amp;quot;the data is the error&amp;quot;. &amp;nbsp;Filter won't load at all. &amp;nbsp;I have this working on several other boxes, but I can't see a real difference on this new one.&lt;br&gt;&lt;br&gt;data is: &amp;nbsp;5a 04 00 00&lt;br&gt;&lt;br&gt;depends.exe shows msjava.dll is missing, but based on some readings this isn't a problem (as mshtml.dll handles this now?). &amp;nbsp;I tried moving msjava.dll from a box that had it into the PATH with no change in error.&lt;br&gt;&lt;br&gt;This box is a Windows 2003 Server. &amp;nbsp;Not sure if this is relevant, but the only other 2003 box this is working on was an upgrade from WinNT.&lt;br&gt;&lt;br&gt;any thoughts/insights greatly appreciated.</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#541127</link><pubDate>Wed, 01 Mar 2006 11:00:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:541127</guid><dc:creator>David.Wang</dc:creator><description>Jonathan - Error code 0x45A = Win32 Error 1114&lt;br&gt;&lt;br&gt;NET HELPMSG 1114 returns:&lt;br&gt;A dynamic link library (DLL) initialization routine failed.&lt;br&gt;&lt;br&gt;This issue is similar to the one described by this KB:&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://support.microsoft.com/?id=821157"&gt;http://support.microsoft.com/?id=821157&lt;/a&gt;&lt;br&gt;&lt;br&gt;Basically, your ISAPI Filter DLL is linked to load in a particular memory address that something else also wants, so these two binaries conflict over it. Whoever loads first wins.&lt;br&gt;&lt;br&gt;In KB821157, some DLL is linked to load at one address that .Net Framework also wants, so ASP.Net ISAPI DLL fails to load because it was not first.&lt;br&gt;&lt;br&gt;I have also seen variations where an ISAPI Filter compiles with /clr switch to load CLR at load time, but its Base address prevents CLR from loading... so the Filter DLL literally prevents itself from loading since CLR fails to load due to where the ISAPI Filter DLL is based.&lt;br&gt;&lt;br&gt;Easiest solution is to change the Base memory address of whichever DLL you can recompile so that it does not conflict. You can also attach a debugger onto the w3wp.exe where the Filter fails to load, and since you know what Base address the Filter wants, use the debugger to see what DLL is loaded at that address at the point of failure.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#543128</link><pubDate>Fri, 03 Mar 2006 22:56:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:543128</guid><dc:creator>jonathan</dc:creator><description>hi David, &amp;nbsp;thanks for the reply.&lt;br&gt;&lt;br&gt;Does your response indicate that my .dll is non-relocatable as currently compiled? &amp;nbsp;Would recompiling it as a relocatable .dll rectify this situation?&lt;br&gt;&lt;br&gt;I'm not a developper, and playing with the debugger so far has caused me to crash quite a few apps on my pc. &amp;nbsp;Using this route on our production box makes me nervous.</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#543192</link><pubDate>Sat, 04 Mar 2006 00:18:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:543192</guid><dc:creator>David.Wang</dc:creator><description>Jonathan - If your issue is what I think it is, then what is going on is that your DLL is choosing to locate itself at a virtual memory address which while in the middle of nowhere, conflicts with .Net Framework's desires over the same memory address... so .Net Framework fails to load up. If this filter also has dependencies on .Net... then the filter also fails to load up.&lt;br&gt;&lt;br&gt;Can you tell me if this Filter DLL uses the .Net Framework in any way, or if .Net Framework is used within the process the filter DLL fails to load?&lt;br&gt;&lt;br&gt;This can be fixed by recompiling the DLL to choose some other address as its base address and letting the OS relocate it if in conflict.&lt;br&gt;&lt;br&gt;Using the debuggers from Microsoft Debugging Toolkit should be pretty painless to observe- after the filter load fails, run:&lt;br&gt; &amp;nbsp; &amp;nbsp;ntsd -p &amp;lt;w3wp's PID&amp;gt;&lt;br&gt;Then on the debugger's commandline, type:&lt;br&gt; &amp;nbsp; &amp;nbsp;lm&lt;br&gt;And press enter. It should dump out a list of module names and memory addresses. Copy/Paste that into a text editor. Then on the debugger commandline, type:&lt;br&gt; &amp;nbsp; &amp;nbsp;.detach&lt;br&gt;And press enter. You should now be detached from the process and can close that ntsd window without crashing anything.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#545309</link><pubDate>Tue, 07 Mar 2006 18:14:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:545309</guid><dc:creator>jonathan</dc:creator><description>I don't believe I'm using anything from .NET.&lt;br&gt;&lt;br&gt;I'm using just standard c stuff: &amp;nbsp;windows.h, httpfilt.h, stdlib.h, stdio.h. &amp;nbsp;I'm also using Sun's LDAP dev kit for C: &amp;nbsp;ldap.h, ldap_ssl.h, lber.h, ldapauth.h.&lt;br&gt;&lt;br&gt;depends.exe lists my isapi filter .dll preferred base address as: &amp;nbsp;0x61A40000.&lt;br&gt;&lt;br&gt;Your debugger directions worked great and I've got the following listed in/around the above address after a .dll load failure (excerpt of full output):&lt;br&gt;&lt;br&gt;5b640000 5b658000 &amp;nbsp; strmfilt &amp;nbsp; &amp;nbsp; (deferred)&lt;br&gt;5f270000 5f2c9000 &amp;nbsp; hnetcfg &amp;nbsp; &amp;nbsp; &amp;nbsp;(deferred)&lt;br&gt;608f0000 60901000 &amp;nbsp; ADMWPROX &amp;nbsp; &amp;nbsp; (deferred)&lt;br&gt;60ba0000 60bb1000 &amp;nbsp; wamreg &amp;nbsp; &amp;nbsp; &amp;nbsp; (deferred)&lt;br&gt;61200000 61215000 &amp;nbsp; MSDATL3 &amp;nbsp; &amp;nbsp; &amp;nbsp;(deferred)&lt;br&gt;62da0000 62da7000 &amp;nbsp; LONSINT &amp;nbsp; &amp;nbsp; &amp;nbsp;(deferred)&lt;br&gt;64700000 6472d000 &amp;nbsp; IISUTIL &amp;nbsp; &amp;nbsp; &amp;nbsp;(deferred)&lt;br&gt;647b0000 647d7000 &amp;nbsp; IisRTL &amp;nbsp; &amp;nbsp; &amp;nbsp; (deferred)&lt;br&gt;67150000 67159000 &amp;nbsp; HTTPAPI &amp;nbsp; &amp;nbsp; &amp;nbsp;(deferred)&lt;br&gt;68000000 6802f000 &amp;nbsp; rsaenh &amp;nbsp; &amp;nbsp; &amp;nbsp; (deferred)&lt;br&gt;&lt;br&gt;I should be able to re-base the .dll if that would help, but I'm not sure how one would go about picking a &amp;quot;better&amp;quot; address than the one I'm currently using.&lt;br&gt;&lt;br&gt;</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#546424</link><pubDate>Wed, 08 Mar 2006 22:25:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:546424</guid><dc:creator>jonathan</dc:creator><description>I've re-compiled my .dll three times at different preferred base addresses (depends.exe lists 0x6C1C000000, 0x6C3C0000, and 0x6FFC000000) and am still experiencing the same errors.&lt;br&gt;&lt;br&gt;Is this a problem with how capable Windows is at relocating .dlls when the .NET framework is in use?&lt;br&gt;&lt;br&gt;Based on my readings, Windows should be able to rebase this .dll dynamically when it loads (though at some performance cost).</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#548312</link><pubDate>Fri, 10 Mar 2006 12:20:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:548312</guid><dc:creator>David.Wang</dc:creator><description>Jonathan - No, the problem is not with Window's ability to relocate DLLs nor .NET Framework.&lt;br&gt;&lt;br&gt;Please read KB 821157 carefully. The issue mentioned there is NOT with ability to relocate DLLs but rather with basing of DLLs that affect .Net Framework which happen to fail DLL load:&lt;br&gt;1. You compile the DLL with /clr for native/managed interop, which hooks .Net Framework initialization when the DLL is loaded&lt;br&gt;2. .Net Framework initialization has requirements for available memory block size for GC, caches, etc&lt;br&gt;3. The DLL has to be based at some location in memory&lt;br&gt;&lt;br&gt;Now, suppose the DLL is based (or rebased) in memory in such a way that prevents .Net Framework from obtaining the size of memory block that it wants. Furthermore, suppose this DLL is the one that triggers .Net Framework to load (it is compiled with /clr). What happens when you try to load the DLL?&lt;br&gt;&lt;br&gt;Well, LoadLibrary loads the DLL into memory. Because it is compiled with /clr, this load triggers the .Net Framework to load. But this DLL is based in memory in such a way that prevents .Net Framework from getting the memory block that it wants, so .Net Framework bails on initialization. And since this .Net Framework initialization is triggeredby the DLL with /clr, this failure causes the DLL to fail to load as well. This results in LoadLibrary reporting error 1114.&lt;br&gt;&lt;br&gt;In other words, due to how the DLL is based, it literally prevents itself from being loaded. Strange but true.&lt;br&gt;&lt;br&gt;Now, the issue that KB 821157 mentions can be hit as soon as you use /clr to compile. Your DLL does not need to be using anything from .Net at all.&lt;br&gt;&lt;br&gt;Of course, your issue may have nothing to do with .Net nor DLL rebasing; I am just pointing out one easily plausible way to get to error 1114.&lt;br&gt;&lt;br&gt;The next troubleshooting step involves getting the debugger attached onto the process but BEFORE your ISAPI Filter is loaded. Type in:&lt;br&gt;sx e ld &amp;quot;filter DLL name&amp;quot; &amp;lt;ENTER&amp;gt;&lt;br&gt;g&lt;br&gt;&lt;br&gt;And then trigger your ISAPI Filter to load with a request. You will now break into the debugger right on the LoadLibrary call and you can step through things to see what actually causes your DLL to fail to load.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>HOWTO: Basics of IIS6 Troubleshooting</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#551531</link><pubDate>Wed, 15 Mar 2006 00:35:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:551531</guid><dc:creator>David Wang</dc:creator><description>I recently sat down and thought a little about the typical user experience when troubleshooting IIS6,...</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#553543</link><pubDate>Fri, 17 Mar 2006 11:11:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:553543</guid><dc:creator>David.Wang</dc:creator><description>Hurray! Another blog entry makes it past the 10K page-browsed mark...&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#555764</link><pubDate>Mon, 20 Mar 2006 21:19:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:555764</guid><dc:creator>jonathan</dc:creator><description>^&lt;br&gt;&lt;br&gt;hey. &amp;nbsp;congrats. &amp;nbsp;I have a good idea where a few hundred of those hits came from.&lt;br&gt;&lt;br&gt;I've managed to get our production system working with an old version of my .dll. &amp;nbsp;I'm a bit leery of the stability of things as it seemed to remain loaded when I unloaded it, or not load properly occasionally (no &amp;quot;data is the error&amp;quot; on this plugin version though).&lt;br&gt;&lt;br&gt;I've got another (non production box) headed my way this week, so I hope to be back on the troubleshooting trail again soon.&lt;br&gt;&lt;br&gt;I've also been able to replicate the 1114 error on my pc (Windows XP). &amp;nbsp;This is a different rev of IIS, however than I had trouble with in production (no w3wp.exe process).</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#776085</link><pubDate>Fri, 29 Sep 2006 00:29:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:776085</guid><dc:creator>Max</dc:creator><description>I would just like to say that your tip to use the DEPENDS.EXE utility was very useful indeed! &amp;nbsp;It helped me identify a misconfiguration in the server's PATH variable (of all things).&lt;br&gt;&lt;br&gt;Thankyou for the tip.&lt;br&gt;&lt;br&gt;Max.</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#2075217</link><pubDate>Tue, 10 Apr 2007 20:29:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2075217</guid><dc:creator>Mark Mills</dc:creator><description>&lt;p&gt;Thanks for all the info here. &amp;nbsp;I'm not looking just to be &amp;quot;fed&amp;quot; (given the answer like youhave nothing else better to do than to) here, but to learn how to troubleshoot my own issues. &lt;/p&gt;
&lt;p&gt;I've installed WordPress on IIS. &amp;nbsp;Now trying to get the PermaLinks set up. &amp;nbsp;I'm installing an ISAPI filter now. &amp;nbsp;I've followed &lt;a rel="nofollow" target="_new" href="http://www.juryriggin.com/2006/11/07/fixing-permalinks-when-using-wordpress-windows-2003-iis-60"&gt;http://www.juryriggin.com/2006/11/07/fixing-permalinks-when-using-wordpress-windows-2003-iis-60&lt;/a&gt; &amp;nbsp; to the letter and am getting the error indicating &amp;quot;Data: 05 00 00 00 -Win32 error 5 - NET HELPMSG 5 returns &amp;quot;Access is denied.&amp;quot;&amp;quot;&lt;/p&gt;
&lt;p&gt;So according to what I think I've learned from your posts is that this is a &amp;quot;Process Identity&amp;quot; and ACL issue? right? &lt;/p&gt;
&lt;p&gt;My question now - is what is the next step I should take? I'm not familiar with dealing with IIS from a programmatic or scripting scenario. &amp;nbsp;&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#2075223</link><pubDate>Tue, 10 Apr 2007 20:29:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2075223</guid><dc:creator>Mark Mills</dc:creator><description>&lt;p&gt;Thanks for all the info here. &amp;nbsp;I'm not looking just to be &amp;quot;fed&amp;quot; (given the answer like youhave nothing else better to do than to) here, but to learn how to troubleshoot my own issues. &lt;/p&gt;
&lt;p&gt;I've installed WordPress on IIS. &amp;nbsp;Now trying to get the PermaLinks set up. &amp;nbsp;I'm installing an ISAPI filter now. &amp;nbsp;I've followed &lt;a rel="nofollow" target="_new" href="http://www.juryriggin.com/2006/11/07/fixing-permalinks-when-using-wordpress-windows-2003-iis-60"&gt;http://www.juryriggin.com/2006/11/07/fixing-permalinks-when-using-wordpress-windows-2003-iis-60&lt;/a&gt; &amp;nbsp; to the letter and am getting the error indicating &amp;quot;Data: 05 00 00 00 -Win32 error 5 - NET HELPMSG 5 returns &amp;quot;Access is denied.&amp;quot;&amp;quot;&lt;/p&gt;
&lt;p&gt;So according to what I think I've learned from your posts is that this is a &amp;quot;Process Identity&amp;quot; and ACL issue? right? &lt;/p&gt;
&lt;p&gt;My question now - is what is the next step I should take? I'm not familiar with dealing with IIS from a programmatic or scripting scenario. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;mark.mills@desktop-assistance.com&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#2075420</link><pubDate>Tue, 10 Apr 2007 20:55:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2075420</guid><dc:creator>Mark Mills</dc:creator><description>&lt;p&gt;OK - WordPress ISAPI Filter issue resolved BUT&lt;/p&gt;
&lt;p&gt;**SECURITY CONCERNS REMAIN**&lt;/p&gt;
&lt;p&gt;As I mentioned the Wordpress ISAPI filter creating many Application log errors 2268 and 2214&lt;/p&gt;
&lt;p&gt;So I then after reading and learning a littel from the &amp;quot;David.Wang Blog&amp;quot; (most hazardly and without web security in mind) added the Wordpress users &amp;quot;site_name_Anon&amp;quot; and &amp;quot;site_name_Admin&amp;quot; to the IIS_WPG user Group (it is creatd by W2k3 by default) and I also gave the user IIS_WPG &amp;quot;read&amp;quot; and &amp;quot;execute&amp;quot; permissions to the WordPressPlugin.dll file.&lt;/p&gt;
&lt;p&gt;The WordPress ISAPI Filter now works. &amp;nbsp;What I need to know now is &amp;quot;How big of a security hole did I just make?&amp;quot; and &amp;quot;what do you recommend for appropriate security measures, in place of what I did?&amp;quot; Should I be modifing the members of the IIS_WPG group at all. &amp;nbsp;Is it safe to add anonymous as well as fully priviledged Admin accounts to this group. &amp;nbsp;My gut feeling say @#! &amp;nbsp; No!&lt;/p&gt;
&lt;p&gt;PLease advise,&lt;/p&gt;
&lt;p&gt;Thanks MMills&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#3423326</link><pubDate>Wed, 20 Jun 2007 14:50:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3423326</guid><dc:creator>Einar</dc:creator><description>&lt;p&gt;You saved my day! &amp;quot;Somebody&amp;quot; had added a DLL in the ISAPI Filter dialog that does not have the required procedures. I got the 7F error and &amp;quot;Service unavailable&amp;quot;. IIS did not show the name in the dialog-box, but I found it in the application Event log. The solution was to copy and rename the FpExeDll.dll to replace the bad dll. Then I got rid of the error.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#3791625</link><pubDate>Tue, 10 Jul 2007 06:46:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3791625</guid><dc:creator>Aaron</dc:creator><description>&lt;p&gt;I'm getting the 0000: 05 00 00 00 error. I am unsure as to how to fix this problem. Can anyone help?&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#3935376</link><pubDate>Wed, 18 Jul 2007 13:04:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3935376</guid><dc:creator>Dean Pullen</dc:creator><description>&lt;p&gt;I had the 0000: 05 00 00 00 error too.&lt;/p&gt;
&lt;p&gt;Seems we need to give the .dll security &amp;quot;read&amp;quot; and &amp;quot;execute&amp;quot; permissions for the user IIS_WPG.&lt;/p&gt;
&lt;p&gt;That solved it for me.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#4874791</link><pubDate>Wed, 12 Sep 2007 07:12:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4874791</guid><dc:creator>mnjrupp</dc:creator><description>&lt;p&gt;David, thanks for the article. I have searched high and low for this.&lt;/p&gt;
&lt;p&gt;I had an issue with an ATL server deployed on my local machine.&lt;/p&gt;
&lt;p&gt;I compiled under VS2005 professional on 2003 server SP1.&lt;/p&gt;
&lt;p&gt;I was getting an Win32 error 127 in the IIS log file when browsing to the .srf file.&lt;/p&gt;
&lt;p&gt;As you probably know, ATL server under VS2005 creates an ISAPI Extension DLL to go along with the server DLL. For some strange reason Visual Studio 2005 will associate the .dll and .srf &amp;nbsp;with the &lt;/p&gt;
&lt;p&gt;&amp;lt;myATLserver&amp;gt;.dll instead of the &amp;lt;myATLserverISAPI&amp;gt;.dll when you deploy in VS. MSDN was no help with this. After beating my head against the wall for 2 hrs, I decided to change the mapping in IIS6 manager for both the .srf and .dll files to &amp;lt;myATLserverISAPI&amp;gt;.dll and it worked great!&lt;/p&gt;
&lt;p&gt;I hope I can help someone else who might have this same issue.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#5222403</link><pubDate>Mon, 01 Oct 2007 16:07:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5222403</guid><dc:creator>Petri Wilhelmsen</dc:creator><description>&lt;p&gt;Hi, I got one problem when loading an ISAPI filter. The filter runs well on WinXP and Windows Server 2003, SP1 but when I deploy it on my test server( also windows server 2003 SP2 std edition ) it fails with the error message: &amp;quot;Error in code&amp;quot;, ID: 2214, and Data: b1 26 00 00&lt;/p&gt;
&lt;p&gt;Win32 Error code is then 14001, and the source is W3SVC-WP.&lt;/p&gt;
&lt;p&gt;Any idea of what this can be, and how I can solve this?&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Petri Wilhelmsen&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#5782565</link><pubDate>Tue, 30 Oct 2007 19:05:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5782565</guid><dc:creator>Eric Conrad</dc:creator><description>&lt;p&gt;The second point that is mentioned for data 05 doesn't give a resolution. &amp;nbsp;It mentions that &lt;/p&gt;
&lt;p&gt;&amp;quot;For example, the ISAPI Filter may have tried to read/write a Registry key or file as the process identity, but unlike prior IIS versions, IIS6 runs as an unprivileged account by default that may fail to read/write with ERROR_ACCESS_DENIED, so the filter errors out by returning FALSE and leaving ERROR_ACCESS_DENIED as GetLastError().&amp;quot; &amp;nbsp;&lt;/p&gt;
&lt;p&gt;What would be the solution for this? &amp;nbsp;I am trying to load isapi_redirect.dll as a tomcat 5.5 connector. &amp;nbsp;I'm going a little nuts as I've followed the official docs to a T, and even my support person from the vendor can't reproduce what I'm seeing. &amp;nbsp;I'm getting the 05 error, and I've verified that IUSR is a member of the IIS_WPG group, and that that group has permissions to the dll file. &amp;nbsp;But how can I give access to the registry?&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Eric Conrad&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#6656692</link><pubDate>Tue, 04 Dec 2007 22:07:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6656692</guid><dc:creator>Patrick</dc:creator><description>&lt;p&gt;I am receiving a 0000: 02 00 00 00 &amp;nbsp; &amp;nbsp;Data error when trying to load the websphere 6 iis plugin. &amp;nbsp;I have checked NTFS security, and everything seems to be set ok. &amp;nbsp;We currently have 2 webservers, 1 server loads the DLL successfully. &amp;nbsp;When trying to set up the second webserver we receive the 2214 event id with data error above.&lt;/p&gt;
&lt;p&gt;thanks&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#8134128</link><pubDate>Mon, 10 Mar 2008 19:19:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8134128</guid><dc:creator>Chip</dc:creator><description>&lt;p&gt;I am trying to install the asp.dll filter but it will not load. I am getting this in the error log:&lt;/p&gt;
&lt;p&gt;7f 00 00 00.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#8201619</link><pubDate>Fri, 14 Mar 2008 14:44:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8201619</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Chip - asp.dll is not a filter, thus what you see in the event log is exactly correct.&lt;/p&gt;
&lt;p&gt;Do not install asp.dll as an ISAPI Filter because it is not an ISAPI Filter.&lt;/p&gt;
&lt;p&gt;ASP.DLL is configured as an Application Mapping to handle .asp requests, which should be pre-configured by default.&lt;/p&gt;
&lt;p&gt;//Davi&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#8201679</link><pubDate>Fri, 14 Mar 2008 14:49:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8201679</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Patrick - Make sure you configured the correct pathname to the &amp;nbsp;Filter DLL. This is really a support issue for WebSphere, not IIS/Windows configuration issue.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#8201753</link><pubDate>Fri, 14 Mar 2008 14:54:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8201753</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Eric - many things can cause Access Denied. Thus, I can only give possible examples to get you thinking.&lt;/p&gt;
&lt;p&gt;As I mentioned in my blog entry, ISAPI Filter runs as the process identity, which requires membership in the IIS_WPG group.&lt;/p&gt;
&lt;p&gt;IUSR is usually the impersonated Anonymous user account, which is not the process identity and thus not used to execute ISAPI Filter.&lt;/p&gt;
&lt;p&gt;Unless you configured the Application Pool to run as IUSR, you are not investigating the right user identity which is getting access denied.&lt;/p&gt;
&lt;p&gt;Please carefully read this and other blog entries of mine on how IIS executes code for troubleshooting tips.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#8398988</link><pubDate>Wed, 16 Apr 2008 16:39:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8398988</guid><dc:creator>Rahul</dc:creator><description>&lt;p&gt;I am receiving a 0000: fc 2a 00 00 Data error when trying to load the websphere 6 iis plugin. &amp;nbsp;I have checked NTFS security, and everything seems to be set ok. &amp;nbsp;We currently have 2 webservers, 1 server loads the DLL successfully. &amp;nbsp;When trying to set up the second webserver we receive the 2268 &amp;amp; 2214 event id with data error above and following 2 messages.&lt;/p&gt;
&lt;p&gt;1 - &lt;/p&gt;
&lt;p&gt;The HTTP Filter DLL D:\Program Files\WebSphere\AppServer\bin\iisWASPlugin_http.dll failed to load. &amp;nbsp;The data is the error.&lt;/p&gt;
&lt;p&gt;2-&lt;/p&gt;
&lt;p&gt;Could not load all ISAPI filters for site/service. &amp;nbsp;Therefore startup aborted.&lt;/p&gt;
&lt;p&gt;Please help.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#8409688</link><pubDate>Sat, 19 Apr 2008 06:46:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8409688</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Rahul - You are seeing the last case I mentioned, arbitrary value.&lt;/p&gt;
&lt;p&gt;It means the error came from the WebSphere ISAPI Filter iisWASPlugin_http.dll itself, which means you have to contact your support personel for that software.&lt;/p&gt;
&lt;p&gt;This seems like WebSphere configuration issue, unrelated to IIS.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#8560752</link><pubDate>Fri, 30 May 2008 02:38:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8560752</guid><dc:creator>Celso Bessa</dc:creator><description>&lt;p&gt;I also got this 0000: 05 00 00 00 error.&lt;/p&gt;
&lt;p&gt;In my case, i just installed PHP (via installer) and loaded the php5isapi.dll , rebooted the machine and then got this Service Unavailable message.&lt;/p&gt;
&lt;p&gt;Can you, please, tell me what could i do for solve it?&lt;/p&gt;
&lt;p&gt;Best Regards from Brazil.&lt;/p&gt;
&lt;p&gt;Celso Bessa&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#8563913</link><pubDate>Fri, 30 May 2008 21:26:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8563913</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Celso Bessa - If you used the PHP Installer, you need to obtain community support for PHP - it is supposed to setup everything for you.&lt;/p&gt;
&lt;p&gt;If it is doing this incorrectly, then you need to notify the PHP community and have the community correct it because the problem will likely affect everyone else that uses the installer.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#8615759</link><pubDate>Wed, 18 Jun 2008 13:55:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8615759</guid><dc:creator>santhosh</dc:creator><description>&lt;p&gt;Hi All,&lt;/p&gt;
&lt;p&gt;I have found one more scenario where IIS 5.1 raises an &lt;/p&gt;
&lt;p&gt;127 &amp;quot;The specified procedure could not be found.&amp;quot;&lt;/p&gt;
&lt;p&gt;error when attempting to start the WWW service on a Windows XP SP2 machine.&lt;/p&gt;
&lt;p&gt;I also have a working instance of IIS with the same configuration.&lt;/p&gt;
&lt;p&gt;I used the depends.exe to analyse the difference between the working and the non working instances.&lt;/p&gt;
&lt;p&gt;The file infocomm.dll should have the version 6.0.2600.2180&lt;/p&gt;
&lt;p&gt;which seems to be the correct file version shared by all files in SP2.&lt;/p&gt;
&lt;p&gt;The service was able to start once i had this version installed.&lt;/p&gt;
&lt;p&gt;Please note: reinstallation of IIS did not solve the problem, which might indicate it justcopies whatever is present in the cab files and these are not from SP2.&lt;/p&gt;
&lt;p&gt;Thanks David &amp;nbsp;for the tips here which helped me to resolve this.&lt;/p&gt;
&lt;p&gt;Regards&lt;/p&gt;
&lt;p&gt;Santhosh&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#8618970</link><pubDate>Thu, 19 Jun 2008 01:54:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8618970</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;santhosh - Thanks.&lt;/p&gt;
&lt;p&gt;Actually, Win32 Error 127 is pretty generic and happens whenever one piece of code tries to call a method in another piece of code and it fails to find that method.&lt;/p&gt;
&lt;p&gt;In the context of ISAPI Filters, the usual causes are as I describe above.&lt;/p&gt;
&lt;p&gt;In your specific instance, it was due to mismatched DLL versions, which do not have anything to do with ISAPI Filters. That specific problem happens for a small number of users with certain QFEs installed.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#8840776</link><pubDate>Thu, 07 Aug 2008 12:46:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8840776</guid><dc:creator>Premkumar Subramanian</dc:creator><description>&lt;p&gt;We are using IIS6. &lt;/p&gt;
&lt;p&gt;The ISAPI filter has been added to log the original client IP address in the log files. After adding the ISAPI filter, the status of the filter is shown with neither a red arrow nor a green arrow. It is blank even after several page requests. However all the pages were served successfully and we have not faced any issue with the site. &lt;/p&gt;
&lt;p&gt;The surprising part is, the ISAPI filter DOES it's expected functionality though the status of the filter in the site is blank. The log files do have the expected values.&lt;/p&gt;
&lt;p&gt;No error is logged in the event log (application + system) reg. the failure to load. &lt;/p&gt;
&lt;p&gt;Could you please help me in finding out where it goes wrong?&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#8845290</link><pubDate>Sun, 10 Aug 2008 00:56:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8845290</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Premkumar - if the Website which loads the ISAPI Filter is not created with the IIS UI or ADSI CreateWebSite() (i.e. you just CreateNode the entire structurue), then an ACL will be missing on the /Filters node of that website, which will prevent IIS from providing Filter Status (which is just a volatile metabase property) even though the filter is loaded and running.&lt;/p&gt;
&lt;p&gt;This is really a corner case introduced with IIS6 when the worker process ran as unprivileged Network Service -- which may not be able to modify all metabase properties. The Filter Status is one of those volatile metabase properties used by the UI to display status, so when Network Service is unable to modify the /Filters node (which is completely reasonable), you end up with the situation where the filter is running fine but no status shows up.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#8856661</link><pubDate>Wed, 13 Aug 2008 10:33:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8856661</guid><dc:creator>Premkumar Subramanian </dc:creator><description>&lt;p&gt;Hi David,&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Thanks for the reply.&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Yes, the websites were not created using IIS UI. As you mentioned, ACL is missing from the filter node when I look at metabase.xml. &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If I continue with the filter (though the status shown in UI is blank), Will there be any issues ?&lt;/p&gt;
&lt;p&gt;Thanks &amp;amp; Regards,&lt;/p&gt;
&lt;p&gt;Premkumar Subramanian&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#8857863</link><pubDate>Wed, 13 Aug 2008 15:17:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8857863</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Premkumar - if you do not observe any issues, then there is none to worry about.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#8919726</link><pubDate>Tue, 02 Sep 2008 13:21:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8919726</guid><dc:creator>AM2008</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt; &amp;nbsp;We want to have two websites running parallely on Windows XP box (this is the webdesigners box)&lt;/p&gt;
&lt;p&gt;both these websites are developed using .net 2.0 one of them runs with a secured protcol (https)&lt;/p&gt;
&lt;p&gt;For this we procured a ISAPI dll from the follwoing link&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://www.hairy-spider.com/CategoryView,category,Multisite.aspx"&gt;http://www.hairy-spider.com/CategoryView,category,Multisite.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;However i was not able configure it as per the stpes mentioned in the bolg, infact everytime I configure the ISAPI filter ....my locahost also comes up with the .NET error&lt;/p&gt;
&lt;p&gt;Is there a diferrent method to get two websites runnning simultaneously on XP box &lt;/p&gt;
&lt;p&gt;Aplologies if this is not the rigth forum&lt;/p&gt;
&lt;p&gt;Regards&lt;/p&gt;
&lt;p&gt;AM&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#8999416</link><pubDate>Tue, 14 Oct 2008 15:54:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8999416</guid><dc:creator>Marcos</dc:creator><description>&lt;p&gt;Hello I need some help here,&lt;/p&gt;
&lt;p&gt;Event Type:	Error&lt;/p&gt;
&lt;p&gt;Event Source:	W3SVC-WP&lt;/p&gt;
&lt;p&gt;Event Category:	None&lt;/p&gt;
&lt;p&gt;Event ID:	2268&lt;/p&gt;
&lt;p&gt;...&lt;/p&gt;
&lt;p&gt;Could not load all ISAPI filters for site/service. &amp;nbsp;Therefore startup aborted.&lt;/p&gt;
&lt;p&gt;...&lt;/p&gt;
&lt;p&gt;Data:&lt;/p&gt;
&lt;p&gt;0000: af 05 00 00 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#175;... &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p&gt;What's this?&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#8999474</link><pubDate>Tue, 14 Oct 2008 16:35:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8999474</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Marcos - the blog entry already explains it - the ISAPI Filter returned a custom status code when failing to load.&lt;/p&gt;
&lt;p&gt;The reason completely depends on the ISAPI Filter, so you will have to obtain support for the ISAPI Filter.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#9005725</link><pubDate>Sun, 19 Oct 2008 03:33:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9005725</guid><dc:creator>Alina</dc:creator><description>&lt;p&gt;I have not-standard question. &amp;nbsp;I want to have an object (wrapper around native object) to survive app-pool recycling and to only be reloaded on iisreset. If I implement ISAPI filter/extention (native or managed, doesn't metter) to load this object, will it live in its own app-pool (app domain) that will not be subject to normal IIS health-check app-pool recycle? In other words where within w3wp.exe process do ISAPI filter loaded? Once we load it in ISAPI, I assume we will be able to marshal by ref the calls into and from w3wp app pool itself (I hope). Any thoughts?&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Alina&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#9145100</link><pubDate>Wed, 26 Nov 2008 21:43:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9145100</guid><dc:creator>Chris</dc:creator><description>&lt;p&gt;Wow thank you! &amp;nbsp;I had 7F 00 00 00 and my isapi worked in 32 bit and not 64 bit. &amp;nbsp;I missed the /def for the 64 bit compile. &amp;nbsp;Thanks again for all the help!&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#9202590</link><pubDate>Fri, 12 Dec 2008 19:12:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9202590</guid><dc:creator>Chris C</dc:creator><description>&lt;p&gt;David, thanks for the great info across your site. I am having an issue loading an ISAPI filter for Tomcat (isapi_redirect-1.2.26.dll).&lt;/p&gt;
&lt;p&gt;I am running IIS 6.0 on Windows 2003. I checked the Windows event viewer, and I am getting a W3SVC-WP error, or 02 00 00 00. The ISAPI filter points to an existing DLL, so it is trying to load the right DLL, it is having some other error.&lt;/p&gt;
&lt;p&gt;I ran Dependency Walker on isapi_redirect-1.2.26.dll and it is showing a failure loading dwmapi.dll. I looked this up online and it is a Windows Vista DLL and should not even be on Windows 2003. I've also heard that it is a bug in IE7 since the IEFRAME.DLL looks for dwmapi.dll. Do you know how I can fix this problem? This is a shared development server so I would rather not uninstall IE7 if possible. Is there any other answer? Is dwmapi.dll really necessary to load my Tomcat connectors DLL?&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#9249552</link><pubDate>Tue, 23 Dec 2008 11:27:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9249552</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Chris C - the bug is in the Tomcat ISAPI filter. It should not be linked to have dependency on dwmapi.dll, which cannot be fulfilled on Windows Server 2003 without IE7.&lt;/p&gt;
&lt;p&gt;This issue has nothing to do with what you have heard with IE7 and dwmapi.dll -- it is the ISAPI Filter's fault for having extra dependencies...&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#9396644</link><pubDate>Wed, 04 Feb 2009 23:52:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9396644</guid><dc:creator>Paweł</dc:creator><description>&lt;p&gt;Hi David,&lt;/p&gt;
&lt;p&gt;I've got really peculiar problem. I've got my own ISAPI Filter which works perfectly installed on two servers (Win 2003 Ent R2), but on other two it does not want to load. What is the most strange it's that it seems not to load but the page starts and there is no 503. Filter status is not showing any arrow (red or green) after first hit. IIS log shows the request as processed. Event viewer says nothing. Filter's log file is not created but it's one of the first tasks in GetFilterVersion. When log file is not created GetFilterVersion should return false.&lt;/p&gt;
&lt;p&gt;So my question is. In what situations IIS does not return 503 when the Filter is not loaded? Any help is welcome even a sentence that it's written in the documentation. Just to know that it's something known. Here is the code of GetFilterVersion (I'm very fresh to the VC++ so any constructive criticism of the code is welcome):&lt;/p&gt;
&lt;p&gt;BOOL CASFilter::GetFilterVersion(PHTTP_FILTER_VERSION pVer)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;	// Call default implementation for initialization&lt;/p&gt;
&lt;p&gt;	CHttpFilter::GetFilterVersion(pVer);&lt;/p&gt;
&lt;p&gt;	// Create buffer for logging&lt;/p&gt;
&lt;p&gt;	char logBuffer[AS_BUFSIZE] = &amp;quot;TIME;TICK_COUNT;PROCESS;THREAD;LOG_LEVEL;TEXT\n&amp;quot;;&lt;/p&gt;
&lt;p&gt;	char szLogFile[ MAX_PATH ];&lt;/p&gt;
&lt;p&gt;	// Initialize COM&lt;/p&gt;
&lt;p&gt;	CoInitialize(NULL);&lt;/p&gt;
&lt;p&gt;	// Initialize some locks&lt;/p&gt;
&lt;p&gt;	InitializeCriticalSection(&amp;amp;rulesInitLock);&lt;/p&gt;
&lt;p&gt;	InitializeCriticalSection( &amp;amp;logFileLock );&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Initialize Configuration&lt;/p&gt;
&lt;p&gt;	BOOL ret = ASConfiguration::Initialize();&lt;/p&gt;
&lt;p&gt;	if (ret == FALSE)&lt;/p&gt;
&lt;p&gt;	{&lt;/p&gt;
&lt;p&gt;		return ret;&lt;/p&gt;
&lt;p&gt;	}&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//Initialize logger&lt;/p&gt;
&lt;p&gt;	Logger::Initialize(ASConfiguration::logLevel);&lt;/p&gt;
&lt;p&gt;	CASFilter::bRulesInitialized = FALSE;&lt;/p&gt;
&lt;p&gt;	wcstombs(CASFilter::pchLogFileName, ASConfiguration::logFilePath, AS_BUFSIZE);&lt;/p&gt;
&lt;p&gt;	CASFilter::logLevel = ASConfiguration::logLevel;&lt;/p&gt;
&lt;p&gt;	CASFilter::hLogFile = INVALID_HANDLE_VALUE;&lt;/p&gt;
&lt;p&gt;	sprintf( szLogFile, &amp;quot;%s.%d.log&amp;quot;, CASFilter::pchLogFileName, GetCurrentProcessId() );&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Create file here&lt;/p&gt;
&lt;p&gt;	hLogFile = CreateFile(szLogFile, GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);&lt;/p&gt;
&lt;p&gt;	if ( hLogFile == INVALID_HANDLE_VALUE )&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return FALSE;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt;	DWORD writtenBytes;&lt;/p&gt;
&lt;p&gt;	ret = WriteFile(hLogFile, logBuffer, (DWORD)strlen(logBuffer), &amp;amp;writtenBytes, NULL);&lt;/p&gt;
&lt;p&gt;	if (ret == FALSE)&lt;/p&gt;
&lt;p&gt;	{&lt;/p&gt;
&lt;p&gt;		return FALSE;&lt;/p&gt;
&lt;p&gt;	}&lt;/p&gt;
&lt;p&gt;	// Clear the flags set by base class&lt;/p&gt;
&lt;p&gt;	pVer-&amp;gt;dwFlags &amp;amp;= ~SF_NOTIFY_ORDER_MASK;&lt;/p&gt;
&lt;p&gt;	// Set the flags we are interested in&lt;/p&gt;
&lt;p&gt;	pVer-&amp;gt;dwFlags |= SF_NOTIFY_SECURE_PORT | SF_NOTIFY_NONSECURE_PORT | SF_NOTIFY_PREPROC_HEADERS;// | SF_NOTIFY_SEND_RESPONSE | SF_NOTIFY_SEND_RAW_DATA;&lt;/p&gt;
&lt;p&gt;	// Set Priority&lt;/p&gt;
&lt;p&gt;	pVer-&amp;gt;dwFlags |= SF_NOTIFY_ORDER_LOW;&lt;/p&gt;
&lt;p&gt;	_tcscpy(pVer-&amp;gt;lpszFilterDesc, &amp;quot;...&amp;quot;);&lt;/p&gt;
&lt;p&gt;	if (Logger::isInfo) logger.Info(logBuffer, AS_BUFSIZE, &amp;quot;Filter loaded successfully.&amp;quot;);&lt;/p&gt;
&lt;p&gt;	ret = logger.WriteToFile(hLogFile, logBuffer);&lt;/p&gt;
&lt;p&gt;	return ret;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#9398119</link><pubDate>Thu, 05 Feb 2009 13:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9398119</guid><dc:creator>Paweł</dc:creator><description>&lt;p&gt;David,&lt;/p&gt;
&lt;p&gt;For those who have questions to this article. If you don't find the answer read the blog more. Solution to my problem is on another post. Thanks for the solution:&lt;/p&gt;
&lt;p&gt;&amp;lt;a href=&amp;quot;&lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/david.wang/archive/2006/02/13/Why-ISAPI-Filters-can-load-in-some-but-not-all-websites-on-a-Domain-Controller.aspx&amp;quot;&amp;gt;http://blogs.msdn.com/david.wang/archive/2006/02/13/Why-ISAPI-Filters-can-load-in-some-but-not-all-websites-on-a-Domain-Controller.aspx&amp;lt;/a&amp;gt;"&gt;http://blogs.msdn.com/david.wang/archive/2006/02/13/Why-ISAPI-Filters-can-load-in-some-but-not-all-websites-on-a-Domain-Controller.aspx&amp;quot;&amp;gt;http://blogs.msdn.com/david.wang/archive/2006/02/13/Why-ISAPI-Filters-can-load-in-some-but-not-all-websites-on-a-Domain-Controller.aspx&amp;lt;/a&amp;gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Paweł&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#9398121</link><pubDate>Thu, 05 Feb 2009 13:45:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9398121</guid><dc:creator>Paweł</dc:creator><description>&lt;p&gt;Ehhh auto links:&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/david.wang/archive/2006/02/13/Why-ISAPI-Filters-can-load-in-some-but-not-all-websites-on-a-Domain-Controller.aspx"&gt;http://blogs.msdn.com/david.wang/archive/2006/02/13/Why-ISAPI-Filters-can-load-in-some-but-not-all-websites-on-a-Domain-Controller.aspx&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#9458528</link><pubDate>Wed, 04 Mar 2009 17:31:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9458528</guid><dc:creator>Gary S.</dc:creator><description>&lt;p&gt;Thanks for the great page, which didn't completely solve my problem but did point me in the right direction.&lt;/p&gt;
&lt;p&gt;When trying to set up isapi_redirector-1.2.27.dll with IIS 6.0, I was getting errors 2268 and 2214 with data 02 00 00 00 (system cannot find file). I thought it meant that IIS could not find the DLL I had specified. The key on this page that helped me is that the error was thrown by the ISAPI filter DLL itself, not by IIS trying to find the DLL.&lt;/p&gt;
&lt;p&gt;The file that was missing was a properties file that isapi_redirector-1.2.27.dll expects. See &lt;a rel="nofollow" target="_new" href="http://tomcat.apache.org/connectors-doc/reference/iis.html"&gt;http://tomcat.apache.org/connectors-doc/reference/iis.html&lt;/a&gt; for full details. That page claims that you can use either the registry or a properties file called isapi_redirector-1.2.27.properties in the same directory as the DLL. The registry didn't work for me, but once I started using a properties file instead of the registry, the redirector started working.&lt;/p&gt;
&lt;p&gt;I hope this will be helpful to someone.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#9468509</link><pubDate>Tue, 10 Mar 2009 04:31:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9468509</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Gary S. - Glad that the blog entry helped resolve your issue. I do not expect a blog entry to resolve all possible issues with ISAPI Filters, but it should point everyone in the right direction and keep digging.&lt;/p&gt;
&lt;p&gt;I would use a tool like Process Monitor (or the older FileMon/RegMon) from SysInternals.com to sniff what file and/or registry key that isapi_redirector is querying at start up. Perhaps the Application Pool Identity running the isapi_redirector ISAPI Filter did not have permissions to read that registry key or file system resource. The FileMon/RegMon/ProcMon tool will tell you what happened.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#9537240</link><pubDate>Wed, 08 Apr 2009 05:20:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9537240</guid><dc:creator>Bruno</dc:creator><description>&lt;p&gt;Friends,&lt;/p&gt;
&lt;p&gt;I have problem with the code 05 00 00 00 (Could not load all ISAPI filters for site/service. &amp;nbsp;Therefore startup aborted.) and (The HTTP Filter DLL E:\IIS_Sites\nameofmysite\BinUrlRewriting\IsapiRewrite4.dll failed to load. &amp;nbsp;The data is the error. ) &lt;/p&gt;
&lt;p&gt;The user IIS_WGP not result in success when i give in dll member, i have IIS 6.0 in Windows 2003 Server.&lt;/p&gt;
&lt;p&gt;Please Help Me&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#9810715</link><pubDate>Wed, 01 Jul 2009 13:44:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9810715</guid><dc:creator>ren.forever</dc:creator><description>&lt;p&gt;I have a website &amp;quot;RootSite&amp;quot; use AppPool#0&lt;/p&gt;
&lt;p&gt;and there are two virtual directories (&amp;quot;vdir1&amp;quot; &amp;amp; &amp;quot;vdir2&amp;quot;) in &amp;quot;RootSite&amp;quot;&lt;/p&gt;
&lt;p&gt;vdir1 uses AppPool#1 and vdir2 uses AppPool#2.&lt;/p&gt;
&lt;p&gt;And then when IIRF rewrites requests to vdir1 or vdir2, it shows HTTP403 ERROR&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#9885529</link><pubDate>Wed, 26 Aug 2009 19:14:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9885529</guid><dc:creator>Allen</dc:creator><description>&lt;p&gt;Excellent site for people like me, i have a problem my production webservice box is dying, i am trying to replace the box and configured webservice their. &amp;nbsp;I have test program by adding webreference i can send file to this test box, but when i post it give me &amp;quot;500 internal server error&amp;quot;. &amp;nbsp;But i can do the same in production, the production and test box are identical. &amp;nbsp; I can browse the webservice in the test box but i cannot post.&lt;/p&gt;
&lt;p&gt;Thank in advance..&lt;/p&gt;
&lt;p&gt;Allen&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#9887041</link><pubDate>Thu, 27 Aug 2009 18:30:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9887041</guid><dc:creator>Kalpesh</dc:creator><description>&lt;p&gt;I am able to load ISAPI dll file in IIS but getting error 404 file not found error after installing ISAPI in IIS. I am using IIS 5.1&lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#9892114</link><pubDate>Mon, 07 Sep 2009 10:11:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9892114</guid><dc:creator>filter failed</dc:creator><description>&lt;p&gt;The HTTP Filter DLL C:\Program Files\WebSphere\AppServer\bin\iisWASPlugin_http.dll failed to load. &amp;nbsp;The data is the error.&lt;/p&gt;
&lt;p&gt;Data:&lt;/p&gt;
&lt;p&gt;0000: fc 2a 00 00 &lt;/p&gt;
</description></item><item><title>re: HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures</title><link>http://blogs.msdn.com/david.wang/archive/2005/06/21/HOWTO-Diagnose-and-Fix-Common-ISAPI-Filter-Installation-Failures.aspx#9940379</link><pubDate>Wed, 23 Dec 2009 04:15:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9940379</guid><dc:creator>Peter B</dc:creator><description>&lt;p&gt;We have this issue on SharePoint with the error data: 0D 00 00 00.&lt;/p&gt;
&lt;p&gt;Any thoughts?&lt;/p&gt;
</description></item></channel></rss>