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

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

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

搜索词:

搜索词 复制代码
C:\Users\你的用户名\AppData\Local\Temp .msi

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

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

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

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

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

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

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

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

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

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

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

方式:参考
[微软官方安装卸载修复工具、恶意软件删除工具,了解下!]

使用文中第一个工具程序安装和卸载修复工具,先把软件移除,再从官网下载与已安装的软件相同版本的安装包,在原来安装的位置安装一遍。

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


如果本文解决了你的问题,可以给文章点个赞。也可以在评论区交流方法。

相关推荐
谷咕咕7 小时前
windows下python3,LLaMA-Factory部署以及微调大模型,ollama运行对话,开放api,java,springboot项目调用
java·windows·语言模型·llama
初圣魔门首席弟子10 小时前
flag使用错误出现bug
c++·bug
kali-Myon12 小时前
解决 win+R 运行处以及文件资源管理器处无法使用 wt、wsl 命令打开终端
windows·wsl·path·regedit·wt
yubo050913 小时前
YOLO系列——实时屏幕检测
开发语言·windows·python
火车叼位13 小时前
Clink实战指南:让Windows开发者拥有Bash级别的命令行体验
windows
私人珍藏库14 小时前
[Windows] PDF 专业压缩工具 v3.6
windows·pdf
初圣魔门首席弟子14 小时前
友元类和友元函数bug
bug
初圣魔门首席弟子14 小时前
switch缺少break出现bug
c++·算法·bug
毕设源码-邱学长14 小时前
【开题答辩全过程】以 Bug交流网站为例,包含答辩的问题和答案
bug
debug 小菜鸟14 小时前
aws 实战小bug
云计算·bug·aws