WiX项目允许基于版本的升级和并行(多实例支持)安装
我非常喜欢持续集成、部署和交付。我相信基于修订版的升级是一种方式,但使用基于WIX的安装程序似乎很难支持此功能。我目前正在尝试更改我们产品的安装程序,以便它可以并行安装(多实例支持),并允许基于修订的升级。在我的例子中,我希望允许并行安装产品的1.0.0.0和1.0.0.1版本,并支持升级任何安装,就像只允许在不更改产品1.0.0.0版本的情况下从1.0.0.1升级到1.0.0.2一样 所以在给定的场景中WiX项目允许基于版本的升级和并行(多实例支持)安装,wix,windows-installer,wix3.5,Wix,Windows Installer,Wix3.5,我非常喜欢持续集成、部署和交付。我相信基于修订版的升级是一种方式,但使用基于WIX的安装程序似乎很难支持此功能。我目前正在尝试更改我们产品的安装程序,以便它可以并行安装(多实例支持),并允许基于修订的升级。在我的例子中,我希望允许并行安装产品的1.0.0.0和1.0.0.1版本,并支持升级任何安装,就像只允许在不更改产品1.0.0.0版本的情况下从1.0.0.1升级到1.0.0.2一样 所以在给定的场景中 在1.0.0.0之上安装1.0.0.1时,需要升级1.0.0.0 将1.0.0.1作为新实
<Product Id="*"
Name="$(var.ProductName)"
Language="1033"
Version="$(var.Version)"
Manufacturer="$(var.Manufacturer)"
UpgradeCode="MY-UPGRADE-CODE">
<MajorUpgrade Schedule="afterInstallInitialize" DowngradeErrorMessage="A later version of [ProductName] is already installed. Setup will now exit." />
您需要停止使用MajorUpgrade元素并生成特定于版本的升级。MajorUpgrade基本上是一个简短而甜蜜的方式来升级之前的每个版本。相反,您需要构建针对要升级的特定版本范围的特定WiX升级元素。您的1.0.0.2将有一个升级元素,该元素只针对版本1.0.0.0进行升级 如果没有更多关于未正确安装的详细信息,就无法详细说明升级失败的原因。我注意到您在InstallInitialize之后安排了升级,这意味着如果要将相同的资源安装到相同的位置,则需要增加文件版本以替换文件并遵循组件规则。也许这就是问题所在