You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在不卸载应用的前提下从Winget包列表中移除指定程序

如何在不卸载应用的前提下从Winget包列表中移除指定程序

我太懂这种情况了——用Winget装了Discord这类自带自动更新的应用,结果应用自己升级后,Winget的版本检测直接乱了,既不想卸载重新装,又想把它从Winget的管理列表里清掉对吧?别担心,这有个简单的解决方案:

步骤1:获取目标应用的Winget唯一ID

首先得找到对应程序的准确Winget ID,因为名字可能重复,但ID是唯一的。打开命令提示符或者PowerShell,运行:

winget list

在输出结果里找到你要处理的应用(比如Discord),复制它的ID列内容(比如Discord的IDDiscord.Discord),一定要确保复制的ID完全准确,不然容易误操作其他程序。

步骤2:执行移除列表记录的命令

拿到ID后,运行下面的命令(把<程序ID>替换成你刚才复制的内容):

winget uninstall --id <程序ID> --no-uninstall

这里的参数解释下:

  • --id:指定唯一的程序标识,避免混淆同名应用
  • --no-uninstall:核心参数,告诉Winget 不要卸载实际的应用,只删除它在Winget已安装包列表中的记录

验证结果

执行完命令后,再运行一次winget list,你会发现目标应用已经从列表里消失了,但应用本身还能正常打开、使用,自动更新也不受任何影响。

小提示

  • 如果你的Winget版本比较旧,可能没有--no-uninstall这个参数,建议先升级Winget到最新版本:winget upgrade winget
  • 要是暂时没法升级,也可以尝试用--force参数替代,但要注意这个参数可能会清理一些应用残留,操作前最好备份下重要配置哦。

备注:内容来源于stack exchange,提问作者Alen Paul Varghese

火山引擎 最新活动