Umbraco installation error: Unrecognized attribute ‘restartOnExternalChanges’

When using Microsoft’s Web Platform Installer to install Umbraco on a Windows 2003 server, everything seemed to be going right until I tried to view the site. I saw only this error message:

Screen shot 2010-04-21 at 1.39.27 PM.jpg

The reason this error was so generic, is that usually ASP-generated errors are only output to browsers on the server (local), and not to external browsers. This is for security reasons: often debugging messages contain specific path or other information that could be used to attack the server. This behavior is set in IIS Manager, under ASP.NET. If you need to temporarily alter this behavior for convenience, you can do so in IIS Manager:

  1. In IIS Manager, right click the umbraco directory, and select Properties.
  2. In the Virtual Directory tab, cllick the Configuration… button.
  3. In the Application Configuration window, select the Debugging tab, and change the settings as desired. Just remember to change it back before you go live.

asp settings.jpg

Or you can simply view these messages by using the browser on the server. The real, uncensored message was much more detailed:

Server Error in '/umbraco' Application.

Configuration Error 
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately. 

Parser Error Message: Unrecognized attribute 'restartOnExternalChanges'.

Source Error: 
 
<configSections&rt;
    <section name="urlrewritingnet" restartOnExternalChanges="true" requirePermission="false" type="UrlRewritingNet.Configuration.UrlRewriteSection, UrlRewritingNet.UrlRewriter" /&rt;
   <!-- ASPNETAJAX --&rt;
    <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"&rt;

A message in the Umbraco forums explained that it was due to the wrong .NET version being used by the application. Here is how to fix that.

In IIS Manager, right click the umbraco directory, and select Properties.
Click the ASP.NET tab and select the 2.0xxx version from the dropdown menu. Click OK.

asp.netversion.jpg