I've been busy working on a deployment for a Click Once application. When it works, it's great. When it doesn't, often the exception messages aren't too helpful. The lastest issue I ran into happened when I tried to access the deployment with a virgin Windows XP install (without the 2.0 framework). Instead of receiving a "helpful message", I get the following error message:
"The specified CGI application misbehaved by not returning a complete set of HTTP headers."
Ok, so that was helpful... It turns out IIS is trying to process the setup rather than just sending them down the pike for install on the client. The fix for the issue is relatively simple, but about as intuitive as the error message. For click once install applications, you need to set the "Execute Permissions" option in the IIS virtual directory to "Scripts only". If you have "Scripts and Executables" selected, you will get the error message shown above.