我有一个在网站上分发的产品。每次用户下载此文件时,我都会使用 WiX 再次编译所有内容。在每个构建中,版本都不会改变,但有些文件会改变。
问题
如何强制安装程序在开始安装之前卸载我的软件(无论版本如何)?
编辑
我已经尝试过这个:
<MajorUpgrade DowngradeErrorMessage="Erro Message." />
我有一个在网站上分发的产品。每次用户下载此文件时,我都会使用 WiX 再次编译所有内容。在每个构建中,版本都不会改变,但有些文件会改变。
问题
如何强制安装程序在开始安装之前卸载我的软件(无论版本如何)?
编辑
我已经尝试过这个:
<MajorUpgrade DowngradeErrorMessage="Erro Message." />
将产品 ID 更改为 *,这将确保在 MSI 编译期间生成唯一的 GUID。
然后添加以下内容:
<Property Id="OLDVersion" Secure="yes" />
<Upgrade Id="YOUR_GUID">
<UpgradeVersion
Minimum="1.0.0.0" Maximum="99.0.0.0"
Property="OLDVersion"
IncludeMinimum="yes" IncludeMaximum="no" />
</Upgrade>
在 InstallExecuteSequence 添加:
<RemoveExistingProducts Before="InstallInitialize" />
这应该负责卸载以前安装的版本。
确保您使用的升级 GUID 在您的 MSI 的所有版本中都是通用的。
检查此链接