在主要升级期间保留旧版产品

时间:2015-04-22 12:53:04

标签: wix windows-installer

伙计们,

我有以下情况:我希望在主要升级期间保留正在升级的产品的版本(例如,如果我从1.1升级到1.2,保存值1.1)并运行可执行文件,将此版本作为一个参数,在新产品安装完成后。这意味着我会在InstallFinalize左右调用它。我发现这篇非常有用的文章适用于我的案例:http://blogs.technet.com/b/alexshev/archive/2008/02/21/from-msi-to-wix-part-5-custom-actions.aspx

我遇到的问题是我不知道,也无法找到关于何时设置该属性的说明。何时执行此注册表搜索。我是否会在升级开始时设置此属性一次,还是在调用属性时动态设置?

1 个答案:

答案 0 :(得分:0)

如果您使用的是WiX主要升级元素,则应将AllowDowngrades设置为yes。没有必要手动尝试以某种方式设置版本。见这里:

http://wixtoolset.org/documentation/manual/v3/xsd/wix/majorupgrade.html

其中显示“AllowDowngrades已经允许两个具有相同版本号的产品相互升级。”

在尝试运行代码之前一定要尝试这个。请注意,ProductVersion属性不是“设置” - 它位于MSI文件中,并从那里传输到系统。