I have a simple "Hello World" web application developed using VS2010. I have also created a web setup project for this. The installer fails on servers running IIS7 if the IIS6 Compatibility feature is not turned on (as described here).
Is IIS6 Compatibility a requirement of the installer only or do all web applications developed using VS2010/VS2008 have built-in dependencies on this? Is it possible to develop a web application (and setup project) using VS2010 or VS2008 which does not depend on IIS6 Compatibility when running on IIS7?
IIS6 compatibility is a requirement for the installer. During install there are specific actions which install your IIS elements and those actions do not use IIS 7 API.
Some commercial setup authoring tools support dynamic IIS installation by using IIS7 API on machines which support it and an older API for other IIS versions. For Visual Studio packages there isn't any support yet.