卸载或重装软件提示缺少msi的解决方法(软件卸载功能修复)

卸载或重装软件提示缺少msi的解决方法

很多软件只提供.exe安装包,但我们清理硬盘有时会把软件预留的卸载包(.msi)删掉,这时从设置就卸不掉软件,提示缺少msi

Windows Installer缺失.msi安装包

一般程序会使用原生的.msi作为安装器,再套一层.exe的壳作为UI。

大部分软件卸载的逻辑和安装流程是相反的,因此开发者们就把安装包复制一份到系统目录,卸载时系统使用不同的选项,以此来实现卸载功能。

但是,大部分安装程序的逻辑是先卸载旧版本,再安装新版本,而由于旧程序存放在系统目录中的安装包(.msi)缺失,所以无法卸载,也无法重新安装。

即使你刚下的.exe安装包内就存着那个.msi安装包,但因为先卸载的缘故,安装程序会因为旧版无法卸载而退出。也就卡在死循环里。

这里介绍几种解决的方法(按易用性和完备性排序)

1. 从Temp目录找安装包

很多.exe安装程序会在打开后把.msi安装包释放到%TEMP%目录,我们可以从那里找。

先下载与已安装的软件相同版本的安装包打开.exe安装程序,不要关闭窗口。

然后按下Win+R,输入%TEMP%打开Temp目录,复制地址栏的地址,黏贴进Everything的搜索框内,在后面打一个空格,加上.msi

Everything下载:https://www.voidtools.com/zh-cn/downloads/

Everything搜索

搜索词:

C:\Users\你的用户名\AppData\Local\Temp .msi

然后点击“修改时间”,改成按照最近优先排序(箭头朝下)。

找到后缀为.msi的第一个安装程序,右键选择属性 > 详细信息,查看是不是你要安装/卸载的软件。如果是,把他填进缺少msi界面的输入框就搞定了。(填进去报错的可以把.msi安装程序的名字改成界面上说的名字再试)

2. 从安装程序提取安装包(推荐)

挂好环境,下载
Universal Extractor(github.com/Bioruebe/UniExtract2/releases/latest)

打开压缩包,直接运行UniExtract2.exe

UniExtract2程序包的bandzip截图

从官网下载与已安装的软件相同版本的安装包,把下载的.exe安装程序拖拽到 UniExtract2 的窗口中,点击确定

在这里插入图片描述

解包过程完成后,打开与安装程序同名的文件夹,仔细搜索文件和文件夹。重点关注是否有.msi结尾的安装包

找到.msi安装包后,把他填进缺少msi界面的输入框就搞定了。(填进去报错的可以把.msi安装程序的名字改成界面上说的名字再试)

3. 手动移除软件信息(会留痕)

既然安装程序检测到你已经安装了这个软件,才让你卸载,那么可以把软件的信息抹除,这样安装程序就会认为你没有安装过软件,就进入正常安装的流程了

要卸载软件的也可以按照这个方法,先完整重装一边再卸载
注意:自己手动去删大概率删不干净,用软件自带的安装程序是最好的卸载方式

方式:参考
[微软官方安装卸载修复工具、恶意软件删除工具,了解下!]
使用文中第一个工具程序安装和卸载修复工具,先把软件移除,再从官网下载与已安装的软件相同版本的安装包,在原来安装的位置安装一遍。

之后就可以正常使用设置 (控制面板)里的卸载功能了。


如果本文解决了你的问题,可以给文章点个赞。也可以在评论区交流方法。
8.10更新:替换了失效的图片链接

posted @ 2025-08-09 15:06  一起去改变世界  阅读(1013)  评论(1)    收藏  举报