1

我有一个在网站上分发的产品。每次用户下载此文件时,我都会使用 WiX 再次编译所有内容。在每个构建中,版本都不会改变,但有些文件会改变。

问题
如何强制安装程序在开始安装之前卸载我的软件(无论版本如何)?

编辑
我已经尝试过这个:

<MajorUpgrade DowngradeErrorMessage="Erro Message." />
4

1 回答 1

3

将产品 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 的所有版本中都是通用的。

检查此链接

于 2013-08-01T21:33:07.460 回答