Windows之应用安装程序 —— winget

这篇具有很好参考价值的文章主要介绍了Windows之应用安装程序 —— winget。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大家都用过Linux中的应用程序安装工具,如yum、apt、rpm等工具进行安装自己想要的一些工具或则软件之类的,当然Linux操作系统还是很强大的有很多类似的命令来安装我们所需要的程序,但是windwos有没有类似于windows这样的应用安装程序呢?想必大家看标题就能看的出来肯定是有的,那就是微软提供的winget官网提供的名称叫应用安装程序又叫windows程序包管理器,今天我们就来说一说这个windows版的命令程序安装工具,这个工具对于大家来说还是很合谐的,使用也是非常简单和Linux中的安装程序的工具很类似,只不过windows操作系统更注重于图形化操作,所以很少有人去注意或者关注命令行中的一些操作,这个也和windows操作系统闭源有很大一部分关系的,好了废话不多说了我们开始我们的winget之旅吧!

简介

winget是一个综合的程序包管理器解决方案,由一个命令行工具和一组用于在 windwos上安装应用程序的服务组成。

winget是一个用于自动安装、升级、配置和使用软件的系统或工具集。 大多数程序包管理器都是设计用于发现和安装开发人员工具。开发人员使用程序包管理器来指定先决条件,这些先决条件适用于为给定项目开发解决方案所需的工具。 然后,程序包管理器就会按照声明性说明来安装和配置这些工具。 程序包管理器可减少准备环境所需的时间,并有助于确保在计算机上安装相同版本的程序包。

除了上面说的微软还面向ISV(独立软件供应商)提供软件仓库,ISV可以将自己的工具或者应用程序的软件包上传到软件仓库,这个就类似于163源码包一样,不过在Linux中是任何人都可以做这个源码包仓库的,但在windows中就会出现类似于手机中的应用商城一样,自己有自己独家的软件包仓库并不统一,举个栗子:比如说我在小米商城里面没有办法下载华为商城里面的一些程序一样;这个算是微软的一个弊端吧,但是好处就是有一个统一的软件包仓库这样也是绝对安全的,接着来说这个软件仓库,这个软件仓库是微软在github中开通的一个仓库,可以提供用户下载程序和上传自己的应用程序。

安装

默认情况下winget对于win10或者win11的用户来说是不用自行安装的,是微软将此程序打包到windwos镜像中的,只要你安装好默认就会有的。可能部分版本也会出现没有的情况不过也没有关系,也可以额外进行安装的,下面我们就来说说如何进行安装。

方式一:Microsoft Store商城安装

win10以上版本微软都会提供一个Microsoft Store商城的这样一个软件,这个是微软方便用户进行安装一些应用程序的,不过没有也没有关系,大家可以参考我下面的方式二进行安装。
Microsoft Store商城中安装winget步骤很简单的,只需要打开Microsoft Store商城搜索winget或者应用安装程序,搜索出来第一个就是,点击进行下载安装就可以了,Microsoft Store商城有一个很方便的地方就是他直接就是静默安装不需要你再去点很多下一步去完成安装操作了,下面是Microsoft Store商城搜索winget的截图。
win7 winget,windows,linux,运维,windows,microsoft,linux,微软,winget

方式二:官网安装

第二种方式就从微软官网上去下载安装包,下载完成手动进行安装,这个适用于所有用户哦

winget下载地址:https://apps.microsoft.com/store/detail/%E5%BA%94%E7%94%A8%E5%AE%89%E8%A3%85%E7%A8%8B%E5%BA%8F/9NBLGGH4NNS1?hl=zh-cn&gl=cn

浏览器中输入上面网址打开就可以免费下载了
win7 winget,windows,linux,运维,windows,microsoft,linux,微软,winget
安装的时候需要注意的是可能需要获取你的管理员权限,建议大家右键管理员权限进行运行。

使用

使用的话也比较简单首先使用win + r快捷键调出运行窗口,在窗口中输入cmd,然后敲击回车你就会得到一个命令行窗口,winget的命令在这里就可以输入使用的,由于执行部分winget命令时需要管理员权限,建议使用管理员权限运行cmd命令行窗口。
win7 winget,windows,linux,运维,windows,microsoft,linux,微软,winget
win7 winget,windows,linux,运维,windows,microsoft,linux,微软,winget
管理员权限运行:
输入win快捷键同样输入cmd,然后找到cmd命令提示符右键以管理员身份打开即可这样你就获得了一个拥有管理员权限的命令行工具,这里是window的一个弊端,不像linux一样可以sudo直接以管理员权限执行,只能以管理员方式打开

win7 winget,windows,linux,运维,windows,microsoft,linux,微软,winget
1.安装程序

winget install 软件包名称

win7 winget,windows,linux,运维,windows,microsoft,linux,微软,winget
上面截图是我安装了一个相应的程序,安装过程中会让你确认并同意软件厂商所提供的相关协议,这里你只需要输入y就可以了,他会先进行下载下载完成后启动安装程序,这个时候部分软件是有弹窗的,需要让你确认一些安装步骤之类的,基本很少,提示已成功安装就代表安装成功了,你可以使用命令来运行你安装的程序或者去开始菜单里面找你所安装的程序双击打开即可
2.卸载程序
卸载程序建议大家先把已安装的程序列出一下然后再进行卸载,除非你完全知道所需要卸载程序的名字,这个名字必须是完整的才可以,这一点微软做的就有点坑了,有时候还需要加上版本号

winget list			//列出已安装的所有程序除系统所需程序或补丁包

win7 winget,windows,linux,运维,windows,microsoft,linux,微软,winget
列出之后我们就可以看到所有已安装的程序了,可以按照名称去查找一下,看看你所需要的卸载的程序名称或者ID,然后进行卸载就可以了

winget uninstall 名称/ID

win7 winget,windows,linux,运维,windows,microsoft,linux,微软,winget
首先他会先查找这个你所输入的程序名称或者ID是否存在,存在的话会启动程序包卸载程序来进行卸载,显示卸载成功就表示已经卸载成功了。
3.查找软件
在安装程序之前你可以先使用search来查找下你所要安装的程序在微软仓库中有没有相应的安装包,有的话你可以直接安装,没有那就需要你去软件官网下载安装程序再来进行安装。

winget search 软件名称

win7 winget,windows,linux,运维,windows,microsoft,linux,微软,winget
上面截图里面是我想安装一个nginx,搜索之后是有的,但是这个软件包大家一定看清楚,他并不是一个nginx,只是nginx的一个替程序,他是一个WAMP,大家可以看下下面的截图,最终会安装一个laragon-wamp的程序
win7 winget,windows,linux,运维,windows,microsoft,linux,微软,winget
所以说现在微软的安装包仓库里面程序并不是很全,大部分还是需要你去官网下载程序然后再来进行安装的,不过可以推荐类似的软件其实也是个很不错的功能,不像linux一样没有就是没有
win7 winget,windows,linux,运维,windows,microsoft,linux,微软,winget
上面我又搜索了一个xmind的工具,他竟然真的有,很让人意外的
4.查看可以升级的程序并进行升级

winget upgrade    //查看那些有最新的软件可以进行升级

win7 winget,windows,linux,运维,windows,microsoft,linux,微软,winget
显示出来的都是可以升级的软件了,下面同样可以使用upgrade来进行升级软件

winget upgrade 软件包名称/ID

win7 winget,windows,linux,运维,windows,microsoft,linux,微软,winget
这样就升级好啦。

命令及参数

上面就是说了一些简单的例子,也是最常用的下面我们来具体说说每个命令所包含的参数之类的

1. export

export是一个导出当前应用的一个命令,可以把你电脑上的当前应用环境进行导出,导出后可以放到其他的电脑然后使用import进行导入,大部分用于还原环境使用,更适合开发人员使用,个人的话基本上没啥用,除非换电脑了要把程序啥的换到新电脑上,注意不是导出软件安装包哦。他导出的是一个json文件,下面来看看他的参数吧和使用方法吧

winget export 参数		//导出命令

参数:

参数 说明
-o,–output 要导出json文件的路径及名称

例子:

winget export -o \opt\abc.json

win7 winget,windows,linux,运维,windows,microsoft,linux,微软,winget
对了忘记说一个前提了,大家也在上面截图里面看到了,因为这些程序都是我之前图形化安装的所以他是找不到安装源的,这样就会导不出来的,这一点很不友好
选项:
来看看export的选项有哪些吧

选项 说明
-s,–source 选择导出从哪个源安装的,他的可选项有两个一个是msstore和winget
–include-versions 指定当前应用的版本
–accept-source-agreements 接受开源许可协议,这个就是为了避免提示你要不要接受
–verbose-logs 设置并创建详细的日志

除了从旧版windows上导出之外,你还可以手动去编写json文件哦,json文件内容也比较简单只有4块内容:
1.源:是指的你即将安装的程序源仓库是在哪里
2.包:是指的你所需要安装的程序集
3.标识符:用于指定包的 Windows 程序包管理器包标识符
4.版本:你所要安装程序的版本号

2. import

import相对应得,是为了导入要安装的应用json文件,使用import可以批量进行安装程序啦

winget import 参数

参数:

参数 说明
-i,–import-file 指定要安装程序的json文件路径

例子:

winget import -i c://demo/myfiles1.json

win7 winget,windows,linux,运维,windows,microsoft,linux,微软,winget
选项:

选项 说明
–ignore-unavailable 所安装的程序不可用的时候不提示错误
–ignore-versions 忽略json中所写的版本号,可以安装最新版本
–accept-source-agreements 用于跳过接受源协议
–accept-package-agreements 用于跳过接受协议
–verbose-logs 生成详细日志
3. install

install用来安装应用程序

winget install 参数

参数:

参数 说明
-q,–query 用于搜索包进行查询
-h,–help 用于查询其他参数或选项

示例:

winget install -q 软件包名称

win7 winget,windows,linux,运维,windows,microsoft,linux,微软,winget
选项:

选项 说明
-m,–manifest 用于指定本地安装清单需要时YMAL文件
–id 指定程序ID进行安装
–name 安装时搜索现在为按名称进行搜索对应安装,有多个会列出让你选择进行重新执行命令
–moniker 按名字对象来进行搜索对应程序进行安装
-v,-version 指定版本号进行安装,不指定则安装最新版
-s,–source 用于指定安装源仓库
–scope 选择安装到哪里,可以是计算机也可以是某个用户
-a,–architecture 选择要安装的体系结构
-e,–exact 使用精准匹配进行安装
-i,–interactive 进行交互式安装,但是有些程序为静默安装不可用
-h,–silent 选择静默安装,所有选择将为默认值
–locale 要使用的区域设置(BCP47 格式),这个参数一直没弄明白,理解不了
-o,–log 选择安装日志存放位置
–override 覆盖待传递的参数至安装程序
-l,–location 设置安装路径
–force 覆盖安装程序哈希检查
–dependency-source 如果需要安装依赖包时,指定依赖包安装的源仓库
–accept-package-agreements 接受所有许可协议
–header 可选的 Windows-Package-Manager REST 源 HTTP 标头
–accept-source-agreements 接受所有源协议
-r,–rename 要重命名可执行文件的值
4.list

用于列出已安装的程序

winget list 参数

参数:

参数 说明
-q,–query 用于搜索包进行查询
-h,–help 用于查询其他参数或选项

示例:

winget list -q Edge

win7 winget,windows,linux,运维,windows,microsoft,linux,微软,winget
选项:

选项 说明
–id 按照ID进行筛选
–name 按照名称进行筛选
–moniker 按照名字对象机械能筛选
-s,–source 指定安装源进行筛选
–tag 按照标签进行筛选
–command 按命令进行筛选,相对于linux的which
-n,–count 指定显示数量
-e,–exact 用于精准匹配
–header 可选的 Windows-Package-Manager REST 源 HTTP 标头
–accept-source-agreements 接受所有开源协议
5.serch

用于查找所需要的安装程序,可以用来判断仓库是否有这个程序,或查看程序的相关信息

winget search 参数 

参数:

参数 说明
-q,–query 用于搜索包进行查询
-h,–help 用于查询其他参数或选项

示例:
win7 winget,windows,linux,运维,windows,microsoft,linux,微软,winget
选项:

选项 参数
–id 按照ID进行查找程序
–name 按照名称进行查找程序
–moniker 按照名字对象来查找程序
-s,–source 指定仓库来查找程序
–tag 按照标签来查找程序
–command 按照命令来查找程序
-n,–count 指定列出几行数据
-e,–exact 使用精准匹配程序
–header 可选的 Windows-Package-Manager REST 源 HTTP 标头
–accept-source-agreements 接受所有开源协议
6.show

用于查看应用程序的详细信息

winget show 参数

参数:

参数 说明
-q,–query 用于搜索包进行查询
-h,–help 用于查询其他参数或选项

示例:

winget show -q Edge

win7 winget,windows,linux,运维,windows,microsoft,linux,微软,winget
选项:

选项 说明
-m,–manifest 用于指定本地安装清单需要时YMAL文件
–id 按照程序ID进行筛选
–name 按照程序名称进行筛选
–moniker 按照名字对象进行筛选
-v,–version 指定版本,默认为最新版
-s,–source 指定仓库进行筛选
-e,–exact 进行精准匹配
–versions 显示程序可用的版本
–header 可选的 Windows-Package-Manager REST 源 HTTP 标头
–accept-source-agreements 接受所有开源协议
7.source

用于管理你的程序仓库,默认微软只提供两个msstorewinget这两个,你可以用source来添加你的源仓库

winget source 子命令 参数

参数:

参数 说明
-h,–help 用于查询其他参数或选项

子命令:

选项 说明
add 添加新的安装来源
list 列出所有安装来源
update 更新当前来源
remove 删除当前来源
reset 重置当前来源
export 导出当前来源

示例:

winget source list		//列出当前来源

win7 winget,windows,linux,运维,windows,microsoft,linux,微软,winget

winget source update		//更新当前来源

win7 winget,windows,linux,运维,windows,microsoft,linux,微软,winget

winget source reset --force 	//重置当前来源

win7 winget,windows,linux,运维,windows,microsoft,linux,微软,winget
这个命令需要管理员才能执行的
win7 winget,windows,linux,运维,windows,microsoft,linux,微软,winget

8.uninstall

用于卸载已安装的应用程序

winget uninstall 参数

参数:

参数 说明
-q,–query 用于搜索包进行查询
-h,–help 用于查询其他参数或选项

示例:

winget uninstall -q 程序名称

win7 winget,windows,linux,运维,windows,microsoft,linux,微软,winget
选项:

选项 说明
-m,–manifest 用于指定本地安装清单需要时YMAL文件
–id 按照程序ID进行筛选
–name 按照程序名称进行筛选
–moniker 按照名字对象进行筛选
-v,–version 指定版本,默认为最新版
-s,–source 指定仓库进行筛选
-e,–exact 进行精准匹配
–versions 显示程序可用的版本
–accept-source-agreements 接受所有开源协议
–product-code 按照指定产品代码来查找
-i,–interactive 进行交互式卸载
-h,–silent 进行静默安装
–force 覆盖安装程序哈希检查
–purge 删除安装目录中的所有文件
–preserve 保留安装目录中的所有文件
-o,–log 指定卸载日志存放位置
–header 可选的 Windows-Package-Manager REST 源 HTTP 标头
9.upgrade

用于升级应用程序

winget upgrade 参数

参数:

参数 说明
-q,–query 用于搜索包进行查询
-h,–help 用于查询其他参数或选项

示例:

winget upgrade -q 程序名称		//升级所对应的程序

win7 winget,windows,linux,运维,windows,microsoft,linux,微软,winget
选项:

选项 说明
-m,–manifest 用于指定本地安装清单需要时YMAL文件
–id 按照程序ID进行筛选
–name 按照程序名称进行筛选
–moniker 按照名字对象进行筛选
-v,–version 指定版本,默认为最新版
-s,–source 指定仓库进行筛选
-e,–exact 进行精准匹配
-i,–interactive 进行交互式卸载
–versions 显示程序可用的版本
-h,–silent 进行静默安装
–purge 删除包目录中的所有文件和目录
-o,–log 指定卸载日志存放位置
–override 覆盖待传递的参数至安装程序
-l,–location 指定安装位置
–force 覆盖安装程序哈希检查
–accept-package-agreements 接受所有协议
–accept-source-agreements 接受所有开源协议
–header 可选的 Windows-Package-Manager REST 源 HTTP 标头
–all 升级所有可升级的程序
–include-unknown 即使无法确定其当前版本,也可升级包

以上基本上就是比较常用的几个winget的参数或者选项了

总结

来总结下吧也算是一个和linux系统的对比,在我使用的过程中发现用winget安装一些已知的程序的时候还是比较方便的,但是安装微软仓库里面没有的软件的时候就会很麻烦,有时候感觉还不如去官网下载再安装来的更直观更暴力一些,也可能是我刚入门的原因不知道用时间久了会怎么样,既然windows有了winget建议微软仓库的开源程序更多一点,或者网易或者阿里也能有一个winget的开源仓库,这样一个是可用有选择性另外一个就是可以不用再受github下载慢的问题了文章来源地址https://www.toymoban.com/news/detail-787591.html

最后送给使用win11操作系统的部分用户一个小福利,大家可能很多笔记本电脑在升级完win11后风扇频繁转动的问题,我看网上好多人都提到了升级后风扇转的频繁了,我在官方售后那里了解到是因为win11用的是通用的主板驱动,需要更换驱动,这个方法我试过了但是问题依然存在,安装驱动的方式最后没能帮我解决问题,但是winget帮我解决了,我用winget发现有大量的程序在控制面版已经删除了,但是winget里面还依然存在,我把这些程序和没用不知道干啥的程序卸载之后以外的发现竟然风扇的问题解决了,已经不频繁转动了,可能是加载了太多没用程序的问题也可能是驱动的问题,这个说不清楚,大家如果有同样问题不妨试一试。好啦到这里结束啦

到了这里,关于Windows之应用安装程序 —— winget的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Windows11安装安卓/Android子系统运行安卓应用程序详细教程

    开启电脑的虚拟化支持,在控制面板-程序和功能-启用和关闭windows功能。选择 Hyper-V 和 虚拟机平台 ,然后重启电脑即可。 访问 https://store.rg-adguard.net/ 搜索 https://www.microsoft.com/store/productId/9P3395VX91NR 下载最大的一个文件,即安卓子系统文件 下载地址: http://tlu.dl.delivery.mp.mi

    2024年02月03日
    浏览(57)
  • 如何在没有微软商店的情况下在Windows 10上安装应用程序

    通过微软商店,你可以轻松地在Windows 10设备上安装应用程序,就像使用Google Play或AppleStore一样。IT部门经常从设备上删除微软商店,或设置组策略禁用Windows更新,以防止用户安装各种应用程序。 但有些应用程序,例如微软ToDo应用程序,只能通过商店获得。那么,如何才能在

    2024年02月04日
    浏览(68)
  • 实现安装“自由化”!在Windows 11中如何绕过“您尝试安装的应用程序未通过微软验证”

    这篇文章描述了如果你不能安装应用程序,而是当你在Windows 11中看到消息“您尝试安装的应用程序未通过微软验证”时该怎么办。完成这些步骤将取消你安装的应用程序必须经过Microsoft验证的要求。 “设置”应用程序提供了绕过此警告消息的最简单方法,以便你可以安装第

    2024年02月03日
    浏览(183)
  • 【已成功解决】.msi文件无法打开:“无法打开此安装程序包。请确认该程序包存在,并且你有权访问它,或者与应用程序供应商联系,以确认这是一个有效的Windows Installer程序包”

    博主简介: 努力学习的22级计科生一枚~ 博主主页: @是瑶瑶子啦 所属专栏: 问题记录 之前遇到过好几次安装程序的时候,打不开.msi文件的情况,当时找了解决办法,解决了,但是忘记了。今天安装Go的开发环境的时候又遇上了。有了前几次解决问题的印象和踩的坑,这次我

    2024年02月09日
    浏览(65)
  • C#程序设计——Windows应用程序开发,1、初步掌握Windows应用程序的设计方法。2、掌握常用窗体控件的使用方法。

    初步掌握Windows应用程序的设计方法。 掌握常用窗体控件的使用方法。 1、设计一个Windows应用程序,创建一个用于添加学生个人基本信息的窗体,窗体下方法同时滚动信息“天行健,君子以自强不息!”。   要示如下: 如图1所示,设计窗体界面控件的布局 图1 学生信息管理

    2024年02月10日
    浏览(85)
  • Windows应用程序——记事本

    本博客介绍如何使用Visual Studio 2019设计一个Windows应用程序——记事本,通过学习,可以进一步掌握MenuStrip(菜单)、ToolStrip(工具栏)、RichTextBox(高级文本框)和StatusStrip(状态栏控件)等控件的使用,以及如何使用CommonDialog(公共对话框)实现对文本的存取、格式设置等

    2024年02月03日
    浏览(54)
  • Windows应用程序基础(详细,简单易懂)

    大家好!这是我的 第一篇博客 ,首先来个自我介绍吧!我是来自一所双非院校的大一新生,所学的专业是 计算机科学与技术 ,纯纯小白一枚。 那我为什么要写博客呢 ?为什么?说实话,我一开始一直都没有写博客的想法,我都是看别人的博客,直到有一天,我的好同学

    2024年02月04日
    浏览(46)
  • Windows 通过端口占用查找应用程序

    对于开发人员在启动项目的过程中也许会遇到程序使用 端口被占用的情况;如下: 遇到这种情况我们可以换一个端口,也可以查找是哪个程序暂用了这个端口;在Windows上我们可以通过如下方式去查找对应的端口程序信息。 1、打开dos命令窗口 开始—-运行—-cmd,或者是wind

    2024年02月12日
    浏览(42)
  • 如何签署exe或Windows应用程序?

    本文您将了解为什么要签署Windows应用程序以及如何签署EXE或Windows应用程序的步骤指南。 代码签名是一种确保软件来自经过验证的正版软件发行商的方法。使用代码签名证书唱WindowsEXE文件可确保可执行文件或Windows应用程序不会被恶意行为者更改或修改。 Windows应用程序签名过

    2024年02月09日
    浏览(43)
  • C#程序设计之windows应用程序设计基础

    题目描述 设计一个“简单通讯录”程序,在窗体上建立一个下拉式列表框、两个文本框和两个标签,实现以下功能:当用户在下拉式列表框中选择一个学生姓名后,在“学生姓名”、“地址”两个文本框中分别显示出对应的学生和地址。 代码 窗体代码 运行结果 题目描述 设

    2024年02月06日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包