如何创建和安装两个不同版本的WPF ClickOnce应用程序?

时间:2018-02-12 18:46:51

标签: wpf configuration installation clickonce

我有一个随ClickOnce一起发布的WPF应用程序。目前的设置是我们有两个不同的版本,基于两个不同的部署站点中的两个不同的配置(它们连接到不同的数据库)。它们可以彼此独立地工作,但它们不能同时安装在计算机上。有没有办法解决这个问题,以便在您尝试安装这两个版本时两个版本不会相互冲突?

如果有帮助,我已经在预先构建的事件中设置了交换,该交换是根据当前配置使用的不同配置文件。

2 个答案:

答案 0 :(得分:0)

它们必须具有不同的应用程序名称。我不知道如何在发布之前更改应用程序名称,但您可以尝试通过此实用程序Download page(第一个链接)进行更改。你的行动:

  1. 选择第二个实例应用程序文件夹。
  2. 将操作更改为更新
  3. 在字符串中添加任何字符串"应用程序实例名称" preview
  4. 点击构建

答案 1 :(得分:0)

继续根据Sergey'sa related vlog注释,我记录了一个解决方案:

步骤

  • 为“测试”版本创建一个源代码控制(github)分支,在主节点上使用“实时”(只要有两个分支,任何分支安排都应起作用)
    • git branch Test
    • git push -u origin Test(一旦在下面进行本地更改,就可以完成此操作)
  • 在Visual Studio 2017(VS)的“发布...应用程序”下,将“测试”后缀添加到“程序集名称”中
  • 在VS中的“发布...发布”下,将“测试”后缀添加到“发布文件夹位置”和“安装文件夹URL”
  • 在VS中的“发布...发布...选项...”下,将“测试”后缀添加到“产品名称”

自定义步骤

  • 在日志文件名中添加“测试”后缀(我们使用在“ App.config”中配置的log4net)
    <file value="${LOCALAPPDATA}\\Our_Company\\log-Test.txt" />
  • 应用程序使用的任何其他文件或资源(我们没有任何文件)
  • 我们在“资源”中有一个应用程序图标,其“测试”版本的颜色与“实时”版本的颜色不同

完成这些步骤后,继续进行“发布”,有两个桌面版本。然后,我们通过电子邮件与用户共享指向setup.exe的链接。

最后,一旦测试(QA)阶段完成,将“ Test”分支合并到“ master”(或“ Live”处于打开状态的任何分支),并反向执行上述重命名步骤(即删除所有“ Test”后缀) 。并逆转所有自定义步骤。