以windows sdk工具为例,如何使用winget安装相关软件?
发布于 作者:苏南大叔 来源:程序如此灵动~
windows系统自带的winget工具,类似于linux下的apt-get命令。通过winget可以使用命令行来安装一些软件,它的软件来源包括微软商店以及其它渠道,所以,它可以理解为msstore的命令行版本。本文通过对windows sdk安装的过程,来简单的对winget命令行进行了解。

苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程经验总结。测试环境:win10@22h2,winget@1.10.390,Microsoft.WindowsSDK.10.0.19041。
综述
winget命令的使用,比较罕见,本文里仅作了解。而通常来说,windows sdk是作为visual studio的一个组件来安装的。
- 途径一,
winget安装【本文】 - 途径二,手动安装。https://developer.microsoft.com/zh-cn/windows/downloads/windows-sdk/
- 途径三,
visual studio Installer组件安装。【常见】
通过winget show Microsoft.WindowsSDK.10.0.19041可以知道,途径一和途径二,其实是一样的操作。
winget 版本号
winget -vwinget --version
查找软件【可选】
winget search "windows sdk"因为install这个功能里面,默认就有这个search的功能在里面,所以,也不是非要先查找一下。
| 名称 | ID | 版本 | 源 |
|---|---|---|---|
| Windows SDK | Microsoft.WindowsSDK.10.0.17134 | 10.0.17134.12 | winget |
| Windows SDK | Microsoft.WindowsSDK.10.0.17736 | 10.0.17736.0 | winget |
| Windows SDK | Microsoft.WindowsSDK.10.0.18362 | 10.0.18362.0 | winget |
| Git for Windows SDK Git.SDK | 1.0.8 | winget |

从搜索结果上来看,这个源,其实也不能保证收录的软件是最新的。因为苏南大叔电脑里面的windows sdk的版本号是:10.0.19041。
拿下载地址
winget show Microsoft.WindowsSDK.10.0.19041这个功能比较厉害的地方就是:可以直接拿到对应id软件的一个下载地址。虽然可能并不是测试机器里面安装的那一款。

安装软件
10.0.19041搜索不到,却可以直接安装Microsoft.WindowsSDK.10.0.19041。并且,实际大小是2.4G,所以无论安装还是卸载,都需要耐心等待较长时间。因为这个过程中,纯静默安装,界面上并无任何进度条显示...
因为软件名渠道的返回值不唯一,所以,改为通过ID安装。winget install "Microsoft.WindowsSDK.10.0.19041"默认情况下,Winget安装软件的默认位置是系统盘的用户目录下的ProgramData文件夹。但是这个windows sdk的安装路径是:
C:\Program Files (x86)\Windows Kits\
错误代码
winget uninstall "Microsoft.WindowsSDK.10.0.19041"
已找到 Windows Software Development Kit - Windows 10.0.19041.685 [Microsoft.WindowsSDK.10.0.19041]
正在启动程序包卸载...
卸载失败,退出代码为: 1618错误代码 1618 表示另一个安装程序正在运行。
winget list
如果执行list操作的话,返回的是系统里面所有安装过的软件。并不仅仅局限于用户安装的几款软件。
winget list
结语
整体来说,winget并不好用,在安装和卸载的过程中,也表现的略微有些诡异。所以,仅作一个软件安装的备选方案。
更多winget经验文字,可以参考苏南大叔的文章: