Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WIX:升级而不删除旧版本_Wix - Fatal编程技术网

WIX:升级而不删除旧版本

WIX:升级而不删除旧版本,wix,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)"> <Up

我已经安装了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文件(它只包含这些文件)。但安装程序会删除旧版本并安装新版本。将删除除新文件以外的所有旧文件。如何在不删除旧文件的情况下安装升级(禁止删除现有产品)。这不是删除MajorUpgrade标记并在程序文件(SuperProduct 2.4.0和SuperProduct 2.4.1)中接收2个程序的选项
你有什么想法吗?

做一个补丁而不是升级。这正是修补程序的用途,它替换了一些关键文件,并保持安装的其余部分不变。我还没有安装补丁,但步骤应该在wix教程或Nick Ramirez的wix 3.6书中。小升级也可能有效,我不能100%确定升级类型之间的差异,因为我总是实施大升级

移动注释来回答。我需要进行大升级,而不是补丁。根据定义,大升级不是这样工作的。如果您希望所有旧文件仍然可用,则还需要将它们包括在主升级安装程序中。RemoveExistingProducts是从“添加删除程序”列表中删除该项的功能,因此取消该功能意味着您将在列表中获得两个项。为什么您需要进行重大升级?次要升级和修补程序的目的是替换一些文件并更新版本(次要升级),或者保持版本不变(修补程序),同时保留所有其他旧文件不变。为此,您必须找到自己的资源,如果可以找到,我建议Nick Ramirez的Wix 3.6《Windows XML开发人员指南》。大部分内容仍然适用于wix 3.10.2(当前版本),其中包含有关创建3种升级类型的详细信息。在web和stack exchange上可能还有其他关于进行小升级和补丁的资源。谢谢,我将查找这本书