If you are working with Windows Vista and IIS7 and developing web applications using Visual Studio 2005, you might want to know certain things before you panic on getting issues with creating http://localhost applications running out of the IIS Webserver.
With Windows Vista, we ensured that security is the utmost important aspect and anything that needs an administrative privielege (could be running a script, could be creating a website in your webroot or simply could be changing your desktop resolution) needs to be confirmed by the end users, triggered by the UAC prompt. If you had been working with Windows Vista, you would have noticed the UAC Prompt appear quite a few times for a number of things. This though looks to be a nuisance, is a wonderful mechanism to prevent fradulent usage of administrative access by hackers. Supposing you visit a site which internally downloads a script and tries to attach your OS System Files, unless the end user confirms, the UAC isnt going to allow to proceed with the operation. Similarly, even downloaded desktop applications which try to mess with the operating system, are well covered by the UAC prompt.
Coming to our case in point, for creating Web Applications running out of IIS7, you need to do a few things. The first thing is to run your Visual Studio 2005 under admin priveleges. You can do that by Start - Run - Visual Studio 2005 and right click on the Visual Studio 2005 icon and select "Run as Administrator". By doing this you get the privelege to create web applications running out of IIS 7. Alternatively you could also create web applications running out of your file folders without requiring the IIS 7. This doesnt require you to chose "Run as Administrator". In these cases, Visual Studio 2005 would use the built-in ASP.NET Server (http://localhost:PortNumber)
Similarly, at the IIS 7 end you need to do a few things. The first step is to enable IIS7, by default, IIS 7 is not enabled in Windows Vista. So visit Control panel - Add Remove Programs (a quick runtime command is "appwiz.cpl" from Run command). Select "Turn Windows Features On or Off" and you would be prompted with a list of Windows Compnents (It takes a moment to load the bunch)
Once you are there, you would just want to do the following things:-
1. Scroll Down to the Internet Information Services (its below Indexing Services and above Microsoft .NET Framework 3.0)
2. Expand the tree next to Internet Information Services by clicking on the '+' sign.
3. Expand the IIS 6 Management Compatibility icon
4. Under that, make sure IIS Metabase and IIS 6 compatibility is Checked (Selected)
5. Since we havent checked (at least they arent checked by default) all the items, it (IIS 6 Management Compatibility) would be grayed (blue-filled)
6. Also select IIS 6 Management Console as checked
7. Similarly, under World Wide Web Services -> Application Development Features make sure the following are checked
i. .NET Extensibility, ii. ASP.NET, iii. ISAPI Extensions, iv. ISAPI Filters
8. The World Wide Web Services icon would also be a grayed (blue-filled) check box.
9. Once you un-expand these and go back to Internet Information Services, you would find that it is also grayed (blue-filled) checkbox.
10. Click Ok and it would take quite sometime to install ASP.NET 2.0 and also install the features selected and configure them.
Post these steps, you should be able to run Visual Studio 2005 under administrative priveleges (Right click, Run as Administrator) and also created websites hosted on http://localhost (IIS 7 Webserver) as against creating them on your local folder structure.
Here below are a few blog posts which give a Visual Step-by-Step instructions incase you are unable to follow the above