Dean的新技能:Winget的用法

早上开站会,领班让我去搞一下第三方软件的自动化安装,并且告诉我用Winget去实现,主要是为了跳过 UI 操作

以下所有内容都来自自己对微软官方文档的阅读使用 winget 工具安装和管理应用程序 | Microsoft Learn

若想使用Winget 则需要先登录Windows,如果登录后还是用不了则先用PowerShell注册:Add-AppxPackage -RegisterByFamilyName -MainPackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe

确保已经安装了 Winget (好像是自动安装的?我没记的我的电脑安装过,但是就可以直接用)

核实了一下,可以直接用,只要登录了用户账户就可以直接用winget命令   个别软件安装过程中有UAC 验证,再通过提高权限之后就解决了。

主要用到的命令是:winget install NAME [-property] 除了Install 之外,还有其他一些命令如下所示

info显示有关系统的元数据(版本号、体系结构、日志位置等)。 有助于进行故障排除。
install安装指定的应用程序。
show显示指定应用程序的详细信息。
source添加、删除和更新 winget 工具访问的 Windows 程序包管理器存储库。
search搜索某个应用程序。
list显示已安装的包。
升级 upgrade升级给定的包。
uninstall卸载给定的包。
hash为安装程序生成 SHA256 哈希。
validate验证要提交到 Windows 程序包管理器存储库的清单文件。
设置 settings打开设置。
功能 features显示试验功能的状态。
export导出已安装包的列表。
import将所有包安装到一个文件中。
pin管理包固定。
configure将系统配置为所需状态。
下载 download下载指定应用程序的安装程序。

install 命令里也有一些命令 详细的细节可以看这里: install Command | Microsoft Leazhe

zhe

-m、--manifest必须后跟清单 (YAML) 文件的路径。 可以使用清单从本地 YAML 文件运行安装体验。
--id将安装限制为应用程序的 ID。
--name将搜索限制为应用程序的名称。
--moniker将搜索限制为针对应用程序列出的名字对象。
-v、--version允许你指定要安装的确切版本。 如果此项未指定,则使用 latest 会安装最高版本的应用程序。
-s、--source将搜索限制为所提供的源名称。 必须后跟源名称。
--scope用于指定安装程序是应该以用户还是计算机范围为目标。 查看与包安装范围相关的已知问题
-a, --architecture选择要安装的体系结构。
--installer-type选择要安装的安装程序类型。 请参阅 使用 winget 工具安装和管理应用程序 | Microsoft Learn
-e、--exact在查询中使用确切的字符串,包括检查是否区分大小写。 它不会使用子字符串的默认行为。
-i、--interactive以交互模式运行安装程序。 默认体验会显示安装程序进度。
-h、--silent以静默模式运行安装程序。 此选项禁止显示所有 UI。 默认体验会显示安装程序进度。
--locale指定要使用的区域设置(BCP47 格式)。
-o、--log将日志记录定向到日志文件。 必须提供你具有写入权限的文件的路径。
--custom除默认值外,要传递给安装程序的参数。
--override要直接传递给安装程序的字符串。
-l、--location要安装到的位置(如果支持)。
--ignore-security-hash替代安装程序哈希检查。 建议不要使用。
--ignore-local-archive-malware-scan忽略作为从本地清单安装存档类型包的一部分执行的恶意软件扫描。
--dependency-source使用指定的源查找包依赖项。
--accept-package-agreements用于接受许可协议,并避免出现提示。
--accept-source-agreements用于接受源许可协议,并避免出现提示。
--no-upgrade如果已安装的版本已存在,则跳过升级。
--header可选 Windows-Package-Manager REST 源 HTTP 标头。
-r、--rename重命名可执行文件(可移植)的值
--uninstall-previous在升级过程中卸载包的早期版本
--force直接运行命令并继续处理非安全相关问题。
-?、--help获取有关此命令的更多帮助。
--wait提示用户在退出前按任意键。
--logs,--open-logs打开默认日志位置。
--verbose, --verbose-logs用于替代日志记录设置并创建详细日志。
--disable-interactivity禁用交互式提示。

 这里的一些参数自己使用了,但是并没有达到自己预期的效果,比如:

这里面的这些在自己多次尝试之后,都没有办法默认直接 y 或者 n,有知道如何操作的朋友请留言哈,感激。

在使用Winget的过程中,发现相同的软件,竟然有多个  “源”  例如这样

可以看到,有msstore和winget两种,通过查询可以得知,分别表示软件安装包的来源是微软的store或者winget 的开源社区,当然,自己也可以配置  源

ok,总的来说,不难。后续进一步的操作和知识,因为暂时用不到,所以就先放下了。

  • 55
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值