- 什么是 WinGet
微软公司在 2020 年 5 月 Microsoft Build 开发者大会上发布了用于 Windows 系统的官方支持的软件包管理器 —— Windows 软件包管理器(Windows Package Manager),也就是 WinGet 软件包管理器。经过 3 年的发展,越来越多的软件厂商在这个平台上发布自家软件。WinGet 除了支持 exe、msi 等传统的 Win32 安装包格式外,还支持用于新版 Windows 的 msix/msixbundle 格式所打包的软件。
获取 WinGet
首先确认系统是否满足需求:
WinGet 只可以运行在 Windows10 高于 1709 (Build 16299) 的版本和 Windows11 上。
在安装 WinGet 之前,建议使用微软新推出的终端模拟器 Windows Terminal 代替传统的conhost.exe。
2.1 Windows10/11 非 LTS 版本(家庭版、教育版、专业版、专业工作站版、企业版)
Windows Terminal 和 WinGet 都可以通过系统预装的 Microsoft Store 商店搜索安装,也可以转到下面的网页调用 Microsoft Store 安装,也可以去微软托管在 GitHub 的发布页下载安装包到本地安装(较新版本的 Windows11 已经预装,如已预装请略过此章节)。
Windows Terminal
Windows Terminal - Microsoft Store
WinGet
2.2 Windows10/11 LTS 版本,长期服务频道(企业版 LTSC,IoT 企业版 LTSC)
如果使用了 Windows LTSC 版本的系统,需要先安装一个 Microsoft Store 的环境才能安装 Windows Terminal 和 WinGet。
CTRL+SHIFT+ESC 呼出任务管理器,打开详细信息界面:
文件 – 运行新任务
勾选管理员权限,输入 conhost 或 cmd,打开命令行窗口:
命令行窗口
输入命令:
1 | wsreset.exe -i |
等待运行完成,待到窗口重新出现命令提示符以后,开始菜单出现了 Microsoft Store 的图标,就可以参考 Windows10/11 非 LTS 版本的安装方法安装 Windows Terminal 和 WinGet 。
2.3 设置 Windows Terminal 为系统默认终端模拟器
较新版本的 Windows11 已经默认 Windows Terminal 为系统终端模拟器,如已配置好请略过此章节。
从命令行窗口标题栏右键菜单进入默认设置:
打开命令提示符的默认设置
在【终端】选项卡下更改“默认终端应用程序”为“Windows 终端”,确认退出:
终端 – 更改默认终端应用程序
- 使用 WinGet 管理软件
3.1 概述
使用 WinGet,大多数软件就可以像 Linux 发行版的软件安装方式一样可以通过 apt/apt-get、yum、pacman 等命令在终端模拟器中以一条命令即可做到。很多大佬已经写过 WinGet 的使用教程,再加之微软官方给出的参考文档和实例也已经十分详实,这里就不再赘述,只列举几个最常用的命令,以开源压缩软件 7-Zip 举例。
3.2 常用命令:替换源
微软官方软件包服务器的访问速度不稳定,可能出现一直超时失败的情况
可以替换为国内的镜像源,类似于 Debian 系 Linux 发行版的 add-apt-repository 命令。
在使用 WinGet 之前,可以替换软件软件源为中科大的镜像源:
1 | winget source reset winget(重置winget的所有源) |
3.3 常用命令:搜索软件包
1 | winget search 7zip |
3.4 常用命令:查看软件包
1 | winget show --id 7zip.7zip |
3.5 常用命令:安装软件包
1 | winget install --id 7zip.7zip --rainbow |
WinGet 安装软件时“–rainbow”参数可以开启彩虹特效进度条
3.6 常用命令:更新软件包
1 | winget upgrade --id 7zip.7zip --rainbow |
WinGet 更新软件时“–rainbow”参数可以开启彩虹特效进度条
3.7 常用命令:卸载软件包
1 | winget uninstall --id 7zip.7zip |
WinGet 卸载软件
- 使用 WinGet + GUI 管理软件
4.1 什么是 WingetUI
众所周知,Windows 被设计为一个图形界面的操作系统,整个系统的交互逻辑都是围绕着所见即所得的图形化方式设计的;而 WinGet 却是一个传统的命令行程序,对于日常管理来说,还是不够直观;并且整天面对黑乎乎的命令行窗口也难免审美疲劳。所以,开源软件 WingetUI 应运而生,完美解决了 WinGet 在面向普通用户的使用过程中的诸多痛点。
WingetUI 是 Martí Climent 开发的一个基于 WinGet 软件包管理器的图形界面前端,它让普通用户管理来自 WinGet 的软件包变得十分容易。WingetUI 除了支持 WinGet,还支持其他一些常见的包管理器,如 Scoop、Chocolatey、PIP、Npm 和 .NET Tool 的管理。常见操作包括对软件包的搜索、查看、安装、升级、卸载和分享等;支持批量安装、导出或导入软件包列表等功能;支持导出操作命令;支持自动从源更新软件包信息并静默更新。
作者网站:
项目地址:
WingetUI - GitHub
软件详情:
4.2 获取和使用 WingetUI
既然有了 WinGet ,就可以直接从 WinGet 安装 WingetUI:
1 | winget install --id SomePythonThings.WingetUIStore --rainbow |
通过 WinGet 安装 WingetUI
如果遇到网络问题等不方便直接从 WinGet 下载安装的情况,还可以使用网络正常的电脑下载 WingetUI 安装包到本地,再拷贝回目标设备安装:
WingetUI 本地安装程序界面
安装完成后,从桌面或开始菜单启动 WingetUI 即可使用图形界面管理软件。
WingetUI 的使用十分简单与直观,这里不做赘述。来自作者帮助文档链接如下: