If you publish a .NET application to an IIS 7 server click once deployment fails with HTTP 404 errors on .manifest, .application, and .deploy files.
After googling I found a blog article that went through a bunch of horribly poor suggestions involving giving administrative access to the IIS account and installing IIS 6 compatibility features on the server. In a word: unnecessary.
The solution is simple:
Add a script map into the application context that maps the .deploy, .manifest, and .application extentions to the aspnet_isapi script handler.

Request Path
*.manifest
Executable
%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
Name
(Whatever you want, I called mine ClickOnce1 - 3)

864a1f89-a26d-4d93-98cb-d8b3343b2b2d|0|.0