I just reformatted one of my boxes at home here where I run IIS, SQL Server 2008, host my subversion repositories, and CruiseControl.NET.  I upgraded the OS on this box from Vista Ultimate SP1 to Windows 7 Ultimate RTM.  During the process of reinstalling all of my apps, development tools and reconfiguring those tools I ran into the problem of getting CC.NET to work under IIS 7.  One of the issues I had was that the virtual directory that the CC.NET installer creates was not getting created.  I then manually created the virtual directory and pointed it to the webdashboard directory where CC.NET was installed.  This didn't work either.  After doing some searching I found that the virtual directory needs to have the "Classic .NET AppPool" application pool in order for it to work propertly.  After I made that change I got a little further but received this error when trying to view the project web page:

Server Error
--------------------------------------------------------------------------------
HTTP Error 404.11 – URL_DOUBLE_ESCAPED
HRESULT: 0
Description of HRESULT # The operation completed successfully.

I found a Microsoft KB article that describes the problem and how to fix it, offering several ways to get around it.  The option I chose was to open a command prompt and issue the following command:

Appcmd set config "Default Web Site" /section:system.webServer/Security/requestFiltering -allowDoubleEscaping:True

I then reset IIS and boom, all was running properly.  Hope this helps anyone encountering these problems trying to get CC.NET running on IIS 7.