WIX:升级而不删除旧版本

时间:2016-08-16 14:55:47

标签: wix

我已经安装了2.4.0版。我有一个重大更新:

<?define Version="2.4.1.0"?>
<Product Id="*" Name="SuperProduct" Language="1033" Version="$(var.Version)" Manufacturer="MyCompany" UpgradeCode="$(var.UpgradeCode)">

<Upgrade Id="$(var.UpgradeCode)">
  <UpgradeVersion Minimum="1.0.0.0" Maximum="3.0.0.0" Property="PREVIOUSVERSIONSINSTALLED" IncludeMinimum="yes" IncludeMaximum="no" IgnoreRemoveFailure="yes" />
</Upgrade>

<MajorUpgrade AllowDowngrades="no" DowngradeErrorMessage="Cannot downgrade!" IgnoreRemoveFailure="yes" AllowSameVersionUpgrades="no" />

主要更新应该替换我的产品中的几个dll文件(它只包含theese文件)。但是安装程序会删除旧版本并安装新版本。删除除新文件之外的所有旧文件。如何在不删除旧文件的情况下安装升级(禁止RemoveExistingProducts)。这不是删除MajorUpgrade标记并在程序文件中接收2个程序的选项(SuperProduct 2.4.0和SuperProduct 2.4.1) 你有什么想法吗?

1 个答案:

答案 0 :(得分:1)

制作补丁而不是升级。这正是补丁的用途,替换了几个关键文件,并保留了原来的其余部分。我还没有安装补丁程序,但步骤应该在wix教程或Nick Ramirez的Wix 3.6书中。次要升级也可能有效,我不能100%确定升级类型之间的差异,因为我总是只实施一次重大升级