MSI 安装程序未正确卸载产品

Posted

技术标签:

【中文标题】MSI 安装程序未正确卸载产品【英文标题】:MSI installer not correctly uninstalling a product 【发布时间】:2011-02-16 13:56:12 【问题描述】:

我有一种情况,用户可以为“当前用户”安装旧版本的软件,然后继续为“所有用户”升级到新版本的软件。

在此之后产品本身可以正常工作,但是在卸载时会出现奇怪的情况。

当我尝试卸载该产品时,卸载程序会显示几个闪烁的进度,然后就死掉了。它根本不调用我的任何自定义操作(我有安装、卸载和提交这些操作。产品文件仍然存在,我仍然可以启动它。

如果我再次尝试卸载,MSI 会给出一个错误,指出该产品不存在,但它仍然确实列在添加/删除程序中。

在尝试卸载后,用户可以通过添加/删除程序(此时显示产品的旧版本)卸载产品的“其余部分”来解决此问题。

任何想法可能导致这种情况?

【问题讨论】:

此外,谁创建了 MSI? Visual Studio 或 WiX,或其他。 在 Visual Studio 中创建。由于我不得不做大量奇怪的问题和自定义操作编码,我很想简单地转向 WISE... 【参考方案1】:

这可能是因为内部抛出了一些异常。这很难说。您可以通过要求他以以下方式卸载来从用户那里获取日志 -

msiexec 产品代码 /xlv 日志文件

这将有助于调试问题并缩小范围。

【讨论】:

这很奇怪。我忘了提到我已经在登录时运行了卸载并且没有发现任何问题。在事件查看器中,它显示卸载完全成功:(

以上是关于MSI 安装程序未正确卸载产品的主要内容,如果未能解决你的问题,请参考以下文章

安装后MSI文件复制到哪里?

MSI 安装程序选项 - 卸载应用程序 [重复]

WIX安装项目未完全卸载应用程序

如何找出已安装的产品 - 已安装较新的产品 MSI windows

用Wix手工编辑XML制作C++ MSI安装程序,怎样保证安装新版本时候强制卸载旧版本,急急急!!!

如何从包含多个 MSI 的 wix 自定义引导程序包中安装/卸载单个 msi,例如安装项目的添加/删除功能?