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

标签 wix overwrite previous-installation

我有一个应用程序安装程序,无论版本号如何,都需要通过任何现有版本进行安装。

相反,我有一个安装程序,不断说我需要添加/删除程序。对于我的测试人员而言,这是非常令人沮丧的行为,因为这只会在没有真正原因的情况下使他们放慢速度-以前的安装程序包始终只会安装并删除以前存在的所有文件,因此他们不必执行此步骤。我们还有一个(庞大的)客户群,其客户群也接受过类似的培训,因为我现在安装的任何版本都应该覆盖以前可能安装的所有版本。

据我所知,WiX范例似乎是在做诸如阻止向后版本安装和其他复杂的事情(例如打补丁)之类的事情。坦率地说,我们的客户不够聪明,不知道或不关心打补丁,合并等等,只希望一个安装程序始终有效(我倾向于同意他们;带宽很便宜)。那我该怎么办呢?

我已经尝试过了,但这似乎并不重要:

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


这是WiX版本3.0.5120。

编辑:根据罗布的建议,我添加了以下代码:

<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>


我不会添加代码以不允许回滚安装;由于令我非常尴尬的原因,我们只能说版本号的增加并不一定与软件质量的提高相关。我不希望任何人束手无策。

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

最佳答案

您需要重大升级。 WiX.chm的“操作方法”中有一个专门的主题(也在Web上:http://wix.sourceforge.net/manual-wix3/major_upgrade.htm)。

关于wix - WiX-始终覆盖以前的版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/775259/

相关文章:

visual-studio-2012 - VS 2012 中的 WIX 菜单和命令丢失

r - Shiny :覆盖rhandsontable,赋值左侧无效(NULL)

java - FileUtils:跳过目标中已存在的文件并复制其余文件

python objectlist 添加到所有对象

ios - 是否有可能根据操作系统的版本拥有特定版本的应用程序?

c# - 如何通过 Wix 或自定义操作修改 IIS 处理程序映射权限

windows-services - WIX ServiceInstall - 将服务设置为在 NetworkService 帐户下运行

WIX : Substitution in 'C:\Program Files (x86)\XXX' folder had been blocked by the 1 mask argument (the folder pair's iSwapAttrib member = 0)