Ok, I'm resurrecting this old thread because I ran into this EXACT problem. Jeff suggested it's a file permission problem but it's not, it's actually a bug related to KB article 930901 here: http://support.microsoft.com/kb/930901/en-us. Fortunately there's a solution which is why I'm posting this, hopefully someone else can make use of the fix.
I was seeing similar symptoms. Enable IIS 7 on Vista Home Premium, add ASP.NET features + static content. ASP stuff works but none of the CSS renders. After a bit if digging I figure out that if I try to get any static content (such as the CSS file or even static HTML files) like http://localhost/style.css all I got back was a blank page. No error, just a zero content page.
The KB article I linked to above deals with upgrades in Vista, but I had the bug happen on an OEM install of Vista Home Premium that I installed myself, so there's no upgrade issue there. Fortunately the resolution steps are the same. Basically the bug (and yes it's a bug as of Feb 7 2008, MS's own status code on the issue is it's a bug) is that even though the directory browsing, default content, static content and static content compression appear to be check, enabled and installed they do not work properly. This means that any request for static web page content (non-ASP.NET stuff like the CSS files for example) are sent back as zero byte files with no content. So CSS rendering fails because there's no CSS data sent back.
The fix (it's also in the KB article but this is just summary):
- Install IIS the normal way (control panel->programs->turn windows features on or off). You may have to reboot after this if Windows asks you to.
- Start cmd.exe as an administrator (right click "run as administrator"). Execute the following command:
start /w pkgmgr.exe /uu:IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpCompressionStatic
That actually uninstalls the static content, default document, directory browsing and static content compression modules. This install followed by immediate uninstall by script is to force windows to clean up it's config data. I guess there's no bug in the scripted portion. Reboot the computer if asked to.
- Go back into the control panael and re-add the components again. Expand the IIS tree and you'll see them unchecked. Again, reboot one more time if asked too.
Finally, that should fix it. Hopefully Vista SP1 resolves this problem.
Anyway, I hope that helps someone else. I didn't see this fix else where when I searched so there you go...