WiX - 抑制/忽略版本

时间:2015-10-05 18:50:05

标签: c# .net wix

我正在使用WiX为我们公司的应用程序开发安装程序。

我在测试时注意到的一件事是,运行相同的安装程序两次(安装成功后)导致安装中止,因为已经存在相同版本的软件。我需要允许相同安装程序多次运行的行为,并多次安装相同的应用程序。

这是因为当我们部署到我们的客户端(已经手动)时,我们总是在测试环境和生产环境中进行部署。这两个环境的代码库是相同的。此外,一些客户希望在同一台机器上拥有多个生产/测试环境。

有没有办法取消安装程序的版本信息,以便它会忽略以前的任何安装并重新安装?到目前为止我已经尝试过压制PublishProduct,但它没有给出这种行为。看来版本属性也是必需的(我无法将其删除)。

2 个答案:

答案 0 :(得分:2)

要在同一台计算机上运行这两种安装,您需要:

  • 将产品代码更改为“*”。
  • 删除升级代码或为每个安装程序更改它。
  • 更改每次安装的安装路径。

答案 1 :(得分:1)

最简单的方法是在安装中使用MajorUpgrade元素,在afterInstallInitialize之后对其进行排序(以便卸载旧版本然后安装新版本)并将AllowSameVersionUpgrades设置为true。您需要将ProductCode和PackageCode值设置为*,以便每个构建都创建新的guid。基本上,ProductCode表示产品已安装且您无法安装相同的产品两次 - 它需要升级。