我目前正在使用WiX Toolset来构建我的安装程序。这个工具非常好,但最近我遇到了一个问题。当我使用.exe安装我的程序,然后使用.msi升级它时,在添加/删除程序中有一个双重条目。反正有没有阻止安装程序添加双重输入?谢谢!
答案 0 :(得分:0)
从您的帖子中不清楚您是否遵循了主要升级的规则,例如使用相同的UpgradeCode,新的ProductCode和PackageCode,在前三个字段中增加ProductVersion,在MSI中具有升级逻辑(例如作为主要升级元素)。您需要在旧版本和升级版本中为这些源提供WiX源以查看差异。详细日志也会有所帮助,使用包含/ l * vx [日志文件路径]的命令行安装MSI
如果遵循这些规则,升级失败的主要原因是每个用户一个,另一个是每台机器(反之亦然)。一个上下文不会升级另一个。如果是这种情况,日志将在某个地方使用FindRelatedProducts指向另一个上下文中的已安装产品。
所有这些也假设你所做的原始安装是在exe下面的基于MSI的。如果不是,并且它是一些其他安装软件没有使用MSI文件那么就没有自动升级这样的东西。您需要找到一些非MSI方式来卸载旧产品。一种典型的方法是在该产品的注册表中找到UninstallString并运行它。根据所使用的软件,可以解析该命令以添加静默选项。