无论如何在ARP中没有双重条目的情况下使用.msi升级.exe安装的程序?

时间:2018-01-19 11:02:29

标签: wix windows-installer installer wix3.10

我目前正在使用WiX Toolset来构建我的安装程序。这个工具非常好,但最近我遇到了一个问题。当我使用.exe安装我的程序,然后使用.msi升级它时,在添加/删除程序中有一个双重条目。反正有没有阻止安装程序添加双重输入?谢谢!

1 个答案:

答案 0 :(得分:0)

从您的帖子中不清楚您是否遵循了主要升级的规则,例如使用相同的UpgradeCode,新的ProductCode和PackageCode,在前三个字段中增加ProductVersion,在MSI中具有升级逻辑(例如作为主要升级元素)。您需要在旧版本和升级版本中为这些源提供WiX源以查看差异。详细日志也会有所帮助,使用包含/ l * vx [日志文件路径]的命令行安装MSI

如果遵循这些规则,升级失败的主要原因是每个用户一个,另一个是每台机器(反之亦然)。一个上下文不会升级另一个。如果是这种情况,日志将在某个地方使用FindRelatedProducts指向另一个上下文中的已安装产品。

所有这些也假设你所做的原始安装是在exe下面的基于MSI的。如果不是,并且它是一些其他安装软件没有使用MSI文件那么就没有自动升级这样的东西。您需要找到一些非MSI方式来卸载旧产品。一种典型的方法是在该产品的注册表中找到UninstallString并运行它。根据所使用的软件,可以解析该命令以添加静默选项。