winget-win平台的软件包管理器
win10 1709版本以后 引入了包管理器winget,如果不可用 需要使用 poweshell 安装一下(Find-Module -Name winget
以及 Install-Module
、UPDATE-Module
)。
项目github地址:https://github.hscsec.cn/microsoft/winget-cli/
winget命令常用的功能就 安装 卸载 更新
常用的一些参数
-s,--source
:指定软件下载源,可选值 有两个winget
/msstore
-
winget 代表 exe 软件 可能还有msi软件 都是从 软件官网 或 github 下载软件安装
-
msstore 代表从 微软软件商店 下载软件安装
scope
:指定安装范围,可选值 有两个machine
/user
-
machine 代表 安装在整个计算机上(即为所有用户安装,安装在
C:\Program Files
或C:\Program Files (x86)
) -
user代表当前用户 (安装在 当前用户目录下
~\AppData\Local
下)
示例
虽然这些参数 没有说 参数 之间 的关系,但是 我 试着用命令安装了电脑上所有的软件,试了很多遍,总结出下面几条要求
winget install --id Microsoft.VisualStudioCode --source winget -h --scope machine -l D:\VSCode
-
source源为msstore 不能使用其他额外参数
-
交互式安装 后面的参数 不会生效
-
安装范围为user的 不能指定路径
加了 不会报错,而是会直接不生效(或者 叫 无效 )。
而且 这些命令的功能也需要软件 支持。
例如 无交互式 安装vmware虚拟机时,全局安装 指定安装位置为 D:\VMware
winget install --id VMware.WorkstationPro --source winget --silent --scope machine -l D:\VMware
执行之后 还是会安装到 C:\Program Files (x86)\VMware\VMware Workstation
,同样的还有百度网盘、微信
基本上国产的很多软件 都不支持 指定安装位置 , 这个时候 如果一定要指定 安装目录,只能 采用交互式安装 在图形化界面上设置 安装目录。
winget下载的软件包一般缓存在 ~\AppData\Local\Temp\WinGet
目录中,安装完后会自动删除,所以基本不会有 缓存。