标签: previous-installation

WiX--始终覆盖以前的版本

我有一个应用程序的安装程序,无论版本号如何,都需要安装在任何现有版本上.

相反,我有一个安装程序,经常说我需要去添加/删除程序.对于我的测试人员而言,这是非常令人沮丧的行为,因为它只会让他们放慢速度而没有真正的理由 - 以前的安装程序包总是只安装,删除以前存在的任何文件,所以他们从来不必这么做.我们还有一个(大)客户群经过类似的培训,因为我现在安装的任何版本都应该覆盖我之前可能拥有的任何安装.

从我可以收集的信息来看,似乎WiX范例是做阻止向后版本安装和其他复杂事情的事情,比如修补.坦率地说,我们的客户不够聪明,不知道或不关心修补,合并等等,只想要一个总是有效的安装程序(而且我倾向于同意它们;带宽便宜).那我该怎么做呢?

我试过这个,但它似乎并不重要:

<InstallExecuteSequence>
  <RemoveExistingProducts Before="InstallInitialize"/>
</InstallExecuteSequence>
Run Code Online (Sandbox Code Playgroud)

这是WiX的3.0.5120版本.

编辑:根据Rob的建议,我添加了这段代码:

<InstallExecuteSequence>
  <RemoveExistingProducts After="InstallInitialize"/>
</InstallExecuteSequence>

<Upgrade Id="27cb76c7-544e-465f-b1f3-b11d9a49e416">
  <UpgradeVersion Minimum="0.8.0"
                  IncludeMinimum="yes"
                  Maximum="1.5.1"
                  Property="OLDERVERSIONBEINGUPGRADED" />
</Upgrade>
Run Code Online (Sandbox Code Playgroud)

我没有添加代码以不允许回滚安装; 由于令我非常尴尬的原因,我们只是说版本号的增加并不一定与软件良好性的增加相关.我不希望任何人被锁定在他们认为需要的东西之外.

另外,非常重要的是将产品的默认GUID更改为"*",以便使用不同的安装程序创建不同的GUID,这显然是问题所在.

wix overwrite previous-installation

18
推荐指数
1
解决办法
2万
查看次数

java应用程序的安装程序

我想知道哪些包可用于创建安装程序以分发应用程序.

目标应用程序是用Java编写的.安装程序必须能够:

  • 通过ant脚本编译
  • 编译Linux(和Windows)
  • 在Windows和Linux上运行
  • 检测/处理以前安装的应用程序版本

我们目前使用IzPack,因为它完成了上述所有操作,但后者除外:它无法轻松检测到以前安装的软件版本,这对我们来说是一个交易破坏者.

还有其他适合该账单的套餐吗?

谢谢!

java ant installer previous-installation

6
推荐指数
1
解决办法
931
查看次数

标签 统计

previous-installation ×2

ant ×1

installer ×1

java ×1

overwrite ×1

wix ×1