Publishing a .NET ClickOnce Application to a linux Apache Server
10 December 2006You might think that you can only publish a ClickOnce application to a IIS server. This is in fact not the case, you CAN publish a ClickOnce application to a apache web server either running on Linux or Windows. In fact its pretty simple.
Configure your apache publish directory for ClickOnce applications
At the root directory of where you are publishing your ClickOnce application, create / edit a .htaccess file. (click here for the apache documentation on AddType) (if you still need help with apache I suggest the following book Apache: The Definitive Guide (3rd Edition) )
Add the following lines to it:
AddType application/x-ms-application application AddType application/x-ms-manifest manifest AddType application/octet-stream deploy
For some reason I also needed the following line in my .htaccess file
AddType application/x-msdownload dll
For more reading on ClickOnce check out Smart Client Deployment with ClickOnce(TM): Deploying Windows Forms Applications with ClickOnce(TM) (Microsoft .NET Development Series).
Use FTP when publishing from Visual Studio, Unless you want to install FrontPage Server Extensions on your Apache, Yuk!
Using a ClickOnce application with FireFox
Currently ClickOnce applications will only work with Internet Explorer, you CAN however use FireFox, but you will need to install the FFClickOnce extension.
Leave a Reply
You must be logged in to post a comment.

2 Responses to “Publishing a .NET ClickOnce Application to a linux Apache Server”
March 6th, 2007 at 8:52 pm
Hi,
I tried what you\’ve said but it doesn\’t work for me. The error I get is that the server does not have Frontpage extensions installed ..which Apache obviously doesn\’t. So Im guessing that I have to publish to IIS but can use Apache to serve the published files after editing the manifests (to alter deployment location) and re signing them. Can you help? Thanks.
March 7th, 2007 at 10:25 pm
Hi Prashanth, thanks for the comment. When publishing to Apache you should be publishing with FTP not HTTP. You can use HTTP but that is another discussion (see this Microsoft knowledge base article). I will add this note to the main article.