我正在为客户开发一个Windows .NET 4桌面应用程序,并正在考虑使用
ClickOnce从客户端的网站进行部署。我还计划从他们的网站部署应用程序版本升级。
我已经阅读了Stack Overflow中的许多ClickOnce相关问题,但仍然不了解我将使用ClickOnce将应用程序发布到Web服务器的需要。
我的客户端需要在他们的Web服务器上设置什么才能使用ClickOnce发布我的应用程序?什么样的访问权限?他们是否需要设置部署目录?
解决方法
引用Brian Noyes关于ClickOnce部署的优秀书,
Smart Client Deployment with ClickOnce: Deploying Windows Forms Applications with ClickOnce:
>服务器必须能够通过HTTP或UNC文件路径返回部署清单,应用程序清单和单个应用程序文件的文件请求。
>服务器必须在HTTP头中返回适当的MIME文件类型,以便客户端正确处理它们。
当前的MIME类型列表在博客帖子MIME Types for ClickOnce deployment中。
所以你甚至不必拥有Windows Server,你可以在Apache服务器上托管它(还有很多)。
我的公司设置了一个文件夹(不在网络服务器的根目录下),并授予我FTP文件夹的权限。然后有一个指向该文件夹的HTTP地址。他们比对我的HTTP服务器根目录的HTTP访问更加舒服,我完全同意这一点。
所以当我发布,我将发布文件的位置设置为像ftp://myserver.mycompany.com/myvirtualfolder/myappname/
然后我将安装URL设置为类似的
http://myserver.mycompany.com/myappname/