卸载或重装软件提示缺少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. 手动移除软件信息(会留痕)

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

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

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

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

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


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

相关推荐
TToolss1 小时前
Windows中安装rustup-init.exe以及cargo build报错443
windows
我怎么又饿了呀2 小时前
Windows&Linux系统 安装 CUDA 和 cuDNN
linux·运维·windows
阿昭L5 小时前
windows线程基础
windows
LZQqqqqo8 小时前
WinForm 对话框的 Show 与 ShowDialog:阻塞与非阻塞的抉择
服务器·windows·microsoft·winform
yqwang_cn12 小时前
使用Python提取PDF大纲(书签)完整指南
windows·python·pdf
悦人楼12 小时前
深入理解Java集合框架:核心接口、实现类与实战选择
java·windows·python
Bruce_Liuxiaowei1 天前
县级融媒体中心备份与恢复策略(精简版3-2-1架构)
运维·windows·网络安全·媒体
weixin_307779132 天前
Redis Windows迁移方案与测试
c++·windows·redis·算法·系统架构
陈陈爱java2 天前
实习文档背诵
linux·服务器·windows