<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.iis.net/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/" xmlns:cs="http://blogs.iis.net/"><channel><title>Blog of &amp;quot;Brian Murphy-Booth&amp;quot; a.k.a. &amp;quot;Brian Booth&amp;quot; : IIS News Item</title><link>http://blogs.iis.net/brian-murphy-booth/archive/tags/IIS+News+Item/default.aspx</link><description>Tags: IIS News Item</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>How to troubleshoot an IIS "Event ID: 1009" error.</title><link>http://blogs.iis.net/brian-murphy-booth/archive/2007/03/22/how-to-troubleshoot-an-iis-event-id-1009-error.aspx</link><pubDate>Thu, 22 Mar 2007 16:20:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1632552</guid><dc:creator>brian-murphy-booth</dc:creator><slash:comments>13</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.iis.net/brian-murphy-booth/rsscomments.aspx?PostID=1632552</wfw:commentRss><comments>http://blogs.iis.net/brian-murphy-booth/archive/2007/03/22/how-to-troubleshoot-an-iis-event-id-1009-error.aspx#comments</comments><description>&lt;P&gt;An error that most IIS 6.0 administrators have probably encountered is "Event ID: 1009" which usually leads to a "503 Service Unavailable" error being displayed in a browser. "503" usually indicates the Application Pool has been disabled for some reason. The IIS support team frequently gets support calls to help resolve this issue and over the years&amp;nbsp;I have compiled a list of steps I use to troubleshoot this. If the following information seems too confusing please let me know and I'll clarify any confusing points. The follow list is broken down into different sections for the various "exit codes" that are in the Event 1009.&lt;/P&gt;
&lt;P&gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&lt;/P&gt;
&lt;P&gt;*** Problem Description ***&lt;BR&gt;Many times when an IIS6 application pool terminates the following will be logged.&lt;/P&gt;&amp;nbsp; 1. The Name of the App Pool&lt;BR&gt;&amp;nbsp; 2. The PID&lt;BR&gt;&amp;nbsp; 3.&amp;nbsp;The exit code.&lt;BR&gt;&lt;BR&gt;The &lt;STRONG&gt;&lt;U&gt;&lt;EM&gt;exit code&lt;/EM&gt;&lt;/U&gt;&lt;/STRONG&gt; is the most useful part of the event entry. 
&lt;P&gt;&amp;nbsp; Event Type:&amp;nbsp;Warning&lt;BR&gt;&amp;nbsp; Event Source:&amp;nbsp;W3SVC&lt;BR&gt;&amp;nbsp; Event Category:&amp;nbsp;None&lt;BR&gt;&amp;nbsp; Event ID:&amp;nbsp;1009&lt;BR&gt;&amp;nbsp; Date:&amp;nbsp;&amp;nbsp;1/29/2004&lt;BR&gt;&amp;nbsp; Time:&amp;nbsp;&amp;nbsp;10:01:14 AM&lt;BR&gt;&amp;nbsp; User:&amp;nbsp;&amp;nbsp;N/A&lt;BR&gt;&amp;nbsp; Computer:&amp;nbsp;COMPUTERNAME&lt;BR&gt;&amp;nbsp; Description:&lt;BR&gt;&amp;nbsp; A process serving application pool 'DefaultAppPool' terminated unexpectedly. The &lt;BR&gt;process id was '3908'. The process exit code was '0x80'.&lt;/P&gt;
&lt;P&gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&lt;/P&gt;
&lt;P&gt;*** Resolution ***&lt;/P&gt;
&lt;P&gt;Constants:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;// the WAS killed the worker process&lt;BR&gt;#define KILLED_WORKER_PROCESS_EXIT_CODE 0xFFFFFFFD&lt;/P&gt;
&lt;P&gt;// the worker process exited ok&lt;BR&gt;#define CLEAN_WORKER_PROCESS_EXIT_CODE&amp;nbsp; 0xFFFFFFFE&lt;/P&gt;
&lt;P&gt;// the worker process exited due to a fatal error&lt;BR&gt;#define ERROR_WORKER_PROCESS_EXIT_CODE&amp;nbsp; 0xFFFFFFFF&lt;/P&gt;
&lt;P&gt;-----------------------------------------------------------&lt;BR&gt;Concepts that apply to exit codes of both 0x80 and 0xffffffff&lt;BR&gt;&amp;nbsp; · Make sure "Network Service" and "IWAM_MACHINE" are members of IIS_WPG&lt;BR&gt;&amp;nbsp; · If a custom identity is being used for the app pool ensure it is in IIS_WPG&lt;BR&gt;&amp;nbsp; · Make sure that IIS_WPG is included somehow in these User Rights assignments &lt;BR&gt;(example: Everyone group includes IIS_WPG so that is sufficient)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a. Access this computer from network&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b. Log on as batch job&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c. Bypass traverse checking&lt;BR&gt;&amp;nbsp; · Ensure that IIS_WPG or members of that group are not in any of the &lt;BR&gt;corresponding "Deny" User Rights&lt;BR&gt;&amp;nbsp; · Ensure that "NT AUTHORITY\Authenticated Users" and "NT AUTHORITY\Interactive" &lt;BR&gt;are part of the "Users" group.&lt;BR&gt;&amp;nbsp; · Use FileMon.exe and RegMon.exe to identify ACC DENIED's.&lt;BR&gt;&amp;nbsp; · If customer has more than ~60 app pools with unique identities, set the &lt;BR&gt;following key:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HKLM\System\CurrentControlSet\Services\W3SVC\Parameters\UseSharedWPDesktop &lt;BR&gt;(REG_DWORD with value of 1)&lt;BR&gt;-----------------------------------------------------------&lt;BR&gt;The process exit code was '0x80'.&lt;BR&gt;&amp;nbsp; In certain cases when w3wp.exe goes away&amp;nbsp;IIS will attempt to determine the exit code by calling the&amp;nbsp;"GetExitCodeProcess" API.&lt;BR&gt;&amp;nbsp; If the&amp;nbsp;reason cannot be determined by this API then the code returned is&amp;nbsp;0x80.&lt;BR&gt;&amp;nbsp; "0x80" means&amp;nbsp;"ERROR_WAIT_NO_CHILDREN" which means "There are no child processes to wait for"&lt;/P&gt;
&lt;P&gt;&amp;nbsp; This &lt;EM&gt;typically&lt;/EM&gt; means the W3WP.exe never started at all which could be User-Rights related or &lt;BR&gt;NTFS permissions.&lt;BR&gt;&amp;nbsp; If it is NTFS permissions, that means the AppPool identity doesn't have read &lt;BR&gt;permission to the w3wp.exe file and/or supporting DLLs&lt;BR&gt;&amp;nbsp; - Use FileMon to troubleshoot&lt;BR&gt;&amp;nbsp; If it is User Rights related then the AppPool identity failed to logon.&lt;BR&gt;&amp;nbsp; - Check the 3 User Rights listed above.&lt;BR&gt;-----------------------------------------------------------&lt;BR&gt;The process exit code was '0xffffffff'.&lt;BR&gt;&amp;nbsp; Means the W3WP.exe process partially started but could not load a dependancy for &lt;BR&gt;some reason.&lt;BR&gt;&amp;nbsp; This is either permissions/security related or due to mismatched DLL's.&lt;BR&gt;&amp;nbsp; Try running the AppPool as "Local System"&lt;BR&gt;&amp;nbsp; - If this works it is a permissions problem for the AppPool Identity. Check the &lt;BR&gt;following "Scenarios" section then follow the "concepts" section above&lt;BR&gt;&amp;nbsp; - If this fails using System it is a mismatch or missing DLL problem. Check &lt;BR&gt;scenario #1 below then follow the "Loader Snaps" section&lt;/P&gt;
&lt;P&gt;Scenarios for 0xffffffff&lt;/P&gt;
&lt;P&gt;&amp;nbsp; 1. The first thing that should be checked is whether a Windows Service pack is&amp;nbsp;installed&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - If it is, verify that "c:\windows\System32\instsrv\w3core.dll" is either the &lt;BR&gt;RTM version or SP1 version.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - If it is the RTM version then reapplying the service pack&amp;nbsp;should fix the problem.&lt;/P&gt;
&lt;P&gt;&amp;nbsp; 2. Is this IIS server a DC and have you reinstalled IIS on another DC?&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I have had two cases where there was a permissions failure reading nodes in the &lt;BR&gt;metabase&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; When installing IIS it creates an IIS_WPG group with a somewhat random SID.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Permissions in the metabase are then set using this unique version of &lt;BR&gt;IIS_WPG.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; When removing IIS on a DC&amp;nbsp;it will delete the IIS_WPG group, if Win2k3 SP1 is &lt;BR&gt;not installed, which is used by all the other DC's running IIS&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; When then adding IIS back on to this DC, a new IIS_WPG group is created that &lt;BR&gt;has a new SID&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; The pre-existing permissions (older SID) in the other metabases will have &lt;BR&gt;"Unknown User" for the permissions and spawning W3WP.exe under anything other than &lt;BR&gt;SYSTEM will fail with 0xffffffff&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - I found this by enabling Tracing then searching through source code.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - If you get a Debug Trace using DbgView.exe look for a line that says:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; w3core!W3_SERVER::Initialize [\w3server.cxx @ 526]:Error reading &lt;BR&gt;UseDigestSSP property.&amp;nbsp; hr = 80070005&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - However It would be easy enough to skip Debug Tracing and just look at the &lt;BR&gt;following nodes using Metabase Explorer.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - IIS_WPG needs permissions to the following nodes: &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1. MachineName - Read&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2. w3svc/1/Filters (or any other filters node) - Read/Write&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3. w3svc/AppPools - Special (Query Unsecure Property)&lt;/P&gt;
&lt;P&gt;&amp;nbsp; 3. Has the customer modified default DCOM security?&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - We&amp;nbsp;have run into an issue where the customer had modified &lt;BR&gt;the default Launch and Activation Permissions in Component Services.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - The customer removed Local Launch and Local Activation for the Everyone &lt;BR&gt;group.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Here is the section of loader snaps output that is a hint of this scenario:&lt;/P&gt;
&lt;P&gt;LDR: LdrGetProcedureAddress by NAME - CoMarshalInterface&lt;BR&gt;LDR: LdrGetProcedureAddress by NAME - CoUnmarshalInterface&lt;BR&gt;LDR: LdrGetProcedureAddress by NAME - CoReleaseMarshalData&lt;BR&gt;(15c8.914): Unknown exception - code 80070005 (first chance)&lt;BR&gt;LDR: UNINIT LIST&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (1) [iisres.dll] c:\windows\system32\inetsrv\iisres.dll (0) deinit 0&lt;BR&gt;LDR: Unmapping [iisres.dll]&lt;BR&gt;LDR: Derefcount IISMAP.dll (0)&lt;/P&gt;
&lt;P&gt;-----------------------------------------------------------&lt;BR&gt;The process exit code was '0xc0000005'.&lt;BR&gt;&amp;nbsp; This is a crash.&lt;BR&gt;&amp;nbsp; Troubleshoot using a Debugger. (Debug Diagnostics)&lt;BR&gt;-----------------------------------------------------------&lt;BR&gt;The process exit code was '0xff'.&lt;BR&gt;&amp;nbsp; Process shut down "gracefully" for some reason.&lt;BR&gt;&amp;nbsp; Troubleshoot as a crash and see who called TerminateProcess or ExitProcess.&lt;BR&gt;-----------------------------------------------------------&lt;BR&gt;The process exit code was '0x0'.&lt;BR&gt;&amp;nbsp; This would be typical if you had w3wp.exe configured to launch under a debugger &lt;BR&gt;and you never did a "Go" in the debugger windows.&lt;BR&gt;&amp;nbsp; Launch gflags.exe and clear the debugger setting for w3wp.exe&lt;BR&gt;-----------------------------------------------------------&lt;BR&gt;Loader Snaps Section - These steps are not for getting memory dumps. This explains &lt;BR&gt;how to easily get the reason that a module (DLL) failed to load which is one reason for a 0xffffffff.&lt;/P&gt;
&lt;P&gt;&amp;nbsp; 1. Send customer "gflags.exe" (can be obtained from Debugging Tools for &lt;BR&gt;Windows)&lt;BR&gt;&amp;nbsp; 2. Double-click gflags.exe&lt;BR&gt;&amp;nbsp; 3. Go to the "Image File" tab&lt;BR&gt;&amp;nbsp; 4. Enter "w3wp.exe" for the image then press "tab"&lt;BR&gt;&amp;nbsp; 5. Put a check in "Show loader snaps"&lt;BR&gt;&amp;nbsp; 6. Put a check in "Debugger" and enter&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "NTSD.exe -logo c:\temp\LDR.log -g -G -r 0" (&amp;lt;-- that is a zero)&lt;BR&gt;&amp;nbsp; 7. Ensure the folder from the previous step has adequate read/write permissions &lt;BR&gt;for the Identity that is launching the AppPool.&lt;BR&gt;&amp;nbsp; 8. Ensure that the AppPool is enabled&lt;BR&gt;&amp;nbsp; 9. Reproduce the problem. - At this point w3wp.exe should spawn under NTSD.exe, &lt;BR&gt;write to the log, then shut down.&lt;BR&gt;&amp;nbsp; 10. Have customer send the LoaderSnaps.log output found in the c:\temp folder.&lt;BR&gt;&amp;nbsp; 11. Search for the text of "exception" or "failed" (you'll probably find what you &lt;BR&gt;want near the end of the log)&lt;BR&gt;&amp;nbsp; 12. Lookup the listed error number using err.exe or hrplus.exe. The DLL that it &lt;BR&gt;is having trouble on is the line just previous to the "exception/failed" line.&lt;BR&gt;&amp;nbsp; 13. Take the logical steps to address whatever the error is describing.&lt;/P&gt;
&lt;P&gt;&amp;nbsp; Notes - Don't forget to reverse these settings when done.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - If you identify a DLL that is the wrong version usually simply &lt;BR&gt;reapplying the relevant hotfix or service pack will resolve the issue.&lt;BR&gt;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&lt;BR&gt;&lt;/P&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=1632552" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/brian-murphy-booth/archive/tags/IIS+News+Item/default.aspx">IIS News Item</category><category domain="http://blogs.iis.net/brian-murphy-booth/archive/tags/iis+6+troubleshooting/default.aspx">iis 6 troubleshooting</category></item><item><title>DelegConfig (Kerberos/Delegation Configuration Reporting Tool)</title><link>http://blogs.iis.net/brian-murphy-booth/archive/2007/03/09/delegconfig-delegation-configuration-reporting-tool.aspx</link><pubDate>Fri, 09 Mar 2007 19:10:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1613802</guid><dc:creator>brian-murphy-booth</dc:creator><slash:comments>6</slash:comments><description>&lt;P&gt;&lt;STRONG&gt;Where is the tool?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; For 2.0+ framework - IIS 6.0,&amp;nbsp;7.0, 7.5&amp;nbsp;- &lt;A href="http://blogs.iis.net/brian-murphy-booth/archive/2009/04/22/delegconfig-v2-beta.aspx"&gt;http://blogs.iis.net/brian-murphy-booth/archive/2009/04/22/delegconfig-v2-beta.aspx&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;STRONG&gt;
&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; For 1.1 framework - IIS 5.0, IIS 6.0&amp;nbsp;-&amp;nbsp;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;A href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1434"&gt;http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1434&lt;/A&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What is this tool?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; This is an ASP.NET application that I wrote a couple years ago that&amp;nbsp;is meant&amp;nbsp;to be called from Internet Explorer on an actual client machine. The tool (aspx page)&amp;nbsp;attempts to&amp;nbsp;look at all the common settings that contribute towards successful Kerberos authentication and delegation. I had originally written&amp;nbsp;a&amp;nbsp; simple&amp;nbsp;ASP page for my co-workers to&amp;nbsp;demonstrate how to see whether a request had authenticated with Kerberos or NTLM by doing Response.Write Request.ServerVariables("HTTP_AUTHORIZATION"). After a little while I decided "why stop there?!" The tool will now check all the common pitfalls of Kerberos authentication except for a couple issues that I can't check for when the web request fails entirely (if my page won't even run, how can I check those settings?).&lt;/P&gt;
&lt;P&gt;I'd like to hear your feedback!! If you have problems, constructive criticism, or praise&amp;nbsp;please&amp;nbsp;let me know. If you have comments or suggestions that will benefit the masses, I'll try to find time to implement your suggestions into the tool.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Usage Tips:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;READ THE "Explanation" SECTIONS!! This tool is meant to be a teacher. If you don't read your material, you probably aren't going to understand what to do or at least why you're doing something that it suggests you do.&lt;/LI&gt;
&lt;LI&gt;Did I mention that you should read the "Explanation" sections?? Do it!!&lt;/LI&gt;
&lt;LI&gt;There are some "Fix This" buttons that help automate addressing issues. Although it isn't 100% clear in some of the output, it is probably easiest to use the "Fix This" buttons instead of manually following any KB articles that are also included in the output. You can, however, do whichever you prefer since either method should fix the applicable configuration problem.&lt;/LI&gt;
&lt;LI&gt;If the DelegConfig tool doesn't work as expected, please see the "KNOWN PROBLEMS AND WORKAROUNDS" section below&lt;/LI&gt;
&lt;LI&gt;If you end up making changes to your configuration based on what the tool reports, it is common that you'll need to log on/off the workstation machine and/or restart the IIS service or back-end service before you see Kerberos/Delegation start to work as desired.&lt;/LI&gt;
&lt;LI&gt;Part of "Delegation" is authenticating with a back-end service. Don't forget to add the back-end server information with the applicable hyperlink to make sure everything looks good there too.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;---------------------------------------------------------------&lt;BR&gt;REQUIRED COMPONENTS:&lt;BR&gt;---------------------------------------------------------------&lt;BR&gt;&amp;nbsp; 1. All files in this ZIP are required for the ASPX page to operate properly.&lt;BR&gt;&amp;nbsp; 2. ASP.NET version 1.1.4322.2300 or higher (also works with&amp;nbsp;v2.0.50727)&amp;nbsp;must be installed on the IIS server.&lt;/P&gt;
&lt;P&gt;---------------------------------------------------------------&lt;BR&gt;OPTIONAL COMPONENTS:&lt;BR&gt;---------------------------------------------------------------&lt;BR&gt;&amp;nbsp; 1. For more accurate results&amp;nbsp;the .Net framework should be installed on the Workstation/Client&lt;/P&gt;
&lt;P&gt;---------------------------------------------------------------&lt;BR&gt;SETUP:&lt;BR&gt;---------------------------------------------------------------&lt;BR&gt;&amp;nbsp; 1. Unzip files to desired location that is *local* to the IIS server.&lt;BR&gt;&amp;nbsp; 2. In the IIS MMC create a new virtual directory that points to the folder with the unzipped files.&lt;BR&gt;&amp;nbsp; 3. Configure the virtual directory as an IIS application&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; a. In the IIS MMC right-click the vDir and choose Properties.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; b. On the "Virtual Directory" tab click "Create" (if already configured as an IIS app you'll see a "Remove" button instead)&lt;BR&gt;&amp;nbsp; 4. Ensure that "Scripts Only" (recommended) or "Scripts and Executables" is enabled for this vDir.&lt;/P&gt;
&lt;P&gt;---------------------------------------------------------------&lt;BR&gt;USAGE:&lt;BR&gt;---------------------------------------------------------------&lt;BR&gt;&amp;nbsp; 1. View the Default.aspx page through a web browser with an address such as "&lt;A href="http://myserver/MyVirtualDirectory/" mce_href="http://myserver/MyVirtualDirectory/"&gt;http://MyServer/MyVirtualDirectory/&lt;/A&gt;"&lt;/P&gt;
&lt;P&gt;---------------------------------------------------------------&lt;BR&gt;KNOWN PROBLEMS AND WORKAROUNDS.&lt;BR&gt;---------------------------------------------------------------&lt;BR&gt;General:&lt;BR&gt;&amp;nbsp; Generally speaking if there are any problems running this tool's Default.aspx page (errors of any sort) it is probably because Kerberos isn't working yet. :-p. In that case it is best to start by requesting the page locally from the IIS server. Certain types of problems only exist when IE attempts to connect to IIS using Kerberos and&amp;nbsp;Kerberos&amp;nbsp;is usually not used when local to the IIS server. Requesting the Default.aspx&amp;nbsp;locally from the server&amp;nbsp;will avoid many types of problems this DelegConfig tool can encounter. Once you can get this page working locally from the IIS server the tool will then report some of the problems that could affect Kerberos and/or Delegation. Once some of those items are addressed and Kerberos is closer to working you may be able to do additional checks by requesting the ASPX page from a remote IE machine.&lt;/P&gt;
&lt;P&gt;--------------&lt;BR&gt;Problem:&lt;BR&gt;[HttpException (0x8007052e): Failed to start monitoring changes to '\\ServerName\ShareName'.]&lt;/P&gt;
&lt;P&gt;&amp;nbsp; ASP.net uses a hierarchical system of reading configuration files starting with Machine.Config, then web.config from the root of the web site, then finally web.config file from the virtual directory the ASPX application is running. Any time one of these files changes, IIS wants to be able to reload the file and restart the web application to ensure the most recent configuration is being used. If the dot net framework is not able to read from the root of the web site using the ASPNET account, this error will be returned. This is typical of when the home directory is a UNC path.&lt;/P&gt;
&lt;P&gt;Workaround:&lt;BR&gt;&amp;nbsp; 1. If running IIS 6.0 this can sometimes be fixed by disabling "Run www service in IIS 5.0 Isolation Mode".&lt;BR&gt;&amp;nbsp; OR&lt;BR&gt;&amp;nbsp; 2. To ensure that ASPNET can read from the root of the web site, temporarily change the "Home Directory" of the site to a local path. Once you have resolved the Kerberos and Delegation issues based on the results of the ASPX application you can change the home directory back to the desired UNC path.&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;--------------&lt;BR&gt;Problem:&lt;BR&gt;&amp;nbsp; Continuous password prompt with underlying 401.1 response. There are 2 common possibilities for this.&lt;/P&gt;
&lt;P&gt;Additional Information:&lt;BR&gt;&amp;nbsp; Looking in the security event logs shows:&lt;/P&gt;
&lt;P&gt;POSSIBILITY ONE (notice the Logon Process of Kerberos):&lt;BR&gt;&amp;nbsp; Event Type:&amp;nbsp;Failure Audit&lt;BR&gt;&amp;nbsp; Event Source:&amp;nbsp;Security&lt;BR&gt;&amp;nbsp; Event Category:&amp;nbsp;Logon/Logoff &lt;BR&gt;&amp;nbsp; Event ID:&amp;nbsp;529&lt;BR&gt;&amp;nbsp; Date:&amp;nbsp;&amp;nbsp;1/1/2005&lt;BR&gt;&amp;nbsp; Time:&amp;nbsp;&amp;nbsp;6:00:00 PM&lt;BR&gt;&amp;nbsp; User:&amp;nbsp;&amp;nbsp;NT AUTHORITY\SYSTEM&lt;BR&gt;&amp;nbsp; Computer:&amp;nbsp;COMPUTERNAME&lt;BR&gt;&amp;nbsp; Description:&lt;BR&gt;&amp;nbsp; Logon Failure:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Reason:&amp;nbsp;&amp;nbsp;Unknown user name or bad password&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; User Name:&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Domain:&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Logon Type:&amp;nbsp;3&lt;BR&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; Logon Process:&amp;nbsp;Kerberos&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Authentication Package:&amp;nbsp;Kerberos&lt;/P&gt;
&lt;P&gt;Workaround:&lt;BR&gt;&amp;nbsp; You receive an "HTTP Error 401.1 - Unauthorized: Access is denied due to invalid credentials" error message when you try to access a Web site that is part of an IIS 6.0 application pool&lt;BR&gt;&amp;nbsp; &lt;A href="http://support.microsoft.com/?id=871179" mce_href="http://support.microsoft.com/?id=871179"&gt;http://support.microsoft.com/?id=871179&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;POSSIBILITY TWO (notice the strange Logon Process):&lt;BR&gt;&amp;nbsp; Event Type:&amp;nbsp;Failure Audit&lt;BR&gt;&amp;nbsp; Event Source:&amp;nbsp;Security&lt;BR&gt;&amp;nbsp; Event Category:&amp;nbsp;Logon/Logoff &lt;BR&gt;&amp;nbsp; Event ID:&amp;nbsp;537&lt;BR&gt;&amp;nbsp; Date:&amp;nbsp;&amp;nbsp;1/1/2005&lt;BR&gt;&amp;nbsp; Time:&amp;nbsp;&amp;nbsp;6:00:00 PM&lt;BR&gt;&amp;nbsp; User:&amp;nbsp;&amp;nbsp;NT AUTHORITY\SYSTEM&lt;BR&gt;&amp;nbsp; Computer:&amp;nbsp;COMPUTERNAME&lt;BR&gt;&amp;nbsp; Description:&lt;BR&gt;&amp;nbsp; Logon Failure:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Reason:&amp;nbsp;&amp;nbsp;An error occurred during logon&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; User Name:&amp;nbsp;someuser&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Domain:&amp;nbsp;&amp;nbsp;SOMEDOMAIN&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Logon Type:&amp;nbsp;3&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Logon Process:&amp;nbsp;Ðù²&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Authentication Package:&amp;nbsp;NTLM&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Workstation Name:&amp;nbsp;COMPUTERNAME&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Status code:&amp;nbsp;0xC000006D&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Substatus code:&amp;nbsp;0x0&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Source Network Address:&amp;nbsp;127.0.0.1&lt;/P&gt;
&lt;P&gt;Workaround:&lt;BR&gt;&amp;nbsp; You receive error 401.1 when you browse a Web site that uses Integrated Authentication and is hosted on IIS 5.1 or IIS 6&lt;BR&gt;&amp;nbsp; &lt;A href="http://support.microsoft.com/?id=896861" mce_href="http://support.microsoft.com/?id=896861"&gt;http://support.microsoft.com/?id=896861&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=1613802" width="1" height="1"&gt;</description><enclosure url="http://blogs.iis.net/brian-murphy-booth/attachment/1613802.ashx" length="113045" type="application/x-zip-compressed" /><category domain="http://blogs.iis.net/brian-murphy-booth/archive/tags/IIS+News+Item/default.aspx">IIS News Item</category><category domain="http://blogs.iis.net/brian-murphy-booth/archive/tags/Kerberos/default.aspx">Kerberos</category><category domain="http://blogs.iis.net/brian-murphy-booth/archive/tags/ServicePrincipalName/default.aspx">ServicePrincipalName</category><category domain="http://blogs.iis.net/brian-murphy-booth/archive/tags/Delegation/default.aspx">Delegation</category></item></channel></rss>