14

我们的团队开发分布式 Winform 应用程序。我们使用 ClickOnce 进行部署,对此非常满意。

但是,我们发现 ClickOnce 的痛点在于创建部署。我们有标准的开发/测试/生产环境,并且需要能够为每个安装和更新的环境创建部署。此外,我们希望控制部署哪些程序集。仅仅因为一个程序集被编译并不意味着我们希望它被部署。

创建部署的首选显然是 Visual Studio。但是,VS 确实没有解决所述问题。下一个是 SDK 工具 Mage。Mage 工作正常,但创建部署相当乏味,我们不希望每个开发人员都拥有我们的代码签名证书和密码。

我们最终做的是推出我们自己的部署应用程序,该应用程序使用 Mage 的命令行版本来创建 ClickOnce 清单文件。

我对我们目前的解决方案感到满意,但似乎会有一种全行业公认的方法来解决这个问题。有没有?

4

2 回答 2

14

我会考虑使用msbuild。它内置了用于处理 clickonce 部署的任务。如果您想走这条路,我提供了一些参考资料,它们将帮助您入门。这是我使用的,我发现它可以满足我的需求。通过使用 msbuild 的良好构建过程,您应该能够消除您所感受到的痛苦。

这是有关 ClickOnce 清单生成如何与 MsBuild 一起使用的详细帖子。

于 2008-08-21T19:03:27.523 回答
5

我使用 nAnt 运行整体构建策略,但将参数传递到 MSBuild 以编译和创建部署包。

基本上,nAnt 会为您需要部署到的每个环境调用 MSBuild,并为每个环境生成单独的部署输出。您最终会得到每个环境所需的文件夹和所有 ClickOnce 文件,您只需将其复制到服务器即可。

这也是我们处理多个生产环境的方式——我们在美国、加拿大和欧洲有单独的应用程序实例,因此每个构建最终会创建九个部署,开发、质量和产品各三个。

于 2008-08-21T19:09:35.200 回答