.net 将ClickOnce应用程序部署到多个服务器

.net 将ClickOnce应用程序部署到多个服务器,.net,deployment,msbuild,clickonce,.net,Deployment,Msbuild,Clickonce,我们正在考虑使用部署作为分发应用程序的一种手段。但是,由于带宽问题,我们需要将应用程序部署到网络上的多个服务器,而不是一个服务器 我在一家银行工作,希望向我们所有的分支机构推出一个客户机,但是分支机构网络太慢,无法让应用程序每天检查中央服务器以获取更新,尽管我们确实希望它在应用程序每次运行时都检查。每个分支都有自己的服务器,因此我希望能够将客户机部署到这些分支服务器,而不是主办公室中的服务器 使用ClickOnce是否可以做到这一点?我是否必须使用命令行执行此操作,或者是否可以在生成项目中执行此

我们正在考虑使用部署作为分发应用程序的一种手段。但是,由于带宽问题,我们需要将应用程序部署到网络上的多个服务器,而不是一个服务器

我在一家银行工作,希望向我们所有的分支机构推出一个客户机,但是分支机构网络太慢,无法让应用程序每天检查中央服务器以获取更新,尽管我们确实希望它在应用程序每次运行时都检查。每个分支都有自己的服务器,因此我希望能够将客户机部署到这些分支服务器,而不是主办公室中的服务器


使用ClickOnce是否可以做到这一点?我是否必须使用命令行执行此操作,或者是否可以在生成项目中执行此操作?

是的,可以使用MSBuild(它是Framework 2.0及更高版本的一部分)进行部署。请参见。

AFAIK中的示例,如果您只需将安装文件从中心位置同步到分支服务器,您的客户端应该能够从这些服务器运行/检查/更新。

我已经构建了一个使用ClickOnce在Internet上分发的商业产品。但是,它是从单个服务器分发的,而不是像您的场景中那样从多个服务器分发的

我想说你想做的事是可以做到的。问题是应用程序需要知道要检查哪个分支服务器的更新,并且清单中必须嵌入部署URL(在本地分支服务器上)。因此,您似乎必须为每个分支服务器进行单独的构建。自动化使用可能很容易,但我没有这方面的经验


一个有用的参考是。

谢谢,我认为发布到中央服务器,然后将文件复制到每个分支服务器会更容易-我们有30多个分支,因此为每个分支创建一个版本会有点麻烦。但我不确定这是否有效,正如您所说,客户端需要知道检查哪台服务器的更新-我必须在办公室的几台PC上尝试,看看会发生什么!我刚刚尝试部署到服务器,将发布的文件复制到本地计算机,并从localhost运行安装程序,但是,它仍然从服务器检索安装文件,而不是使用本地副本。在安装/检查更新时,应用程序必须始终使用清单中的URL,这在我的情况下没有多大用处。呵呵,是时候重新考虑一下策略了!我承认,我对ClickOnce、清单等的详细信息不太了解。我所做的是将文件部署到本地共享,然后将文件移到LAN之外,而LAN无法访问该共享。我从来没有遇到过任何问题。当然,你必须编辑部署清单(更改更新uri)!使用MageUI工具。您甚至可以使用mage命令行工具自动执行复制到分支位置的过程。