代码之家  ›  专栏  ›  技术社区  ›  codeConcussion

创建ClickOnce部署的最佳方法是什么

  •  13
  • codeConcussion  · 技术社区  · 16 年前

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

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

    显然,创建部署的第一选择是Visual Studio。然而,VS确实没有解决所述的问题。下一行是sdk工具mage。mage工作正常,但是创建部署相当繁琐,我们不希望每个开发人员都有我们的代码签名证书和密码。

    我们最终做的是滚动我们自己的部署应用程序,它使用mage的命令行版本来创建clickOnce清单文件。

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

    2 回复  |  直到 9 年前
        1
  •  14
  •   Dale Ragan    16 年前

    我会考虑使用 msbuild . 它已经建成 tasks 用于处理ClickOnce部署。如果你想走这条路的话,我提供了一些参考资料,可以帮助你开始工作。这是我使用的,我发现它符合我的需要。有了一个使用msbuild的良好构建过程,您应该能够完成压扁您所感受到的痛苦。

    这里是 detailed post 关于clickOnce清单生成如何与msbuild一起使用。

        2
  •  5
  •   Guy Starbuck    16 年前

    我已经使用nant运行了整个构建策略,但是将参数传递到msbuild中以编译和创建部署包。

    基本上,nant为需要部署到的每个环境调用msbuild,并为每个环境生成单独的部署输出。最后会得到一个文件夹和每个环境所需的所有ClickOnce文件,您可以将这些文件复制到服务器上。

    这也是我们处理多个生产环境的方式——我们为美国、加拿大和欧洲提供了应用程序的单独实例,因此每个构建最终将创建九个部署,分别为dev、qa和prod创建三个部署。