2015-10-05 66 views
0

我正在为使用WiX的公司应用程序开发安装程序。WiX - 取消/忽略版本

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

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

有没有办法来抑制安装程序的版本信息,所以它会忽略任何以前安装并重新安装?到目前为止,我试图压制PublishProduct,但它没有给出这种行为。看来版本属性也是必需的(我不能删除它)。

回答

2

为了运行在同一台机器上安装都将需要:

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

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