首页 > 系统相关 >Windows之应用安装程序 —— winget

Windows之应用安装程序 —— winget

时间:2022-11-26 20:32:48浏览次数:52  
标签:source 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的截图。

Windows之应用安装程序 —— winget_microsoft

方式二:官网安装

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

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

浏览器中输入上面网址打开就可以免费下载了

Windows之应用安装程序 —— winget_winget_02


安装的时候需要注意的是可能需要获取你的管理员权限,建议大家右键管理员权限进行运行。

使用

使用的话也比较简单首先使用win + r快捷键调出运行窗口,在窗口中输入cmd,然后敲击回车你就会得到一个命令行窗口,winget的命令在这里就可以输入使用的,由于执行部分winget命令时需要管理员权限,建议使用管理员权限运行cmd命令行窗口。

Windows之应用安装程序 —— winget_windows_03


Windows之应用安装程序 —— winget_winget_04


管理员权限运行:

输入win快捷键同样输入cmd,然后找到cmd命令提示符右键以管理员身份打开即可这样你就获得了一个拥有管理员权限的命令行工具,这里是window的一个弊端,不像linux一样可以sudo直接以管理员权限执行,只能以管理员方式打开

Windows之应用安装程序 —— winget_winget_05


1.安装程序

winget install 软件包名称

Windows之应用安装程序 —— winget_windows_06


上面截图是我安装了一个相应的程序,安装过程中会让你确认并同意软件厂商所提供的相关协议,这里你只需要输入y就可以了,他会先进行下载下载完成后启动安装程序,这个时候部分软件是有弹窗的,需要让你确认一些安装步骤之类的,基本很少,提示已成功安装就代表安装成功了,你可以使用命令来运行你安装的程序或者去开始菜单里面找你所安装的程序双击打开即可

2.卸载程序

卸载程序建议大家先把已安装的程序列出一下然后再进行卸载,除非你完全知道所需要卸载程序的名字,这个名字必须是完整的才可以,这一点微软做的就有点坑了,有时候还需要加上版本号

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

Windows之应用安装程序 —— winget_linux_07


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

winget uninstall 名称/ID

Windows之应用安装程序 —— winget_microsoft_08


首先他会先查找这个你所输入的程序名称或者ID是否存在,存在的话会启动程序包卸载程序来进行卸载,显示卸载成功就表示已经卸载成功了。

3.查找软件

在安装程序之前你可以先使用search来查找下你所要安装的程序在微软仓库中有没有相应的安装包,有的话你可以直接安装,没有那就需要你去软件官网下载安装程序再来进行安装。

winget search 软件名称

Windows之应用安装程序 —— winget_windows_09


上面截图里面是我想安装一个nginx,搜索之后是有的,但是这个软件包大家一定看清楚,他并不是一个nginx,只是nginx的一个替程序,他是一个WAMP,大家可以看下下面的截图,最终会安装一个laragon-wamp的程序

Windows之应用安装程序 —— winget_linux_10


所以说现在微软的安装包仓库里面程序并不是很全,大部分还是需要你去官网下载程序然后再来进行安装的,不过可以推荐类似的软件其实也是个很不错的功能,不像linux一样没有就是没有

Windows之应用安装程序 —— winget_微软_11


上面我又搜索了一个xmind的工具,他竟然真的有,很让人意外的

4.查看可以升级的程序并进行升级

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

Windows之应用安装程序 —— winget_windows_12


显示出来的都是可以升级的软件了,下面同样可以使用upgrade来进行升级软件

winget upgrade 软件包名称/ID

Windows之应用安装程序 —— winget_microsoft_13


这样就升级好啦。

命令及参数

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

1. export

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

winget export 参数    //导出命令

参数:

参数

说明

-o,–output

要导出json文件的路径及名称

例子:

winget export -o \opt\abc.json

Windows之应用安装程序 —— winget_winget_14


对了忘记说一个前提了,大家也在上面截图里面看到了,因为这些程序都是我之前图形化安装的所以他是找不到安装源的,这样就会导不出来的,这一点很不友好

选项:

来看看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

Windows之应用安装程序 —— winget_windows_15


选项:

选项

说明

–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 软件包名称

Windows之应用安装程序 —— winget_winget_16


选项:

选项

说明

-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

Windows之应用安装程序 —— winget_微软_17


选项:

选项

说明

–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

用于查询其他参数或选项

示例:

Windows之应用安装程序 —— winget_linux_18


选项:

选项

参数

–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

Windows之应用安装程序 —— winget_microsoft_19


选项:

选项

说明

-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    //列出当前来源

Windows之应用安装程序 —— winget_微软_20

winget source update    //更新当前来源

Windows之应用安装程序 —— winget_windows_21

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

Windows之应用安装程序 —— winget_linux_22


这个命令需要管理员才能执行的

Windows之应用安装程序 —— winget_微软_23

8.uninstall

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

winget uninstall 参数

参数:

参数

说明

-q,–query

用于搜索包进行查询

-h,–help

用于查询其他参数或选项

示例:

winget uninstall -q 程序名称

Windows之应用安装程序 —— winget_microsoft_24


选项:

选项

说明

-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 程序名称    //升级所对应的程序

Windows之应用安装程序 —— winget_linux_25


选项:

选项

说明

-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下载慢的问题了

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


标签:source,Windows,程序,winget,参数,安装程序,安装,进行
From: https://blog.51cto.com/blxt/5889152

相关文章

  • windows10安装mysql
    1下载https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.31-winx64.zip2解压到D盘D:\mysql-8.0.31-winx643在解压后的目录中创建my.ini文件[mysql]#设置m......
  • Windows 软件分享
    音视频PotPlayer-强大好用的视频播放器HoneyView-BandiSoft公司出品的图像浏览软件QQ截图独立版-吊打市面上大部分截图软件文档快贴-跨平台剪贴板同步工......
  • windows系列---【安全清理电脑C盘,释放空间】
    1.使用windows工具释放磁盘空间 2.删除缓存使用win+R,输入"%temp%",回车确认,删除所有文件。 3.使用存储感知清理空间 4.卸载没有用的软件......
  • windows电脑上代开equb文件
    1.打开网址:EPUB阅读器|TXT阅读器|NeatReader|超赞的全平台电子书阅读器,全球百万用户共同的选择(neat-reader.cn)  2.点击右上角进入web端3.点击右上角添加......
  • Windows操作系统下RabbitMQ下载安装
    前言Rabbitmq是一个消息队列Erlang可视化工具注意Rabbitmq和Erlang是有版本对应关系的查看地址:https://www.rabbitmq.com/which-erlang.html下文安装使用24.2.2+v3.......
  • windows下安装cnpm
    首先确认node和npm是否安装成功,node-v和npm-v查看一下npminstall-gcnpm--registry=https://registry.npm.taobao.org完了之后输入cnpm-v,如果出现cnpm:无法加载......
  • windows下更新node版本
    别听网上瞎忽悠,什么npminstall-gn,用n模块去升级稳定版,没用,只适合于linuxwindows下升级直接去官网 下载|Node.js(nodejs.org) 下载新包覆盖原来的即可如果出现npm......
  • windows10 、centos7在局域网机器上进行git代码同步
    windows10在局域网机器上进行git代码同步http://t.zoukankan.com/hujunzheng-p-4970411.htmlcentos7在局域网机器上进行git代码同步https://www.runoob.com/git/git-s......
  • 利用Windows的命令行工具tasklist和findstr,start结合计划任务实现一种进程监控的方案
    利用Windows的命令行工具tasklist和findstr,start结合计划任务实现一种进程监控的方案Windows虽然是以UI来见长的。但是,真正的POWERFUL工具,还是命令行的。今天,介绍一种......
  • 24.1 SetUnhandledExceptionFilter未处理异常--《Windows核心编程》
    对于未处理异常,例如异常过滤返回EXCEPTION_CONTINUE_SEARCH,向上搜索,但无法搜索到处理部分,产生未处理异常。Windows提供了SetUnhandledExceptionFilter函数,给我们处理异常......