I am developing a Windows .NET 4 desktop application for a client and am considering using ClickOnce for deploying it from the client\'s website. I also plan on deploying applic
To quote Brian Noyes' excellent book on ClickOnce deployment, Smart Client Deployment with ClickOnce: Deploying Windows Forms Applications with ClickOnce:
The server must be able to return file requests for the deployment manifest, application manifest, and individual application files via HTTP or a UNC file path.
The server must return appropriate MIME file types in the HTTP headers so that they are handled correctly on the client side.
The current list of MIME types is in the blog post MIME Types for ClickOnce deployment.
So you don't even have to have Windows Server, you can host it on an Apache server (and many do).
My company set up a folder (not under the root of the webserver) and gave me permissions to FTP anything to that folder. Then there is an HTTP address that points to that folder. They were more comfortable with this than with giving me HTTP write access to the root of the web server, with which I totally agreed.
So when I publish, I set the publishing file location to something like ftp://myserver.mycompany.com/myvirtualfolder/myappname/
Then I set the installation URL to something like http://myserver.mycompany.com/myappname/
which points to myvirtualfolder
. And this is also the link accessed by the customers.