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的截图。
在这里插入图片描述

方式二:官网安装

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

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

浏览器中输入上面网址打开就可以免费下载了
在这里插入图片描述
安装的时候需要注意的是可能需要获取你的管理员权限,建议大家右键管理员权限进行运行。

使用

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

在这里插入图片描述
1.安装程序

winget install 软件包名称

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

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

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

winget uninstall 名称/ID

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

winget search 软件名称

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

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

在这里插入图片描述
显示出来的都是可以升级的软件了,下面同样可以使用upgrade来进行升级软件

winget upgrade 软件包名称/ID

在这里插入图片描述
这样就升级好啦。

命令及参数

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

1. export

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

winget export 参数		//导出命令

参数:

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

例子:

winget export -o \opt\abc.json

在这里插入图片描述
对了忘记说一个前提了,大家也在上面截图里面看到了,因为这些程序都是我之前图形化安装的所以他是找不到安装源的,这样就会导不出来的,这一点很不友好
选项:
来看看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

在这里插入图片描述
选项:

选项说明
–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 软件包名称

在这里插入图片描述
选项:

选项说明
-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

在这里插入图片描述
选项:

选项说明
–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用于查询其他参数或选项

示例:
在这里插入图片描述
选项:

选项参数
–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

在这里插入图片描述
选项:

选项说明
-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		//列出当前来源

在这里插入图片描述

winget source update		//更新当前来源

在这里插入图片描述

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

**加粗样式**
这个命令需要管理员才能执行的
在这里插入图片描述

8.uninstall

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

winget uninstall 参数

参数:

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

示例:

winget uninstall -q 程序名称

在这里插入图片描述
选项:

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

在这里插入图片描述
选项:

选项说明
-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里面还依然存在,我把这些程序和没用不知道干啥的程序卸载之后以外的发现竟然风扇的问题解决了,已经不频繁转动了,可能是加载了太多没用程序的问题也可能是驱动的问题,这个说不清楚,大家如果有同样问题不妨试一试。好啦到这里结束啦
03-12
<think>好的,我现在需要帮助用户了解和使用winget包管理器。首先,我得回忆一下用户提供的引用内容,里面有四个引用,其中引用[1]、[2]、[3]都是关于winget的,引用[4]是关于tcpdump的,可能用不上。用户的问题是想了解或使用winget包管理器,所以重点应该放在前三个引用上。 首先,我需要整理用户提供的引用内容。引用[1]提到winget-cli是微软推出的命令行工具,用于管理Windows软件包,适合开发者使用,项目地址也给出了。引用[2]强调了winget的优势,比如命令行自动化,提高效率,举例了winget install这样的命令。引用[3]则是一个扩展项目,可能提供了更简化的安装和使用方式,但用户现在可能更关注基础使用,所以可能需要先介绍官方的基础指南,再提到扩展项目作为补充。 接下来,我需要按照用户的要求,结构清晰地分步骤回答。用户希望回答结构清晰,逐步解决问题,所以应该从安装开始,然后到基本命令,再到高级功能,最后可能提到优化或扩展。同时,需要确保所有的数学公式或代码格式正确,但winget主要是命令行,所以代码块应该用反引号包裹,比如安装命令。 用户还要求生成相关问题,这可能放在最后。我需要确保回答中使用中文,并正确引用站内引用,比如在提到安装步骤时引用[1],在说明命令时引用[2],在提到扩展功能时引用[3]。 需要检查是否有遗漏的步骤,比如更新软件包、搜索软件包、卸载等,这些都是基本操作,应该在基本命令里涵盖。另外,可能需要注意权限问题,比如是否需要管理员权限来执行某些命令,但根据我的知识,winget通常需要管理员权限来安装软件,所以可能需要提醒用户以管理员身份运行命令提示符或PowerShell。 还要确保所有提到的命令都正确无误,比如winget install、winget search、winget upgrade等。同时,可能可以提到配置文件的使用,如引用[3]中的自动化安装方案,这属于高级用法,用户如果有兴趣可以进一步探索。 最后,生成的相关问题应该围绕用户可能感兴趣的下一步骤,比如性能优化、配置管理、脚本自动化等,参考用户提供的示例问题结构,例如快速排序的问题是关于性能分析、优化方法、应用场景,那么winget的相关问题可能是如何批量安装、如何配置源、如何解决常见错误等。 现在,组织内容: 1. 安装指南:根据引用[1]和引用[3],winget-cli的安装方法,可能需要从GitHub项目安装,或者Win10以上系统自带。需要确认当前系统是否自带,如果用户系统是Win10 1809之后,可能需要手动安装,或者通过应用商店安装。 2. 基础使用命令:引用[2]提到的命令,如安装、搜索、列表、升级、卸载。每个命令给出示例,比如winget install 软件名,winget search 关键字等。 3. 高级功能:比如导出导入配置文件,自动化安装,参考引用[3]提到的扩展项目,可能涉及批量处理。 4. 注意事项:权限问题,源的管理,错误处理等。 5. 相关问题:生成三个左右相关问题,比如如何批量安装、如何添加第三方源、如何解决安装失败的问题。 在写作过程中,需要正确使用引用标记,比如在安装步骤末尾加[^1],在命令示例处加[^2],在提到扩展功能时加[^3]。 现在需要验证一些细节,比如winget是否默认安装。根据微软文档,wingetWindows 10 2020年5月更新(版本2004)开始内置,如果用户系统较旧,可能需要手动安装,可以通过访问GitHub项目安装。所以安装部分需要分情况说明,但用户提供的引用[1]中项目地址是winget-cli的镜像,可能需要指导用户如何安装。 另外,引用[3]提到的Winget-Install项目是扩展功能,可能需要单独安装或使用脚本,这部分可以作为高级用法提到,但用户的主要需求是基础指南,所以可能放在后面或者相关问题里。 现在开始组织回答: 首先,安装部分:系统要求,如何检查是否已安装,如果没有,如何从GitHub项目安装。引用[1]和引用[3]作为安装指南的来源。 然后,基本命令:安装、搜索、列表、升级、卸载,每个命令给出示例,引用[2]作为命令的来源。 高级功能:导出导入配置,批量安装,使用脚本自动化,引用[3]。 注意事项:权限、错误处理等。 相关问题可能包括如何批量安装、如何配置源、如何解决常见错误。 需要注意,用户提供的引用中,引用[3]是关于Winget-Install项目的,它可能是一个扩展,所以可能需要说明该项目的作用,比如提供自定义脚本或简化体验,用户如果需要可以前往项目地址查看。 最后,确保回答中没有使用任何markdown格式,除了代码块用反引号,并且引用标识正确放置,例如在提到项目基础介绍时引用[^1],在命令时引用,在扩展功能时引用[^3]。</think>### Winget 包管理器使用指南 #### 1. **安装 Winget** - **系统要求**:Winget 默认集成在 Windows 10(版本 1709+)及更高版本中。若系统未预装,需手动安装。 - **手动安装**: 1. 访问 [Winget-CLI 项目地址](https://gitcode.com/gh_mirrors/wi/winget-cli) 下载最新版本。 2. 解压后以管理员身份运行 PowerShell,执行安装脚本。 ```powershell Add-AppxPackage -Path .\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.appxbundle ``` #### 2. **基础命令** - **搜索软件包**: ```powershell winget search <软件名> # 示例:winget search python ``` - **安装软件**: ```powershell winget install <软件ID> # 示例:winget install Python.Python.3.12 ``` - **列出已安装软件**: ```powershell winget list ``` - **升级软件**: ```powershell winget upgrade --all # 升级所有软件 ``` - **卸载软件**: ```powershell winget uninstall <软件ID> ``` 以上命令均支持通过命令行快速操作,提升效率。 #### 3. **高级功能** - **批量安装**: 通过配置文件(如 `packages.json`)定义软件列表,一键安装: ```powershell winget import -i packages.json ``` 配置文件示例: ```json { "Sources": ["winget"], "Packages": [ { "Id": "Google.Chrome" }, { "Id": "Microsoft.VisualStudioCode" } ] } ``` 此功能需依赖扩展脚本或自定义方案(如 [Winget-Install 项目](https://gitcode.com/gh_mirrors/wi/winget-cli))[^3]。 - **管理软件源**: 添加第三方源(如社区仓库): ```powershell winget source add <源名称> <源URL> ``` #### 4. **注意事项** - **权限问题**:安装/卸载需管理员权限,建议以管理员身份运行终端。 - **网络问题**:若下载失败,可尝试切换网络或配置代理。 - **版本兼容性**:部分软件可能因系统版本限制无法安装。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

避凉闲庭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值