我如何卸载以前使用VS *.vdproj构建的MSI ?



我使用WIX为现有产品创建一个新的安装程序。安装程序非常简单-只需将几个dll放到磁盘上的指定文件夹中。

在字段中,我的用户已经有了旧的dll文件夹(因为他们安装了旧的MSI -使用*创建)。vdproject project in VS .

我的问题是,在我安装WIX之后,我有旧的MSI和新的WIX MSI出现在添加/删除中。预计(?因为这两个是两种不同的MSI ?)。我需要某种升级机制-所以我想知道我是否可以从WIX中调用旧的MSI卸载程序。或者以某种方式处理旧的Add/Remove条目(也许是注册表破解?)

假设旧安装和新安装使用相同的上下文(每用户->每用户或每机器->每机器)安装,您可以使用MajorUpgrade规则找到旧版本并删除它。你可以通过同步UpgradeCode属性并使用更高的ProductVersion来做到这一点,或者你可以通过使用旧的UpgradeCode GUID创建第二个升级规则来做到这一点。

如果旧的安装是按用户安装的,而您希望新的安装是按机器安装的,那么您就不走运了。这是不支持的MSI。通常,我只支持每台机器安装和硬编码ALLUSERS属性,并从安装程序UI体验中删除CustomerInformation对话框。这不是基于VDPROJ安装程序的默认体验。

最新更新