<?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>BillS IIS Blog : Troubleshooting</title><link>http://blogs.iis.net/bills/archive/tags/Troubleshooting/default.aspx</link><description>Tags: Troubleshooting</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Error connecting to SQL Server from Windows 7 / Windows 2008 R2 with ASP.NET</title><link>http://blogs.iis.net/bills/archive/2009/10/07/error-connecting-to-sql-server-from-windows-7-windows-2008-r2-with-asp-net.aspx</link><pubDate>Wed, 07 Oct 2009 20:41:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:3446387</guid><dc:creator>bills</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.iis.net/bills/rsscomments.aspx?PostID=3446387</wfw:commentRss><comments>http://blogs.iis.net/bills/archive/2009/10/07/error-connecting-to-sql-server-from-windows-7-windows-2008-r2-with-asp-net.aspx#comments</comments><description>&lt;p&gt;Just ran into this and thought I’d share.&amp;#160; If you are trying to connect to a "user instance" of SQL Server from your Web application running on Windows 7 or Windows 2008 R2 and you’re getting a message that looks like this:&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Failed to generate a user instance of SQL Server due to failure in retrieving the user's local application data path. Please make sure the user has a local user profile on the computer. The connection will be closed.&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.iis.net/blogs/bills/image_091E996A.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.iis.net/blogs/bills/image_thumb_4369E97E.png" width="640" height="430" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I can probably help you out.&amp;#160; &lt;/p&gt;  &lt;p&gt;Note: this error only happens if you have User Instance=true in your connection string.  The IIS team made a change to the default identity of the worker process.&amp;#160;&amp;#160; Starting with IIS 7.5, Application Pools run with a unique identity based on the Application Pool name, rather than NetworkService – the default identity for IIS6 and IIS7.&amp;#160; The primary reason for this change is to increase the security of IIS and Application Pools by default, providing a much better sandbox between Applications and other Windows services by default.&amp;#160; &lt;/p&gt;  &lt;p&gt;Unfortunately, the new identity does not have a user profile, and as you can see from the error, this causes the SqlClient data stack to fail.&amp;#160; There are a few things you can do to "fix" this error:&amp;#160; 1) switch back to NetworkService 2) switch to a user account that has a local profile (like a real user / domain user account).&amp;#160; To do that, fire open IIS Manager and browse to Application Pools node for your computer.&amp;#160; Click on the AppPool for the application you are trying to run and select the “Advanced Settings” task (in yellow on right).&amp;#160; Select identity and choose NetworkService as a built-in account, or select “Custom account” and type in the user/password.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.iis.net/blogs/bills/image_2131DDF8.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.iis.net/blogs/bills/image_thumb_1F516264.png" width="631" height="480" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If you’re a command-line person, you can do it this way (all on one line):&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;pre&gt;%windir%\system32\inetsrv\appcmd.exe set config  
-section:system.applicationHost/applicationPools /[name='YOUR_APPPPOOL_NAME_HERE'].processModel.identityType:&amp;quot;NetworkService&amp;quot;  
/commit:apphost&lt;/pre&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=3446387" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/bills/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.iis.net/bills/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category><category domain="http://blogs.iis.net/bills/archive/tags/Developers/default.aspx">Developers</category><category domain="http://blogs.iis.net/bills/archive/tags/Administrators/default.aspx">Administrators</category><category domain="http://blogs.iis.net/bills/archive/tags/IIS7.5/default.aspx">IIS7.5</category><category domain="http://blogs.iis.net/bills/archive/tags/SQL+Server/default.aspx">SQL Server</category></item><item><title>More Tips and Troubleshooting Help for Classic ASP Developers</title><link>http://blogs.iis.net/bills/archive/2009/02/20/more-tips-and-troubleshooting-help-for-classic-asp-developers.aspx</link><pubDate>Fri, 20 Feb 2009 23:10:18 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2956074</guid><dc:creator>bills</dc:creator><slash:comments>8</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.iis.net/bills/rsscomments.aspx?PostID=2956074</wfw:commentRss><comments>http://blogs.iis.net/bills/archive/2009/02/20/more-tips-and-troubleshooting-help-for-classic-asp-developers.aspx#comments</comments><description>&lt;p&gt;Back in May of 2007 I posted a &lt;a href="http://blogs.iis.net/bills/archive/2007/05/21/tips-for-classic-asp-developers-on-iis7.aspx"&gt;tips for Classic ASP developers&lt;/a&gt; post which has since received more than 50 comments and 85,000 views.&amp;#160; Robert McMurray just posted a set of fabulous tutorials for Classic ASP developers.&amp;#160; If you’re out there and having issues with Classic ASP and IIS7 and need some help, you’re not alone!&amp;#160; Read these articles to get help:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h5&gt;&lt;a href="http://learn.iis.net/page.aspx/562/classic-asp-is-not-installed-by-default-on-iis-70-and-iis-75/"&gt;Classic ASP is not installed by default on IIS 7.0 and IIS 7.5&lt;/a&gt;&lt;/h5&gt;  &lt;p&gt;In IIS 7.0 and 7.5, the classic version of ASP is not installed by default. Because of this, you might see HTTP 404 errors when you try to browse to an ASP page on your server, or you might see the source code for your ASP page displayed in your browser window ... &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://learn.iis.net/page.aspx/563/using-classic-asp-with-microsoft-access-databases-on-iis-70-and-iis-75/"&gt;Using Classic ASP with Microsoft Access Databases on IIS 7.0 and IIS 7.5&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Note: Microsoft Access databases have been popular for many years with developers who use Active Server Pages (ASP) for small-scale applications, but Microsoft Access databases are not designed for scalability, therefore Access databases should only be used ... &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://learn.iis.net/page.aspx/564/classic-asp-script-error-messages-are-no-longer-shown-in-a-web-browser-by-default/"&gt;Classic ASP script error messages are no longer shown in a Web browser by default&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In earlier versions of IIS, error messages from classic ASP scripts were sent to a Web browser, by default. Because these error messages might reveal sensitive information to malicious users, IIS 7.0 disables this feature by default. When your classic ASP ... &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://learn.iis.net/page.aspx/565/using-failed-request-tracing-to-troubleshoot-classic-asp-errors/"&gt;Using Failed Request Tracing to troubleshoot Classic ASP errors&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;One of the great troubleshooting features that is built in to IIS 7.0 is Failed Request Tracing, which lets you configure tracing rules on your server that will create detailed troubleshooting log files for custom failure conditions that you define. For example ... &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://learn.iis.net/page.aspx/566/classic-asp-parent-paths-are-disabled-by-default/"&gt;Classic ASP parent paths are disabled by default&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Classic ASP Parent Paths let developers use relative addresses that contain &amp;quot;..&amp;quot; in the paths to files or folders. For example, the following code excerpt illustrates an ASP page that maps a parent path: % Response.Write Server.MapPath(&amp;quot;../example.asp&amp;quot;)%&amp;gt; ... &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://learn.iis.net/page.aspx/567/applphysicalpath-server-variable-on-windows-vista-rtm/"&gt;APPL_PHYSICAL_PATH Server Variable on Windows Vista RTM&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The original release of IIS 7.0 that shipped with Windows Vista returned a different value for the APPL_PHYSICAL_PATH server variable than that which was returned by previous &lt;/p&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=2956074" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/bills/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.iis.net/bills/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category><category domain="http://blogs.iis.net/bills/archive/tags/Compatibility/default.aspx">Compatibility</category><category domain="http://blogs.iis.net/bills/archive/tags/IIS+News+Item/default.aspx">IIS News Item</category><category domain="http://blogs.iis.net/bills/archive/tags/Developers/default.aspx">Developers</category><category domain="http://blogs.iis.net/bills/archive/tags/ASP/default.aspx">ASP</category></item><item><title>Why IIS7? Top 12 cool features…</title><link>http://blogs.iis.net/bills/archive/2008/11/20/why-iis7-top-12-cool-features.aspx</link><pubDate>Fri, 21 Nov 2008 04:13:45 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2759317</guid><dc:creator>bills</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.iis.net/bills/rsscomments.aspx?PostID=2759317</wfw:commentRss><comments>http://blogs.iis.net/bills/archive/2008/11/20/why-iis7-top-12-cool-features.aspx#comments</comments><description>&lt;p&gt;Every time I talk with customers in meetings or at conferences I’m struck by how many cool amazing new capabilities IIS7 has.&amp;#160; I can go on for literally hours talking about the new features and benefits, and showing demos.&amp;#160; And with each new &lt;a href="http://www.iis.net/extensions"&gt;IIS7 Extension&lt;/a&gt;, the list of new features just gets bigger and bigger.&amp;#160; A few months ago I realized we didn’t have the top list of features written up anywhere, and so we started the process of distilling down the list to the top 10.&amp;#160; We almost made it!&amp;#160; We ended up with the top 12 reasons you should get IIS7 today.&amp;#160; Check them out here:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.iis.net/getstarted" href="http://www.iis.net/getstarted"&gt;http://www.iis.net/getstarted&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Over the next few weeks we’ll be adding a cool demo for each of the reasons to show the features in action.&amp;#160; Be sure to check back soon!&lt;/p&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=2759317" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/bills/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.iis.net/bills/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.iis.net/bills/archive/tags/Extensibility/default.aspx">Extensibility</category><category domain="http://blogs.iis.net/bills/archive/tags/Administration/default.aspx">Administration</category><category domain="http://blogs.iis.net/bills/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category><category domain="http://blogs.iis.net/bills/archive/tags/IIS+News+Item/default.aspx">IIS News Item</category><category domain="http://blogs.iis.net/bills/archive/tags/Developers/default.aspx">Developers</category><category domain="http://blogs.iis.net/bills/archive/tags/Performance/default.aspx">Performance</category><category domain="http://blogs.iis.net/bills/archive/tags/Videos/default.aspx">Videos</category><category domain="http://blogs.iis.net/bills/archive/tags/Media/default.aspx">Media</category><category domain="http://blogs.iis.net/bills/archive/tags/Administrators/default.aspx">Administrators</category><category domain="http://blogs.iis.net/bills/archive/tags/Configuration/default.aspx">Configuration</category><category domain="http://blogs.iis.net/bills/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.iis.net/bills/archive/tags/Deployment/default.aspx">Deployment</category></item><item><title>How to backup/restore IIS7 configuration</title><link>http://blogs.iis.net/bills/archive/2008/03/24/how-to-backup-restore-iis7-configuration.aspx</link><pubDate>Tue, 25 Mar 2008 03:55:07 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2252460</guid><dc:creator>bills</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.iis.net/bills/rsscomments.aspx?PostID=2252460</wfw:commentRss><comments>http://blogs.iis.net/bills/archive/2008/03/24/how-to-backup-restore-iis7-configuration.aspx#comments</comments><description>&lt;p&gt;Won's &lt;a href="http://blogs.iis.net/wonyoo/archive/2008/03/24/applicationhost-config-file-getting-corrupted-when-onecare-or-forefront-is-running.aspx"&gt;recent post&lt;/a&gt; on possible configuration corruption caused by OneCare/Forefront reminded me of something that every IIS7 customer should know about: how to backup and restore IIS7 configuration!&lt;/p&gt;  &lt;p&gt;No matter whether your configuration file gets corrupted, you make changes you decide to roll-back, you accidentally foo-bar your .config file or some act of terror occurs, some day you'll want to go back to a prior configuration file.&amp;#160; Thankfully, IIS7 makes this super easy.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Backup/Restore via the command line&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Backing up IIS7 configuration is as simple as copying the \windows\system32\inetsrv\config directory (and subdirectories) into a backup directory, so you don't need anything special to do it.&amp;#160; Just include this directory in whatever your OS/content back-up plan is, or write a custom script to do it.&amp;#160; &lt;/p&gt;  &lt;p&gt;To help make managing backups easy, we've added a simple cmd-line option to AppCmd.exe that makes management of backup/restore sets easy.&amp;#160; For example, to backup configuration, run the follow command:&lt;/p&gt;  &lt;p&gt;&amp;gt; %windir%\system32\inetsrv\appcmd.exe &lt;font color="#ff0000"&gt;add&lt;/font&gt; backup &amp;quot;My Backup Name&amp;quot;&lt;/p&gt;  &lt;p&gt;to restore that backup, run this command:&lt;/p&gt;  &lt;p&gt;&amp;gt; %windir%\system32\inetsrv\appcmd.exe &lt;font color="#ff0000"&gt;restore&lt;/font&gt; backup &amp;quot;My Backup Name&amp;quot;&lt;/p&gt;  &lt;p&gt;to delete a backup, run this command:&lt;/p&gt;  &lt;p&gt;&amp;gt; %windir%\system32\inetsrv\appcmd.exe &lt;font color="#ff0000"&gt;delete&lt;/font&gt; backup &amp;quot;My Backup Name&amp;quot;&lt;/p&gt;  &lt;p&gt;Pretty easy, eh?&amp;#160; Except for the dirty little secret everyone knows...remembering to do a backup!&amp;#160; Thankfully, IIS7 comes to the rescue here.&amp;#160; Thanks to a feature called IIS7 &lt;a href="http://learn.iis.net/page.aspx/129/using-iis-7-configuration-history/"&gt;configuration history&lt;/a&gt;, IIS will automatically make history snapshots of ApplicationHost.config each time a change is detected, enabling you to easily restore to a prior version.&amp;#160; By default, IIS checks for a new version every 2 mins, and will keep 10 prior versions of the file.&amp;#160; IIS7 stores these snapshots in the %systemdrive%\inetpub\history folder by default.&amp;#160; You can change any of these settings by editing the &amp;lt;system.applicationHost/configHistory&amp;gt; section in ApplicationHost.config.&amp;#160; &lt;a href="http://learn.iis.net/page.aspx/129/using-iis-7-configuration-history/"&gt;This article&lt;/a&gt; explains the feature in great detail.&lt;/p&gt;  &lt;p&gt;IMPORTANT NOTE:&amp;#160; This feature only appears in Windows Server 2008 and Vista SP1.&amp;#160; It is not in original release version of Vista , as it was not yet finished when Vista first shipped.&amp;#160; This is one of the thousands of changes that was made to IIS7 after Vista RTM, and is one of many reasons you should install SP1 as soon as possible! &lt;/p&gt;  &lt;p&gt;How do you restore a prior snapshot?&amp;#160; Well, you could just go to the \inetpub\history\cfgHistory_NNNNNNNNNN directory and copy the applicationHost.config file into it's proper place: \windows\sytem32\inetsrv\config.&amp;#160; Or you can use the same command as above for restoring a backup to restore a configuration history file.&amp;#160; &lt;/p&gt;  &lt;p&gt;To enumerate a list of backups and configuration history files, use the following command:&lt;/p&gt;  &lt;p&gt;&amp;gt; %windir%\system32\inetsrv\appcmd.exe &lt;font color="#ff0000"&gt;list&lt;/font&gt; backup&lt;/p&gt;  &lt;p&gt;&lt;a href="http://wallpaper.iis7.org/blog/HowtobackuprestoreIIS7configuration_12621/image.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="344" alt="image" src="http://wallpaper.iis7.org/blog/HowtobackuprestoreIIS7configuration_12621/image_thumb.png" width="681" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;See how the config history files show up just like backups?&amp;#160; Use WinDiff or some other tool to figure out which configuration history you want to restore, then use AppCmd.exe restore backup command to restore it!&lt;/p&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=2252460" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/bills/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.iis.net/bills/archive/tags/Administration/default.aspx">Administration</category><category domain="http://blogs.iis.net/bills/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category><category domain="http://blogs.iis.net/bills/archive/tags/Developers/default.aspx">Developers</category><category domain="http://blogs.iis.net/bills/archive/tags/Administrators/default.aspx">Administrators</category><category domain="http://blogs.iis.net/bills/archive/tags/Configuration/default.aspx">Configuration</category></item><item><title>IIS7 Videos on Channel 9</title><link>http://blogs.iis.net/bills/archive/2007/11/13/iis7-videos-on-channel-9.aspx</link><pubDate>Wed, 14 Nov 2007 03:30:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2004883</guid><dc:creator>bills</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.iis.net/bills/rsscomments.aspx?PostID=2004883</wfw:commentRss><comments>http://blogs.iis.net/bills/archive/2007/11/13/iis7-videos-on-channel-9.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=356263#356263" mce_href="http://channel9.msdn.com/ShowPost.aspx?PostID=356263#356263"&gt;Remote Administration and Delegation in IIS7&lt;/a&gt; &lt;br&gt;In this screencast, we configure our IIS7 server for remote administration and delegation.&amp;nbsp; The remote administration service in IIS7 is a new and powerful feature that allows us to connect securely to our remote IIS server using a firewall-friendly SSL connection.&amp;nbsp; Additionally, we can choose to use traditional Windows accounts for authentication or choose the new IIS Manager user accounts instead.&lt;br&gt;&lt;br&gt;We will walk through the steps you must perform as the IIS administrator as well as the experience for a remote administrator using delegated features. &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=356252#356252" mce_href="http://channel9.msdn.com/ShowPost.aspx?PostID=356252#356252"&gt;Failed Request Tracing on IIS7 &lt;/a&gt;&lt;br&gt;In this screencast, we see how to configure our IIS7 server for Failed Request Tracing (sometimes called FREB).&amp;nbsp; Failed Request Tracing is a powerful new capability in IIS7 that allows us to easily set rules on our web applications, that once triggered will log that request to disk and pull in all the relevant trace information.&amp;nbsp; This feature is immensely useful for troubleshooting running applications where attaching a debugger is impractical.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=356242#356242" mce_href="http://channel9.msdn.com/ShowPost.aspx?PostID=356242#356242"&gt;Installing PHP Applications on IIS7&lt;/a&gt;&lt;br&gt;In this screencast, discover how easy it is to get PHP up and configured on your IIS7 webserver using FastCGI.&amp;nbsp; The popular PHP-based blogging application, Wordpress, is used to demonstrate.&lt;br&gt;&lt;br&gt;Additionally, we see how quickly and easily we can integrate a PHP app with IIS7's integrated pipeline as we convert Wordpress to use IIS7's built-in Forms Authentication. &lt;br&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=2004883" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/bills/archive/tags/PHP/default.aspx">PHP</category><category domain="http://blogs.iis.net/bills/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category><category domain="http://blogs.iis.net/bills/archive/tags/IIS+News+Item/default.aspx">IIS News Item</category><category domain="http://blogs.iis.net/bills/archive/tags/Developers/default.aspx">Developers</category><category domain="http://blogs.iis.net/bills/archive/tags/Videos/default.aspx">Videos</category><category domain="http://blogs.iis.net/bills/archive/tags/Administrators/default.aspx">Administrators</category><category domain="http://blogs.iis.net/bills/archive/tags/WebCasts/default.aspx">WebCasts</category></item><item><title>Free IIS7 Online Training</title><link>http://blogs.iis.net/bills/archive/2007/09/10/free-iis7-online-training.aspx</link><pubDate>Mon, 10 Sep 2007 16:36:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1901270</guid><dc:creator>bills</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.iis.net/bills/rsscomments.aspx?PostID=1901270</wfw:commentRss><comments>http://blogs.iis.net/bills/archive/2007/09/10/free-iis7-online-training.aspx#comments</comments><description>&lt;P&gt;A few months ago the IIS team did a quick tour&amp;nbsp;of Europe, speaking in various cities and countries in an all-day IIS conference specifically geared toward training people on IIS7.&amp;nbsp; Luckily, the good people of Poland decided to record and publish the training for everyone to use.&amp;nbsp; Check out the sessions below to watch &lt;A href="http://brettblog.com/default.aspx" mce_href="http://brettblog.com/default.aspx"&gt;Brett Hill&lt;/A&gt; and Isaac Roybal present IIS7.&amp;nbsp; Here is a list of all the sessions:&amp;nbsp; &lt;A href="http://www.microsoft.com/emea/itsshowtime/result_search.aspx?event=69&amp;amp;x=13&amp;amp;y=2" mce_href="http://www.microsoft.com/emea/itsshowtime/result_search.aspx?event=69&amp;amp;x=13&amp;amp;y=2"&gt;http://www.microsoft.com/emea/itsshowtime/result_search.aspx?event=69&amp;amp;x=13&amp;amp;y=2&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;/B&gt;
&lt;P&gt;&lt;B&gt;IIS 7 Web Server Platform- Windows Server “Longhorn”&lt;/B&gt; 
&lt;P&gt;&lt;B&gt;&lt;/B&gt;
&lt;P&gt;&lt;B&gt;&lt;A href="http://brettblog.com/ct.ashx?id=fd552421-fd51-416f-b8dc-88eaa6038372&amp;amp;url=http%3a%2f%2fwww.microsoft.com%2femea%2fitsshowtime%2fsessionh.aspx%3fvideoid%3d565" mce_href="http://brettblog.com/ct.ashx?id=fd552421-fd51-416f-b8dc-88eaa6038372&amp;amp;url=http%3a%2f%2fwww.microsoft.com%2femea%2fitsshowtime%2fsessionh.aspx%3fvideoid%3d565"&gt;Microsoft’s Next Generation Web Server:&lt;I&gt; &lt;/I&gt;What’s New in IIS 7 for IT Pros&lt;/A&gt;&lt;/B&gt; 
&lt;P&gt;&lt;B&gt;Isaac Roybal&lt;/B&gt;, Product Manager, Windows Server, Microsoft Corporation 
&lt;P&gt;This overview session will highlight the key points of interests for IT Pros in Internet Information Services version 7.&amp;nbsp; IIS7 modularity increases security by allowing a reduced installation footprint and creation of specialized, streamlined servers. Application Pools are now “sandboxed” by default.&amp;nbsp; You’ll see how IIS7 eases administration with a new IIS Manage UI, delegated administration, and new tools for automating administrative tasks. Applications run more reliably as they are easier to troubleshoot with built in tracing and diagnostics. Finally, multiple servers can use a single configuration file with the shared configuration feature for web farms. 
&lt;P&gt;&lt;B&gt;&lt;A href="http://brettblog.com/ct.ashx?id=fd552421-fd51-416f-b8dc-88eaa6038372&amp;amp;url=http%3a%2f%2fwww.microsoft.com%2femea%2fitsshowtime%2fsessionh.aspx%3fvideoid%3d566" mce_href="http://brettblog.com/ct.ashx?id=fd552421-fd51-416f-b8dc-88eaa6038372&amp;amp;url=http%3a%2f%2fwww.microsoft.com%2femea%2fitsshowtime%2fsessionh.aspx%3fvideoid%3d566"&gt;IIS7 Administration: The New IIS Manager&lt;/A&gt;&lt;/B&gt; 
&lt;P&gt;&lt;B&gt;Brett Hill&lt;/B&gt;, IIS Sr. Technical Evangelist, Microsoft Corporation 
&lt;P&gt;IIS7 Administration centers around the new task-oriented IIS Manager. This redesigned administration tool has many major new capabilities including the ability to delegate features, edit .NET configuration and has significantly improved performance when managing many sites. The IIS Manager itself is an extensible, modular application that administrators can customize and developers can extend.&amp;nbsp; In this presentation we’ll explore how use and control the IIS Manager with a special focus on Delegated Administration. In addition, we’ll explore how to use Granular Locking to fine tune your delegated settings beyond those available in the UI. 
&lt;P&gt;&lt;B&gt;&lt;/B&gt;
&lt;P&gt;&lt;B&gt;&lt;A href="http://brettblog.com/ct.ashx?id=fd552421-fd51-416f-b8dc-88eaa6038372&amp;amp;url=http%3a%2f%2fwww.microsoft.com%2femea%2fitsshowtime%2fsessionh.aspx%3fvideoid%3d567" mce_href="http://brettblog.com/ct.ashx?id=fd552421-fd51-416f-b8dc-88eaa6038372&amp;amp;url=http%3a%2f%2fwww.microsoft.com%2femea%2fitsshowtime%2fsessionh.aspx%3fvideoid%3d567"&gt;IIS7 Administration: Shared Configuration, Remote Control, and Automated Tools&lt;/A&gt; &lt;/B&gt;
&lt;P&gt;&lt;B&gt;Isaac Roybal&lt;/B&gt;, Product Manager, Windows Server, Microsoft Corporation 
&lt;P&gt;For web farms, IIS7 has a powerful new feature – Shared Configuration. This allows you to configure multiple servers to share a single configuration file. The benefits are clear - all web servers have identical configuration so there’s no need to do configuration replication. 
&lt;P&gt;In addition, IIS Manager has built in remote administration capabilities. Using https between the IIS Manager and the remote server, this feature includes the ability to define trusted users in IIS Manager and have identities securely stored in the IIS configuration, Windows SAM or AD, or a .NET provider. 
&lt;P&gt;Of course, many organizations need to automate administration tasks.&amp;nbsp; APPCMD is the new powerful, general purpose command line utility for controlling configuration, state for site and pools, and querying status. WMI has been improved specifically for IIS management, and there’s a new managed code API Microsoft.Web.Adminsitrationis that makes it easy for developers use .NET to write IIS management tools. PowerShell can use the managed API or WMI, giving you a superior command line and scripting environment for managing your servers. 
&lt;P&gt;&lt;B&gt;&lt;/B&gt;
&lt;P&gt;&lt;B&gt;&lt;A href="http://brettblog.com/ct.ashx?id=fd552421-fd51-416f-b8dc-88eaa6038372&amp;amp;url=http%3a%2f%2fwww.microsoft.com%2femea%2fitsshowtime%2fsessionh.aspx%3fvideoid%3d568" mce_href="http://brettblog.com/ct.ashx?id=fd552421-fd51-416f-b8dc-88eaa6038372&amp;amp;url=http%3a%2f%2fwww.microsoft.com%2femea%2fitsshowtime%2fsessionh.aspx%3fvideoid%3d568"&gt;IIS 7 Security: Less Exposure, Greater Control&lt;/A&gt;&lt;/B&gt; 
&lt;P&gt;&lt;B&gt;Brett Hill&lt;/B&gt;, IIS Sr. Technical Evangelist, Microsoft Corporation 
&lt;P&gt;IIS7 security improvements can be found in many areas. In addition to the ability to control the server footprint, security is improved with the new URLFiltering and URLAuthorization capabilities. Also, you can now use Forms authentication with any content while leveraging .NET role and membership providers. In addition, there are key changes in the user principles and groups used by IIS7 that will make the server both easier to manage and more secure.&amp;nbsp; Finally, application pool sandboxing helps to improve the security boundary between application pools. 
&lt;P&gt;&lt;B&gt;&lt;/B&gt;
&lt;P&gt;&lt;B&gt;&lt;A href="http://www.microsoft.com/emea/spotlight/Isaac_Roybal_IIS_7_Troubleshooting_Failed_Request_Tracing.aspx" mce_href="http://www.microsoft.com/emea/spotlight/Isaac_Roybal_IIS_7_Troubleshooting_Failed_Request_Tracing.aspx"&gt;IIS 7 Troubleshooting: Failed Request Tracing&lt;/A&gt;&lt;/B&gt; 
&lt;P&gt;&lt;B&gt;Isaac Roybal&lt;/B&gt;, Product Manager, Windows Server, Microsoft Corporation 
&lt;P&gt;One of the most exciting features in IIS 7 for administrators is the new built-in failed request tracing capabilities. You can configure IIS 7 to automatically create a detailed trace log of events that occurred in the request processing pipeline when specific error codes are seen and/or if a request takes more than N seconds to complete. This is configurable at the server, site, application, or file level, and can be configured in the UI or with a command line tool. The resulting trace log is ideal for identifying bottlenecks. Like everything in IIS 7, it is extensible and can be customized with new events.&lt;/P&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=1901270" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/bills/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.iis.net/bills/archive/tags/Extensibility/default.aspx">Extensibility</category><category domain="http://blogs.iis.net/bills/archive/tags/Samples+_2600_amp_3B00_+Demos/default.aspx">Samples &amp;amp; Demos</category><category domain="http://blogs.iis.net/bills/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category><category domain="http://blogs.iis.net/bills/archive/tags/IIS+News+Item/default.aspx">IIS News Item</category><category domain="http://blogs.iis.net/bills/archive/tags/Developers/default.aspx">Developers</category><category domain="http://blogs.iis.net/bills/archive/tags/Performance/default.aspx">Performance</category></item><item><title>Problems installing SQL Server 2005 on Vista and IIS7</title><link>http://blogs.iis.net/bills/archive/2007/09/04/problems-installing-sql-server-2005-on-vista-and-iis7.aspx</link><pubDate>Tue, 04 Sep 2007 23:22:26 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1892602</guid><dc:creator>bills</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.iis.net/bills/rsscomments.aspx?PostID=1892602</wfw:commentRss><comments>http://blogs.iis.net/bills/archive/2007/09/04/problems-installing-sql-server-2005-on-vista-and-iis7.aspx#comments</comments><description>&lt;p&gt;I've seen this issue pop up a few times so I thought I'd share a few quick tips / tricks to getting SQL Server 2005 to work on Vista.&lt;/p&gt; &lt;p&gt;If you see an error saying&amp;nbsp;"Microsoft Internet Information Services (IIS) is either not installed or is disabled.",&amp;nbsp;but&amp;nbsp;you're sure you did in fact install IIS7, you are not alone.&amp;nbsp; There are several required IIS components for SQL Server to install properly on Vista&amp;nbsp;and if you don't have the complete set you will see this error.&amp;nbsp; The following components are all required in order for SQL Server 2005 to install properly:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;table class="primaryTable" cellspacing="0" cellpadding="0" unselectable="on"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td class="primaryMainColumn"&gt; &lt;div id="mainColumn"&gt; &lt;div class="kb" id="kb"&gt; &lt;div class="default" id="default"&gt; &lt;div class="section"&gt; &lt;div class="sbody"&gt; &lt;table class="table" cellspacing="1" unselectable="on"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;th&gt;Component&lt;/th&gt; &lt;th&gt;Folder&lt;/th&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Static Content&lt;/td&gt; &lt;td&gt;Common HTTP Features&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Default Document&lt;/td&gt; &lt;td&gt;Common HTTP Features&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;HTTP Redirection&lt;/td&gt; &lt;td&gt;Common HTTP Features&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Directory Browsing&lt;/td&gt; &lt;td&gt;Common HTTP Features&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ASP.Net&lt;/td&gt; &lt;td&gt;Application Development&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ISAPI Extension&lt;/td&gt; &lt;td&gt;Application Development&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ISAPI Filters&lt;/td&gt; &lt;td&gt;Application Development&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Windows Authentication&lt;/td&gt; &lt;td&gt;Security&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;IIS Metabase&lt;/td&gt; &lt;td&gt;Management Tools&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;IIS 6 WMI&lt;/td&gt; &lt;td&gt;Management Tools&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;fyi, there is an official KB on this issue now posted here:&amp;nbsp; &lt;a title="http://support.microsoft.com/kb/920201" href="http://support.microsoft.com/kb/920201"&gt;http://support.microsoft.com/kb/920201&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=1892602" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/bills/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.iis.net/bills/archive/tags/Administration/default.aspx">Administration</category><category domain="http://blogs.iis.net/bills/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category></item><item><title>The system cannot find the path specified</title><link>http://blogs.iis.net/bills/archive/2007/08/28/the-system-cannot-find-the-path-specified.aspx</link><pubDate>Wed, 29 Aug 2007 00:33:48 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1881239</guid><dc:creator>bills</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.iis.net/bills/rsscomments.aspx?PostID=1881239</wfw:commentRss><comments>http://blogs.iis.net/bills/archive/2007/08/28/the-system-cannot-find-the-path-specified.aspx#comments</comments><description>&lt;p&gt;I ran across this and thought I'd share in case anyone out there hits the same issue.&amp;nbsp; If you see this error pop up in the IIS7 Administration tool (IIS Manager - inetmgr.exe) that looks like this:&lt;/p&gt; &lt;p&gt;&lt;em&gt;The system cannot find the path specified.&amp;nbsp; (Exception from HRESULT: 0x80070003)"&lt;/em&gt;&lt;/p&gt; &lt;p&gt;It may be caused by an invalid path, including using the "/" instead of the "\".&amp;nbsp; When you enter physical paths in the IIS Administration tool, please remember to enter C:\path instead of C:/path or you will see this error.&amp;nbsp; &lt;/p&gt; &lt;p&gt;One other tip when it comes to using physical file/dir paths on IIS7: don't forget you can now use environment variables!&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;%systemdrive%\path\foo&lt;/strong&gt; is much better than &lt;strong&gt;C:\path\foo&lt;/strong&gt;, because it is transportable across machines even where the system-drive is not the same.&amp;nbsp; You may want to consider creating your own %webroot% variable on every machine, so you can easily tweak the physical location of your config/content without touching configuration.&amp;nbsp; &lt;/p&gt; &lt;p&gt;IIS&amp;nbsp;sets all physical paths using environment variables by default.&amp;nbsp; Don't muck it up by using hard coded paths, you'll regret it later! ;)&lt;/p&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=1881239" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/bills/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.iis.net/bills/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category></item><item><title>Tip / Trick: how to turn off "verify file exists" in IIS7</title><link>http://blogs.iis.net/bills/archive/2007/05/25/tip-trick-how-to-turn-off-quot-verify-file-exists-quot-in-iis7.aspx</link><pubDate>Fri, 25 May 2007 15:37:57 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1725968</guid><dc:creator>bills</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.iis.net/bills/rsscomments.aspx?PostID=1725968</wfw:commentRss><comments>http://blogs.iis.net/bills/archive/2007/05/25/tip-trick-how-to-turn-off-quot-verify-file-exists-quot-in-iis7.aspx#comments</comments><description>&lt;p&gt;I've seen several posts asking the question:&amp;nbsp; how do I turn off the "verify file exists" setting on handlers / script maps in IIS7.&amp;nbsp; I must admit, this seems to not be as&amp;nbsp; straightforward as it should be.&amp;nbsp; Hopefully this post helps you out.&lt;/p&gt; &lt;p&gt;The configuration setting for this feature is stored in the &amp;lt;handlers&amp;gt; section for each handler mapping, and is known as the resourceType attribute.&amp;nbsp; For example:&lt;/p&gt; &lt;p&gt;&amp;lt;add name="ASPClassic" path="*.asp" verb="GET,HEAD,POST" modules="IsapiModule" scriptProcessor="%windir%\system32\inetsrv\asp.dll" resourceType="File" /&amp;gt;&lt;/p&gt;For the ASP script map, we set resourceType="File" by default, so that the ASP engine won't get invoked for requests that are not mapped to real files.&amp;nbsp; If you want your handler to be invoked for requests, even if there is no file or directory behind the request, set the resourceType="Unspecified".&amp;nbsp; The allowable values for resourceType are "File", "Directory", "Either", or "Unspecified".&amp;nbsp;  &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;You can set this value in the administration tool by doing the following:&lt;/p&gt; &lt;p&gt;Step 1&amp;nbsp;- double click on handler mapping in the &amp;lt;handlers&amp;gt; feature: &lt;p&gt;&lt;img alt="" src="http://wallpaper.iis7.org/verifyexists/verify-1.JPG"&gt; &lt;p&gt;Step 2: uncheck checkbox to set the handler to 'unspecified': &lt;p&gt;&lt;img alt="" src="http://wallpaper.iis7.org/verifyexists/verify-2.JPG"&gt; &lt;p&gt;&amp;nbsp; &lt;p&gt;hope this makes life a little easier. ;)&lt;/p&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=1725968" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/bills/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.iis.net/bills/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.iis.net/bills/archive/tags/Administration/default.aspx">Administration</category><category domain="http://blogs.iis.net/bills/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category><category domain="http://blogs.iis.net/bills/archive/tags/ASP/default.aspx">ASP</category></item><item><title>Tips for Classic ASP developers on IIS7</title><link>http://blogs.iis.net/bills/archive/2007/05/21/tips-for-classic-asp-developers-on-iis7.aspx</link><pubDate>Tue, 22 May 2007 00:11:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1718507</guid><dc:creator>bills</dc:creator><slash:comments>58</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.iis.net/bills/rsscomments.aspx?PostID=1718507</wfw:commentRss><comments>http://blogs.iis.net/bills/archive/2007/05/21/tips-for-classic-asp-developers-on-iis7.aspx#comments</comments><description>&lt;p&gt;I was reminded the other day just how many classic ASP applications and developers there are out there!&amp;#160; The original ASP rocks, I remember experiencing it for the first time back in 1996/97 when it first came out with IIS3, and being amazed at how programmable it was compared to ColdFusion.&amp;#160; I built many an application using Classic ASP, and there will always be a soft spot in my heart for it. :)&lt;/p&gt;  &lt;p&gt;There are a few changes in IIS7 which Classic ASP developers should be aware of.&lt;/p&gt;  &lt;p mce_keep="true"&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;ASP not installed by default&lt;/h3&gt;  &lt;p&gt;First things first!&amp;#160; If you're moving from XP to Windows Vista / Longhorn Server, you may be getting this error:&lt;/p&gt;  &lt;p&gt;--------------------------------------------------------------------------------------------------------------------&lt;/p&gt;  &lt;p&gt;&lt;em&gt;HTTP Error 404.3 - Not Found &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;strong&gt;Description:&lt;/strong&gt; The page you are requesting cannot be served because of the Multipurpose Internet Mail Extensions (MIME) map policy that is configured on the Web server. The page you requested has a file name extension that is not recognized, and is not allowed. &lt;/em&gt;&lt;/p&gt;  &lt;p mce_keep="true"&gt;--------------------------------------------------------------------------------------------------------------------&lt;/p&gt;  &lt;p&gt;this is usually the case when you haven't installed the ASP component.&amp;#160; Go to where you installed IIS and look under IIS/WWW Services/Application Development/ASP and install it.&amp;#160; :)&lt;/p&gt;  &lt;p mce_keep="true"&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Access and Classic ASP&lt;/h3&gt;  &lt;p&gt;A lot of people use Access as a database - because it is small, can be copied around, and is easy to manage.&amp;#160; One of the changes we made in IIS7 in Vista broke using ASP and Access by default.&amp;#160; I described this change in more detail in &lt;a href="http://blogs.iis.net/bills/archive/2006/10/18/loadUserProfile-and-IIS7-_2D00_-understanding-temporary-directory-failures.aspx" mce_href="http://blogs.iis.net/bills/archive/2006/10/18/loadUserProfile-and-IIS7-_2D00_-understanding-temporary-directory-failures.aspx"&gt;this post&lt;/a&gt;, but essentially it has to do with the fact that Application Pools now use the Application Pool identity's profile and temporary directory, rather than \windows\temp by default.&amp;#160; And since the only one that can write to Network Service's temp directory is the Network Service, anonymous or authenticated ASP applications break, since ASP uses the impersonated identity to access the database.&amp;#160; If you use ASP and Access on IIS7, you've probably seen this error, or a variation of it:&amp;#160; &lt;/p&gt;  &lt;p&gt;--------------------------------------------------------------------------------------------------------------------&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Microsoft JET Database Engine error '80004005'     &lt;br /&gt;Unspecified error&lt;/i&gt; &lt;/p&gt;  &lt;p mce_keep="true"&gt;--------------------------------------------------------------------------------------------------------------------&lt;/p&gt;  &lt;p&gt;The answer is pretty straight forward:&amp;#160; turn off loadUserProfile, or ACL the temp directory to allow writes.&amp;#160; As a result of this and other compatibility issues, we're considering reverting this change in Longhorn Server / Vista SP1.&amp;#160; In the mean time, you can work around it by doing either of the following:&lt;/p&gt;  &lt;p&gt;This appcmd command will turn off loadUserProfile for the Default Application Pool.&amp;#160; if your application runs in a different AppPool, make the corresponding change:&lt;/p&gt;  &lt;p&gt;&lt;i&gt;%windir%\system32\inetsrv\appcmd set config /section:applicationPools /[name='DefaultAppPool'].processModel.loadUserProfile:false&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;This command will ACL the Network Service temp directory to allow creator write / read privledges.&amp;#160; If you run your Application Pool under a different identity, you'll need to ACL that owner's temp directory:&lt;/p&gt;  &lt;p&gt;&lt;i&gt;icacls %windir%\serviceprofiles\networkservice\AppData\Local\Temp /grant Users:(CI)(S,WD,AD,X)&lt;/i&gt; &lt;/p&gt;  &lt;p&gt;&lt;i&gt;icacls %windir%\serviceprofiles\networkservice\AppData\Local\Temp /grant &amp;quot;CREATOR OWNER&amp;quot;:(OI)(CI)(IO)(F)&lt;/i&gt; &lt;/p&gt;  &lt;p mce_keep="true"&gt;&amp;#160;&lt;/p&gt;  &lt;p mce_keep="true"&gt;**Update 2/19/2009** if you are having issues with Access and ASP you might want to read this terrific guide recently posted on IIS.NET: &lt;a title="http://learn.iis.net/page.aspx/563/using-classic-asp-with-microsoft-access-databases-on-iis-70-and-iis-75/" href="http://learn.iis.net/page.aspx/563/using-classic-asp-with-microsoft-access-databases-on-iis-70-and-iis-75/"&gt;http://learn.iis.net/page.aspx/563/using-classic-asp-with-microsoft-access-databases-on-iis-70-and-iis-75/&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&amp;#160;&lt;/h3&gt;  &lt;h3&gt;Script errors no longer shown in browser by default&lt;/h3&gt;  &lt;p&gt;As a result of our &lt;a href="http://blogs.iis.net/thomad/archive/2007/02/06/security-is-painful.aspx" mce_href="http://blogs.iis.net/thomad/archive/2007/02/06/security-is-painful.aspx"&gt;security paranoia&lt;/a&gt;, we turned off ASP's default behavior of sending script errors (including line number and code snippet to the browser.&amp;#160; So instead of seeing the typical error you would see ASP throw, you will now see this:&lt;/p&gt;  &lt;p&gt;--------------------------------------------------------------------------------------------------------------------&lt;/p&gt;  &lt;p&gt;&lt;em&gt;An error occurred on the server when processing the URL. Please contact the system administrator&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;--------------------------------------------------------------------------------------------------------------------&lt;/p&gt;  &lt;p&gt;To revert back to IIS6- behavior, simply run the following command:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;%windir%\system32\inetsrv\appcmd set config -section:asp -scriptErrorSentToBrowser:true&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Or you can find it in the UI here:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://wallpaper.iis7.org/blog/TipsforClassicASPdevelopersonIIS7_10494/aspscripterrors.jpg" mce_href="http://wallpaper.iis7.org/blog/TipsforClassicASPdevelopersonIIS7_10494/aspscripterrors.jpg"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="asp-scripterrors" src="http://wallpaper.iis7.org/blog/TipsforClassicASPdevelopersonIIS7_10494/aspscripterrors_thumb.jpg" width="600" height="480" mce_src="http://wallpaper.iis7.org/blog/TipsforClassicASPdevelopersonIIS7_10494/aspscripterrors_thumb.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;then you'll be back to seeing this style of error instead:&lt;/p&gt;  &lt;p&gt;--------------------------------------------------------------------------------------------------------------------&lt;/p&gt;  &lt;p&gt;Microsoft VBScript compilation error '800a03ea' &lt;/p&gt;  &lt;p&gt;Syntax error &lt;/p&gt;  &lt;p&gt;/test.asp, line 4&lt;/p&gt;  &lt;pre&gt;Response.Write(&amp;quot;I love classic ASP&amp;quot; &amp;amp;&amp;amp; foo)
-------------------------------------^&lt;/pre&gt;

&lt;p&gt;--------------------------------------------------------------------------------------------------------------------&lt;/p&gt;

&lt;h3&gt;&amp;#160;&lt;/h3&gt;

&lt;h3&gt;Parents paths disabled by default (redux)&lt;/h3&gt;

&lt;p&gt;We disabled parent paths by default with IIS6, but I've seen this hit people on Vista coming from XP, where it is still enabled by default in IIS5.1&amp;#160; The enableParentPaths setting determines where ASP &amp;quot;includes&amp;quot; should be allowed to escape the parent directory (eg. ../../../includeFile.inc).&amp;#160;&amp;#160; You'll see this error by default if you try to escape the current directory:&lt;/p&gt;

&lt;p&gt;--------------------------------------------------------------------------------------------------------------------&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Active Server Pages error 'ASP 0131'&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Disallowed Parent Path&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;&lt;em&gt;/test.asp, line 1&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;&lt;em&gt;The Include file '../bad.inc' cannot contain '..' to indicate the parent directory. &lt;/em&gt;&lt;/p&gt;

&lt;p&gt;--------------------------------------------------------------------------------------------------------------------&lt;/p&gt;

&lt;p mce_keep="true"&gt;or you may see this error if you are using a path with ../ in it and your ADODB code&lt;/p&gt;

&lt;p&gt;--------------------------------------------------------------------------------------------------------------------&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Server.MapPath()&lt;font size="3" face="Times New Roman"&gt; &lt;/font&gt;&lt;font size="2" face="Arial"&gt;error 'ASP 0175 : 80004005'&lt;/font&gt;&lt;font size="3" face="Times New Roman"&gt; &lt;/font&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;font size="2" face="Arial"&gt;Disallowed Path Characters&lt;/font&gt; &lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;font size="2" face="Arial"&gt;/testdir/test.asp&lt;/font&gt;&lt;font size="2" face="Arial"&gt;, line 9&lt;/font&gt; &lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2" face="Arial"&gt;&lt;em&gt;The '..' characters are not allowed in the Path parameter for the MapPath method. &lt;/em&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;--------------------------------------------------------------------------------------------------------------------&lt;/p&gt;

&lt;p&gt;To revert back to IIS 5.x behavior, simply run the following command:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;%windir%\system32\inetsrv\appcmd set config -section:asp -enableParentPaths:true&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;or you can find the UI setting here: &lt;/p&gt;

&lt;p&gt;&lt;a href="http://wallpaper.iis7.org/blog/TipsforClassicASPdevelopersonIIS7_10494/aspenableparentpaths.jpg" mce_href="http://wallpaper.iis7.org/blog/TipsforClassicASPdevelopersonIIS7_10494/aspenableparentpaths.jpg"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="asp-enableparentpaths" src="http://wallpaper.iis7.org/blog/TipsforClassicASPdevelopersonIIS7_10494/aspenableparentpaths_thumb.jpg" width="600" height="480" mce_src="http://wallpaper.iis7.org/blog/TipsforClassicASPdevelopersonIIS7_10494/aspenableparentpaths_thumb.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p mce_keep="true"&gt;&amp;#160;&lt;/p&gt;

&lt;h3&gt;APPL_PHYSICAL_PATH no longer returns &amp;quot;\&amp;quot; with path&lt;/h3&gt;

&lt;p&gt;If you use Request.ServerVariables(&amp;quot;APPL_PHYSICAL_PATH&amp;quot;) to get at the physical path for your application, you may notice that the physical path no longer returns with a trailing slash.&amp;#160; In previous releases of IIS, we returned this value as stored in the metabase.&amp;#160; In IIS7, we calculate this value based on the configuration store, and we never return a trailing slash.&amp;#160; You'll need to account for this especially if you are the return value with some other part of the path in your application.&lt;/p&gt;

&lt;h3&gt;&amp;#160; &lt;/h3&gt;

&lt;h3&gt;&amp;#160;&lt;/h3&gt;

&lt;h3&gt;Session_OnEnd not firing&lt;/h3&gt;

&lt;p&gt;If you find that Session_onEnd event in your global.asa is not firing, check out &lt;a href="http://blogs.iis.net/lprete/archive/2009/01/04/session-onend-classic-asp-and-iis-7-0.aspx"&gt;this blog post&lt;/a&gt; from Lou on the issue and the fix. &lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;br /&gt;

&lt;h3&gt;Summary&lt;/h3&gt;

&lt;p&gt;I browsed through the &lt;a href="http://forums.iis.net/1044.aspx" mce_href="http://forums.iis.net/1044.aspx"&gt;IIS7 Classic ASP Forums&lt;/a&gt;, and these tips seemed to cover nearly all of the issues people were having.&amp;#160; if you are having a problem with ASP on IIS7, check out the forums or leave a comment for me here.&amp;#160; If I find the answer, I'll add it to this post!&amp;#160; Thanks!&lt;/p&gt;

&lt;p mce_keep="true"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href="mailto:?body=Thoughtyoumightlikethis:http://blogs.iis.net/bills/archive/2007/05/21/tips-for-classic-asp-developers-on-iis7.aspx" mce_href="mailto:?body=Thoughtyoumightlikethis:http://blogs.iis.net/bills/archive/2007/05/21/tips-for-classic-asp-developers-on-iis7.aspx"&gt;email it!&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://blogs.iis.net/bills/archive/2007/05/21/tips-for-classic-asp-developers-on-iis7.aspx&amp;amp;title=Classic ASP"&gt;bookmark it!&lt;/a&gt; | &lt;a href="http://digg.com/submit?phase=2&amp;amp;url=http://blogs.iis.net/bills/archive/2007/05/21/tips-for-classic-asp-developers-on-iis7.aspx&amp;amp;title=Classic ASP on IIS7&amp;amp;topic=Classic ASP"&gt;digg it!&lt;/a&gt; | &lt;a href="http://reddit.com/submit?url=http://blogs.iis.net/bills/archive/2007/05/21/tips-for-classic-asp-developers-on-iis7.aspx&amp;amp;title=Classic ASP on IIS7"&gt;reddit!&lt;/a&gt; | &lt;a href="http://www.dotnetkicks.com/submit/?url=http://blogs.iis.net/bills/archive/2007/05/21/tips-for-classic-asp-developers-on-iis7.aspx&amp;amp;title=Classic ASP on IIS7"&gt;kick it!&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://blogs.iis.net/bills/archive/2007/05/21/tips-for-classic-asp-developers-on-iis7.aspx&amp;amp;title=Classic ASP&amp;amp;top=1"&gt;live it!&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=1718507" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/bills/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.iis.net/bills/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category><category domain="http://blogs.iis.net/bills/archive/tags/Compatibility/default.aspx">Compatibility</category><category domain="http://blogs.iis.net/bills/archive/tags/IIS+News+Item/default.aspx">IIS News Item</category><category domain="http://blogs.iis.net/bills/archive/tags/Developers/default.aspx">Developers</category><category domain="http://blogs.iis.net/bills/archive/tags/ASP/default.aspx">ASP</category></item><item><title>Where do I go for IIS Support?</title><link>http://blogs.iis.net/bills/archive/2006/11/06/where-do-i-go-for-iis-support.aspx</link><pubDate>Tue, 07 Nov 2006 05:03:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1455226</guid><dc:creator>bills</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.iis.net/bills/rsscomments.aspx?PostID=1455226</wfw:commentRss><comments>http://blogs.iis.net/bills/archive/2006/11/06/where-do-i-go-for-iis-support.aspx#comments</comments><description>&lt;P&gt;This is a question that I'm surprised doesn't come up more often.&amp;nbsp;&amp;nbsp;I guess, like&amp;nbsp;many of you, I take pride in figuring things out on my own.&amp;nbsp; I hate asking for help and admitting I don't know the answer.&amp;nbsp; And we've all had the unfortunate experience of&amp;nbsp;calling a support line for help and getting someone who we just *know* is even more clueless than we are.&amp;nbsp; :)&amp;nbsp; &lt;/P&gt;
&lt;P&gt;The &lt;A class="" href="http://forums.iis.net/" target=_blank&gt;IIS Forums&lt;/A&gt; are a great place to start - many members of the product team hang out there, and our top-notch MVPs.&amp;nbsp; But when you just can't find an answer on your own, remember that your time is valuable, and probably worth a lot more than&amp;nbsp;the few hundred bucks you'd spend letting Microsoft research the issue and figure it out.&amp;nbsp; So the next time you get stuck on a problem, don't hesitate to pick up the phone and give the Microsoft IIS support team&amp;nbsp;a call.&amp;nbsp; Here are a few tips that may be helpful:&lt;/P&gt;
&lt;H3&gt;Who is the IIS support team?&lt;/H3&gt;
&lt;P&gt;The IIS support team rocks!&amp;nbsp; We are lucky enough to have a support engineer sit directly in our offices as a liaison to help escalate issues - from both sides - and communicate our ongoing development to our support team.&amp;nbsp; In addition, I have the opportunity to sit down with the support leadership team once every quarter to review support trends, hot issues, and customer satisfaction.&amp;nbsp; Every time we meet I'm impressed with how smart and serious they are and how much they care that &lt;U&gt;you&lt;/U&gt; are happy with the product.&amp;nbsp; They definitely watch the stats carefully, and they are constantly championing for you to get things fixed in the product so that someday, if we do our jobs perfectly, you'll never have to call support.&amp;nbsp; Too bad we're not perfect. :)&lt;/P&gt;
&lt;P&gt;The IIS support team is filled with engineers who are dedicated to help you research the problem and do whatever it takes to find the resolution.&amp;nbsp; Not convinced?&amp;nbsp; Read &lt;A href="http://doughughes.net/index.cfm?event=viewEntry&amp;amp;entryId=208" target=_blank&gt;this blog&lt;/A&gt;&amp;nbsp;entry by Doug Hughes about his support experience.&amp;nbsp; PSS engineer Rohan stuck with it until the case was solved.&amp;nbsp; From the comments on the blog, it appears he isn't alone in enjoying great results from the IIS support team.&lt;/P&gt;
&lt;H3&gt;Where do I call for IIS support and how much does it cost?&lt;/H3&gt;
&lt;H3&gt;&lt;/H3&gt;
&lt;P&gt;If you work for a large business, chances are that you already have a support contract in place with Microsoft.&amp;nbsp; If you aren't&amp;nbsp;sure, ask your IT manager.&amp;nbsp; If a support contract exists, there is an existing way for your company to work with our support team under the agreements of the contract.&lt;/P&gt;
&lt;P&gt;If you don't have a support contract, you can just as easily reach our support team directly.&amp;nbsp; Check out &lt;A href="http://support.microsoft.com/oas/default.aspx?LN=en-us&amp;amp;gprid=2097&amp;amp;x=15&amp;amp;y=8" target=_blank&gt;this Web page&lt;/A&gt; for more information on support options, including information on email support as well as phone support.&amp;nbsp; Email support starts out at $99.00 per request (with 1 business day response time).&amp;nbsp; You may also call support during business hours for $245 per request or $490 per request for &lt;A href="http://support.microsoft.com/gp/afterhours" target=_blank&gt;business-critical after-hours support&lt;/A&gt;.&amp;nbsp; It doesn't take much of your time lost trying to find a solution&amp;nbsp;on your own for this&amp;nbsp;to pay for itself!&lt;/P&gt;
&lt;H3&gt;How long will it take to solve my problem?&lt;/H3&gt;
&lt;P&gt;How long it takes to solve your problem depends on a lot of different factors including the nature of the problem itself.&amp;nbsp; Hangs and intermittent performance problems can sometimes be the hardest to reproduce and solve.&amp;nbsp; The type of applications and third party products installed also make a difference.&amp;nbsp; It is more difficult to troubleshoot applications where third party products are involved, but our support team will work with you - and the vendor if their component is installed - to pinpoint the issue.&amp;nbsp; Since the IIS support team makes it their&amp;nbsp;business to provide support, they have a huge database of issues they can comb through to find resolutions rapidly - in some cases on the first call you make.&amp;nbsp; Other times, especially with problems that are more complicated or hard to reproduce, it may be necessary for you to gather more diagnostics data (which they will help walk you through how to do) and iterate on the problem with them over several days.&amp;nbsp; No matter the length of time it takes, one thing is for sure: you will get an answer.&amp;nbsp; &lt;/P&gt;
&lt;H3&gt;What do I do if I'm not satisfied with the support I'm receiving?&lt;/H3&gt;
&lt;P&gt;Tell us!&amp;nbsp; If you're not happy with the support you are receiving, or with the resolution once your support case is over, please let us know so that we can continue to improve.&amp;nbsp; On your first contact with an IIS support engineer, you'll receive an email with their contact information, and the contact information for their manager.&amp;nbsp; If at any time during the support process, or after, you aren't satisfied, be sure to use that contact information to give us feedback.&amp;nbsp; The sooner you give us feedback, the better we will be able to respond to your needs and make sure you get a satisfactory answer.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;hope this helps -&lt;/P&gt;
&lt;P&gt;bill&lt;/P&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=1455226" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/bills/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category><category domain="http://blogs.iis.net/bills/archive/tags/Misc/default.aspx">Misc</category></item><item><title>Improving Custom Errors for IIS7 Server</title><link>http://blogs.iis.net/bills/archive/2006/10/19/Improving-Custom-Errors-for-IIS7-Server.aspx</link><pubDate>Fri, 20 Oct 2006 05:41:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1434987</guid><dc:creator>bills</dc:creator><slash:comments>12</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.iis.net/bills/rsscomments.aspx?PostID=1434987</wfw:commentRss><comments>http://blogs.iis.net/bills/archive/2006/10/19/Improving-Custom-Errors-for-IIS7-Server.aspx#comments</comments><description>&lt;p&gt;Another one of my favorite features is the IIS7 Detailed Errors feature.&amp;nbsp; Thomas wrote a great article titled &lt;a href="http://www.iis.net/default.aspx?tabid=2&amp;amp;subtabid=25&amp;amp;i=994"&gt;Understanding Custom and Detailed Errors&lt;/a&gt;&amp;nbsp;which&amp;nbsp;provides&amp;nbsp;a good overview of this simple, yet powerful feature.&amp;nbsp; (though it needs to be updated for RC1+)&amp;nbsp; &lt;/p&gt; &lt;p&gt;In using IIS7 the past two years, while it has been under development, I can honestly say that Detailed Errors are the single&amp;nbsp;biggest help in making IIS easier to use.&amp;nbsp;&amp;nbsp;If you haven't read Thomas' article yet, let me summarize how Detailed Errors works:&lt;/p&gt; &lt;p&gt;By default IIS now returns two kinds of errors when a problem occurs.&amp;nbsp; The first kind you are used to if you've used IIS before.&amp;nbsp; They are&amp;nbsp;our standard custom errors, which a&amp;nbsp;terse error description and error code.&amp;nbsp;&amp;nbsp;If you don't like how our custom errors look, you can always configure IIS to return&amp;nbsp;your own custom error message and away you go.&amp;nbsp; The second kind of error we&amp;nbsp;now call "Detailed Error" which, by default,&amp;nbsp;we only return to&amp;nbsp;requests from&amp;nbsp;localhost.&amp;nbsp; You can also configure IIS to return detailed errors all&amp;nbsp;the time (if you&amp;nbsp;want the application in debug mode)&amp;nbsp;or&amp;nbsp;to never return detailed errors - always return custom errors (if you&amp;nbsp;get annoyed by our debug information).&amp;nbsp; &lt;/p&gt; &lt;p&gt;Here is&amp;nbsp;a screenshot of the administration UI for this feature, which is pretty straightforward:&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;img src="http://wallpaper.iis7.org/errors/detailed-errors-admin.jpg.img?action=preview"&gt;&lt;/p&gt; &lt;p&gt;&lt;i&gt;Error Pages UI (click for &lt;a href="http://wallpaper.iis7.org/errors/detailed-errors-admin.jpg"&gt;full size image)&lt;/a&gt;&lt;/i&gt;&lt;/p&gt; &lt;p&gt;Note:&amp;nbsp; the schema for this feature changed slightly between Beta 2 and RC1.&amp;nbsp; The config section for this feature is &amp;lt;httpErrors&amp;gt; and the errorMode attribute descripes which behavior to use on the server.&amp;nbsp; Here is the relevant schema:&lt;/p&gt; &lt;p&gt;&amp;lt;sectionSchema name="system.webServer/httpErrors"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute name="errorMode" type="enum" defaultValue="DetailedLocalOnly"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;enum name="DetailedLocalOnly" value="0" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;enum name="Custom" value="1" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;enum name="Detailed" value="2" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/attribute&amp;gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The detailed error information we return is pretty darn helpful.&amp;nbsp; It includes a bunch of details about the request, like which pipeline notification the error occured during, which module and / or handler threw the error, the physical path which was processed for the request, the logon user and method (if available), and &amp;nbsp;more goodies.&amp;nbsp; Even better than that, we do our best to provide possible causes that lead to the error, based on the error code, sub-error code, and win32 hresult returned from the offending party.&amp;nbsp; And even better, we also try to give you some help in terms of next steps you should take to resolve the problem.&amp;nbsp; And last, if those don't work, we also provide a "more information" link which hooks up to our error database (not yet online) which will return the latest troubleshooting instructions we have for the particular error you've encountered!&amp;nbsp; Now that is cool.&amp;nbsp; Here is a sample of one particular error that I end up running into from time to time, when I type too fast and end up with invalid XML in my web.config file.&amp;nbsp; Notice how it even tells me where the XML problem occured:&lt;/p&gt; &lt;p&gt;&lt;img src="http://wallpaper.iis7.org/errors/detail-error-500-old.jpg.img?action=preview"&gt;&lt;/p&gt; &lt;p&gt;&lt;i&gt;Server 500 Error - Vista Edition (click for &lt;a href="http://wallpaper.iis7.org/errors/detail-error-500-old.jpg"&gt;full size image&lt;/a&gt;)&lt;/i&gt;&lt;/p&gt; &lt;p&gt;&lt;i&gt;&lt;/i&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;And so this is how detailed errors works, and what you can expect in Vista.&amp;nbsp; One of the bits of polish we're working on for IIS7 in Longhorn Server (and will also most likely get updated in SP1 of vista) is a cleaner look for the error pages to make them easier to read.&amp;nbsp; I wanted to provide a preview of the current mock-ups and ask for your feedback.&amp;nbsp; What do you think, are they an improvement?&amp;nbsp; What would you do different?&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;img src="http://wallpaper.iis7.org/errors/detailed-errors-500.jpg.img?action=preview"&gt;&lt;/p&gt; &lt;p&gt;&lt;i&gt;The same Server 500 Error - Draft for Longhorn Server Edition (click for &lt;a href="http://wallpaper.iis7.org/errors/detailed-errors-500.jpg"&gt;full size image&lt;/a&gt;)&lt;/i&gt;&lt;/p&gt; &lt;p&gt;Here is another example of a Server 401 error. Note the "most likely cause" and "things to try" sections:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;img src="http://wallpaper.iis7.org/errors/detailed-error-401.jpg.img?action=preview"&gt;&lt;/p&gt; &lt;p&gt;&lt;i&gt;Server&amp;nbsp;401.1 Error - Draft for Longhorn Server Edition (click for &lt;a href="http://wallpaper.iis7.org/errors/detailed-error-401.jpg"&gt;full size image&lt;/a&gt;)&lt;/i&gt;&lt;/p&gt; &lt;p&gt;&lt;i&gt;&lt;/i&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;So what do you think?&amp;nbsp; Are these an improvement?&amp;nbsp; Leave your comments below.&lt;/p&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=1434987" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/bills/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.iis.net/bills/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category></item><item><title>Making Failed Request Tracing More Approachable</title><link>http://blogs.iis.net/bills/archive/2006/10/19/Making-Failed-Request-Tracing-More-Approachable.aspx</link><pubDate>Thu, 19 Oct 2006 07:06:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1433767</guid><dc:creator>bills</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.iis.net/bills/rsscomments.aspx?PostID=1433767</wfw:commentRss><comments>http://blogs.iis.net/bills/archive/2006/10/19/Making-Failed-Request-Tracing-More-Approachable.aspx#comments</comments><description>&lt;p&gt;One of my favorite IIS7 features is something we call "FREB", which originally stood for "Failed Request Event Buffering".&amp;nbsp;&amp;nbsp; We've given it a more friedly name now: 'failed request tracing', but everyone around here still calls it freb.&amp;nbsp; It is a really awesome feature that essentially allows you to configure IIS to "watch for" certain error coditions and provide you detailed trace information about the request.&amp;nbsp; This makes it much easier to diagnose failures than in past versions of IIS, especially those hard to repro issues that seem to only happen at 3am when you should be sleeping.&amp;nbsp; IIS will not only log all of the IIS trace events we've sprinkled through our code, but ASP.NET trace events, and even your own page trace events!&amp;nbsp; It is one powerful feature.&lt;/p&gt;&lt;p&gt;Do you see requests "slow down" over time, or "hang"?&amp;nbsp; Simply configure IIS to watch out for requests that exceed a given timeout threshold and you'll get detailed information on everything that happened during the request up to the time limit.&amp;nbsp; Using that info, you should be able to better pinpoint where the hang-up is happening.&lt;/p&gt;&lt;p&gt;Are you seeing random 401, 404 or Server 500 errors?&amp;nbsp; IIS is infamous for returning these standard error messages for lots of different reasons.&amp;nbsp; With IIS7, &lt;a href="http://www.iis.net/default.aspx?tabid=2&amp;amp;subtabid=25&amp;amp;i=994"&gt;detailed errors&lt;/a&gt; provide much more information to you if you're on localhost, but if you want to know which component returned the error, or what happened in sequence before the error, FREB is the way to do it.&amp;nbsp; &lt;/p&gt;&lt;p&gt;For more information on how to use FREB, see this article titled &lt;a href="http://www.iis.net/default.aspx?tabid=2&amp;amp;subtabid=25&amp;amp;i=969&amp;amp;p=1"&gt;Using Failed Request Tracing&lt;/a&gt;&amp;nbsp;on IIS.net.&amp;nbsp; &lt;/p&gt;&lt;p&gt;In Vista, all of the FREB logs are stored, by default, to \inetpub\logs\FailedReqLogFiles\w3svcn where n is the site ID for each site.&amp;nbsp; In this directory, you'll find an XML log file for each freb log that was generated when a failure rule was met.&amp;nbsp; You'll also see a freb.xsl file which Jaro, one of our stud developers built early on which makes the trace data much easier to read than in notepad:&lt;/p&gt;&lt;p&gt;&lt;img src="http://wallpaper.iis7.org/freb/freb-notepad.jpg.img?action=preview" height="328" width="600"&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;Yuck!&amp;nbsp; who wants to read the trace data in raw XML (&lt;a href="http://wallpaper.iis7.org/freb/freb-notepad.jpg"&gt;full size image&lt;/a&gt;)&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&amp;nbsp;&lt;img src="http://wallpaper.iis7.org/freb/freb-old.jpg.img?action=preview" height="482" width="600"&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;The default XSL view of the freb file which ships in Vista (&lt;a href="http://wallpaper.iis7.org/freb/freb-old.jpg"&gt;full size image)&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;&lt;p&gt;Today Eric - the PM owner for&amp;nbsp;this feature -&amp;nbsp;&lt;a href="http://forums.iis.net/thread/1433424.aspx"&gt;announced a new XSL&lt;/a&gt; that takes consuming this information to the next level.&amp;nbsp; We brought back our iis.net designer, &lt;a href="http://www.goldmandesign.com/"&gt;Kevin Goldman&lt;/a&gt;, to help us design an even friendlier XSL.&amp;nbsp; Here is a screen shot of the new XSL:&lt;/p&gt;&lt;p&gt;&lt;img src="http://wallpaper.iis7.org/freb/freb-home.jpg.img?action=preview" height="596" width="600"&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;The new XSL home page view of FREB log(&lt;a href="http://wallpaper.iis7.org/freb/freb-home.jpg"&gt;full size image)&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;&lt;p&gt;One of the things you'll notice right away with the new XSL is that it segments the information a little more and provides navigation tabs at the top to help you filter the data.&amp;nbsp; By default, you see the Request Summary tab, which shows basic information about the request, and all error and warning events that were found in the trace log.&amp;nbsp; This is a great way to zero in on which event may have caught your error.&amp;nbsp; By clicking on "view trace" you can actually "zoom" in to the entire heirarchy of events that occured - in order - during the request, and see the event you clicked on in context.&amp;nbsp; Of course, you can also click the +|- links to expand and contract additional details.&amp;nbsp; &lt;/p&gt;&lt;p&gt;If you click on the "Request Details" tab, you'll get see this view:&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;img src="http://wallpaper.iis7.org/freb/freb-details.jpg.img?action=preview" height="596" width="600"&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;The new Request Details page(&lt;a href="http://wallpaper.iis7.org/freb/freb-details.jpg"&gt;full size image)&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;&lt;p&gt;The request details page - Complete Request Trace (default view) - provides a view of all the events in the log file, in heirarchical order with elapsed time for each event.&amp;nbsp; &lt;/p&gt;&lt;p&gt;The other "tabs" under Request Details provide additional filters for the FREB file.&amp;nbsp; For example, if you want to see just events that are associated with ISAPI filter notifications, click on the "Filter Notifications" tab.&amp;nbsp; If you want to see all events related to modules that were executed in the request, click on "Module Notifications", and you'll see this view:&lt;/p&gt;&lt;p&gt;&lt;img src="http://wallpaper.iis7.org/freb/freb-modules.jpg.img?action=preview" height="597" width="600"&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;The new Module Notifications page(&lt;a href="http://wallpaper.iis7.org/freb/freb-modules.jpg"&gt;full size image)&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;&lt;p&gt;Eric describes all of the&amp;nbsp;tabs in more detail in his &lt;a href="http://forums.iis.net/thread/1433424.aspx"&gt;forum post&lt;/a&gt;.&amp;nbsp; &amp;nbsp;&lt;/p&gt;&lt;p&gt;You can download the XSL &lt;a href="http://forums.iis.net/storage/1052/1433424/freb.zip"&gt;here&lt;/a&gt; and start using it with Vista today!&amp;nbsp; Please be sure to &lt;a href="http://forums.iis.net/thread/1433424.aspx"&gt;leave any feedback in the forum thread&lt;/a&gt; Eric started, we'd definitely love to hear if you like it, and what is still missing.&amp;nbsp; &lt;/p&gt;&lt;p&gt;enjoy -&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Bill&lt;/p&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=1433767" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/bills/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.iis.net/bills/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category></item><item><title>loadUserProfile and IIS7 - understanding temporary directory failures</title><link>http://blogs.iis.net/bills/archive/2006/10/18/loadUserProfile-and-IIS7-_2D00_-understanding-temporary-directory-failures.aspx</link><pubDate>Wed, 18 Oct 2006 15:47:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1432879</guid><dc:creator>bills</dc:creator><slash:comments>18</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.iis.net/bills/rsscomments.aspx?PostID=1432879</wfw:commentRss><comments>http://blogs.iis.net/bills/archive/2006/10/18/loadUserProfile-and-IIS7-_2D00_-understanding-temporary-directory-failures.aspx#comments</comments><description>&lt;p&gt;I've noticed quite a few people running into temporary directory permission issues.&amp;nbsp; The &lt;a href="http://blogs.iis.net/bills/archive/2006/09/19/How-to-install-PHP-on-IIS7-_2800_RC1_2900_.aspx"&gt;PHP blog post&lt;/a&gt; I made last month is one example of this issue, there are also &lt;a href="http://forums.iis.net/thread/1422841.aspx"&gt;several&lt;/a&gt; &lt;a href="http://forums.iis.net/thread/1417629.aspx"&gt;forum&lt;/a&gt; &lt;a href="http://forums.iis.net/thread/1415201.aspx"&gt;posts&lt;/a&gt;&amp;nbsp;related to ASP &amp;amp; Access database failures, where the reported failure is:&lt;/p&gt;&lt;p&gt;&lt;i&gt;Microsoft JET Database Engine error '80004005'&lt;br&gt;Unspecified error&lt;/i&gt;&lt;/p&gt;&lt;p&gt;Not a very helpful error, to be sure.&amp;nbsp; It turns out all of these cases have a similar underlying cause:&amp;nbsp; &lt;b&gt;the effective user of the web application (including the anonymous user&amp;nbsp;for unauthenticated requests) can not effectively write to the temporary directory.&lt;/b&gt;&amp;nbsp; What changed in IIS7 and why did this always work before?&lt;/p&gt;&lt;p&gt;With IIS6, all worker processes, regardless of which the process identity was configured, used to C:\windows\temp as the temporary directory.&amp;nbsp; More specifically, none of the worker processes loaded their 'user profile' by default, causing all of them to use c:\windows\temp as a temporary directory.&amp;nbsp; Windows allows all users read/write/creator privledges on this directory, which allowed things to 'just work'.&amp;nbsp; The negative side effect of this is that all AppPools are effectively sharing the same temporary directory by default, which could lead to cross-appPool&amp;nbsp;information disclosure.&amp;nbsp; &lt;/p&gt;&lt;p&gt;With IIS7, we've chosen a more secure default and now load user profile by default for all application pools.&amp;nbsp; Unfortunately, the temporary directory underneath the user directory (for example - %windir%\serviceprofiles\networkservice\AppData\Local\Temp for the default NetworkService identity we use for DefaultAppPool) is not writable by anyone other than NetworkService by default.&lt;/p&gt;&lt;p&gt;There are two ways to workaround this.&amp;nbsp; First, I recommend that ACL the NetworkService temporary directory to allow whichever users read/write/creator privs that you want to allow access so that you still have the benefits of loading a user profile and separating&amp;nbsp;temp&amp;nbsp;directories per appPool.&amp;nbsp; This can easily be done on the command line like this:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;i&gt;icacls %windir%\serviceprofiles\networkservice\AppData\Local\Temp /grant Users:(CI)(S,WD,AD,X)&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;icacls %windir%\serviceprofiles\networkservice\AppData\Local\Temp /grant "CREATOR OWNER":(OI)(CI)(IO)(F)&lt;/i&gt; &lt;/p&gt;&lt;p&gt;This allows every user to create files and directories (WD = Write to Directory, AD = Add Directory, X = Execute, S = Synchronize). The user who creates them will be the “CREATOR OWNER” of the file/directory. &lt;/p&gt;&lt;p&gt;The “CREATOR OWNER” ACE allows this user to do whatever he wants with the file. Other users &lt;u&gt;can’t&lt;/u&gt; access these files/directories because they are not “CREATOR OWNER” of them. &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;The&amp;nbsp;other less favorable workaround&amp;nbsp;is to&amp;nbsp;disable the loadUserProfile setting on a per-appPool basis.&amp;nbsp; loadUserProfile is a boolean property&amp;nbsp;on an AppPool section, and can easily be set on the command line (for defaultAppPool) like this:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;i&gt;%windir%\system32\inetsrv\appcmd set config -section:applicationPools /[name='DefaultAppPool'].processModel.loadUserProfile:false&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;hope this helps -&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;bill&lt;/p&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=1432879" width="1" height="1"&gt;</description><category domain="http://blogs.iis.net/bills/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.iis.net/bills/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category><category domain="http://blogs.iis.net/bills/archive/tags/Compatibility/default.aspx">Compatibility</category></item></channel></rss>