安装程序不用鼠标,Windows也玩程序包管理存储库

news2024/11/15 12:01:08

网管小贾 / sysadm.cc

网管小贾 / sysadm.cc

“嘿,嘿,看见没,今年某某著名大学建筑专业才招了4名新生!”

大刘用手点指手机,带着一脸的吃惊相。


我冲他笑了笑,说道:“那是他们的教学水平不行。”

“要是换了我,学生多得能踏破门槛,你信不信!”


大刘撇了撇嘴:“切,信你个鬼啊!”

“你不就是个IT民工嘛,现在计算机都烂大街了,谁还不会个计算机啊!”


“哎,大刘,你可别说哈!如果让我来教学生,就完全不一样了!”

“还能咋不一样,不就是上机操作点鼠标那一套嘛,学计算机不跟玩儿似的。”


我本不想计较,但是看他那不服不忿的样子,我就想让他知道知道,什么叫专业。

于是我就打算来场赌赛。

“大刘,要不咱来赌一把,咱来个现在教学,看看我是不是专业的?”

“行啊,来就来呗。说吧,赌点啥?”

“今天食堂有鸡腿,就赌两鸡腿!”

“行,一言为定!慢着,等我摇几个人,找计算机专业的,气氛做到家哈,看大家怎么评判!”


不一会儿,办公室不大塞进十来个人。

有坐着的,有站着的,有带水杯的,还有带瓜子的。

我一看,直咂嘴,心想这大刘也真的是,给我整这么多吃瓜群众还。

看我这一犹豫,大刘和几个小子在那催促起哄。

得,看样子不来点真格的是不行了!


“大家好!鸡腿……不是……我现在为大家讲一堂免费的计算机公开体验课!”

说完,我打开投影,将电脑屏幕投放到幕布上。

“今天,我们就来讲一讲,如何在 Windows 中安装程序……”


这时,有人咋呼了一句:“哎,怎么黑乎乎的?除了命令窗口,什么都没有啊!”

“请大家稍安勿躁!我们今天就是给大家介绍,不用鼠标的安装程序的方法……”


什么?还能这么干?不用鼠标光打命令就安装程序了?

起初略显嘈杂的办公室一瞬间变得安静了,可能这几位也是头一次碰见这样的情况。


没错,我们平时安装程序,都是双击安装文件,启动安装向导程序,这种方式来安装程序的。

最多在此之前还有一个解压缩的操作(2024年了,可能还有一部分人不会解压缩,但却是事实。)。

但是这一回,怎么就不是这么干的呢?

因为我们完全可以通过命令窗口来安装程序。

但是请注意,并不是说通过命令窗口来启动安装向导程序,而是另外一番不同的体验。


对于玩过 Linux 的朋友来说,安装程序就是通过程序包管理工具来安装。

简单地说,就是通过打命令来安装程序,并不是像 Windows 那样通过双击安装包。

是的,Windows 放着好好的图形界面不用,它也搞出来一个类似于 Linux 下的程序包管理工具:WinGet


WinGet ,全名为 Windows Package Manager,即 Windows 程序包管理器的意思。

它是微软官方推出的一个命令行工具,用于在 Windows 系统上安装、管理和升级软件包。

WinGet 没什么神秘的,它相当于 Linux 中的 aptUbuntu/Debian )或 yum/dnfCentOS/RedHat )等发行版的程序包管理工具。


有人可能会说了,Linux 我没用过啊,那些包管理工具也从来没接触过。

没事哈,如果说它一点用处也没有,那么官方也不会推出这个功能。

使用 WinGet 来安装程序,其实是通过官方提供的程序仓库来实现的。

说白了,就是安装程序时,它会在程序仓库里找,而不是我们手动去网上下载。


在较新版本的 Windows 里其实已经自带了 WinGet

如果你的 Windows 里还没有安装 WinGet ,那么可以先搞定它。

WinGet 怎么获取呢?

(文末有备用下载)


可以从 Microsoft Store 获取应用安装程序。

https://www.microsoft.com/p/app-installer/9nblggh4nns1#activetab=pivot:overviewtab

在这里插入图片描述

以前给大家介绍过的,通过应用商店中的分享,可以获取当前软件的实际链接。

WinGet 的实际链接如下:

https://www.microsoft.com/store/productId/9NBLGGH4NNS1?ocid=pdpshare


要实际链接有啥用呢?

可以到下面的神秘网站中下载到这个软件。

https://store.rg-adguard.net/

输入软件的实际链接,就可以看到 WinGet 的安装包下载链接了。

当然,它在这里并不叫 WinGet ,而是叫作 Microsoft.Desktop.AppInstall

在这里插入图片描述

如果你懒得找,也可以到翻滚到文末,有我提供的备用下载地址。


有了安装包就好说了,要用之,则安装之。

以管理员权限打开 PowerShell ,然后运行以下命令。

Add-AppxPackage .\Microsoft.DesktopAppInstaller_2024.709.2344.0_neutral_~_8wekyb3d8bbwe.Msixbundle

如果你遇到了错误,安装失败。

在这里插入图片描述

别慌,这应该是有一些必要组件没安装的缘故,比如 UI.Xaml 之类的。

这些必要组件也都在文末一同提供下载。

安装它就是了。

Add-AppxPackage .\Microsoft.UI.Xaml.2.8_8.2310.30001.0_x64__8wekyb3d8bbwe.Appx

在这里插入图片描述

然后再回过头来,安装 WinGet ,应该没问题了。

在这里插入图片描述

安装成功,WinGet 可以使用了。

打开命令提示符,输入命令看看有没有反应。

在这里插入图片描述

它列出了命令语法,大概 命令+选项 这个样子。

winget  [<命令>] [<选项>]

其中命令如下:

install 安装给定的程序包
show 显示包的相关信息
source 管理程序包的来源
search 查找并显示程序包的基本信息
list 显示已安装的程序包
upgrade 显示并执行可用升级
uninstall 卸载给定的程序包
hash 哈希安装程序的帮助程序
validate 验证清单文件
settings 打开设置或设置管理员设置
features 显示实验性功能的状态
export 导出已安装程序包的列表
import 安装文件中的所有程序包
pin 管理包钉
configure 将系统配置为所需状态
download 从给定的程序包下载安装程序
repair 修复所选包


选项如下:

-v,–version 显示工具的版本
–info 显示工具的常规信息
-?,–help 显示选定命令的帮助信息
–wait 提示用户在退出前按任意键
–logs,–open-logs 打开默认日志位置
–verbose,–verbose-logs 启用 WinGet 的详细日志记录
–nowarn,–ignore-warnings 禁止显示警告输出
–disable-interactivity 禁用交互式提示
–proxy 设置要用于此执行的代理
–no-proxy 禁止对此执行使用代理


别看它那么多的命令参数,其实主要也就几个,比如搜索、安装、卸载等等。


使用 WinGet 安装程序,我们就用 install 命令就可以了。

winget install <程序名称>

前面是使用 WinGet 安装一个应用程序,要是安装多个应用程序,直接在 install 后面多加几个就是了。

winget install <程序名称1> <程序名称2> ...

举个例子吧,安装 Windows 终端,PowerToysVSCode 这三个应用程序。

winget install Microsoft.WindowsTerminal Microsoft.PowerToys Microsoft.VisualStudioCode

想要安装什么程序,其实可以先搜索一下。

比如搜索火狐浏览器。

winget search firefox

但是为什么会失败呢?

在这里插入图片描述

再来搜索一下 PowerToys

在这里插入图片描述

还是失败了,没有找到,但是它却给出了可能的结果。

原来软件的名称没那么简单,要写完整才算数。

也就是说,要写成 Microsoft.powertoys ,它才能识别,感觉有点智障啊!


那我有些软件并不知道它的名称如何拼写,怎么办呢?

干脆都把它罗列出来吧!


list 命令可以列出所有安装的程序。

winget list

在这里插入图片描述

有了名称(ID),我们就可以用 download 命令下载安装程序了。

winget download <程序名称>

比如,我们要下载 PowerToys ,可以这样。

winget download microsoft.powertoys

在这里插入图片描述

这里面最重要的是明确所要安装软件的确切名称,名称写错或写不全都可能导致安装失败。

因此,我们需要先利用关键字查找到确切的软件名称才行,然后就可以放心大胆地安装它了。

举个完整点的例子吧,我来尝试安装一下便笺软件。


先搜索一下。

winget search stickynotes

找到两个带有 stickynotes 关键字的,好像都不是微软自带的那个程序。

不管了,随便安装一个看看。

winget download ZhornSoftware.Stickies

在这里插入图片描述

总之,先搜索后安装,就是这么一个套路。


类似像升级 upgrade 、卸载 uninstall 以及查看软件包信息 show 等命令就不赘述了。

更多具体的操作,可以参考官方说明。

https://learn.microsoft.com/zh-cn/windows/package-manager/winget/


Microsoft.DesktopAppInstaller.7z

  • Microsoft.DesktopAppInstaller_2024.709.2344.0_neutral_~_8wekyb3d8bbwe.Msixbundle
  • Microsoft.UI.Xaml.2.8_8.2310.30001.0_x64__8wekyb3d8bbwe.Appx
  • Microsoft.VCLibs.140.00.UWPDesktop_14.0.33728.0_x64__8wekyb3d8bbwe.Appx

下载链接:https://pan.baidu.com/s/1b2_rFnJQKc5BSOQcq_u-hw

提取码:<关注公众号,发送001116>


我说得吐沫横飞,正在兴头上,有人提醒午休时间到了。

我抬手一看表,可不是嘛,都11点60了。

行吧,基本的就这些了,先到这儿吧,大家赶快去吃饭吧!

看大家都散了,我就招呼大刘:“大刘……大刘……我的两个鸡腿……”

还没等我找着大刘,一同事拍我肩膀,跟我说,大刘突然家里有急事,刚跟领导请了三天假……


将技术融入生活,打造有趣之故事

网管小贾 / sysadm.cc

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2160889.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【JS】正则表达

正则表达式 reg /匹配规则/ reg.test(str) 1.边界符&#xff1a;^ 以...开头&#xff0c;$ 以...结尾 2.量词&#xff1a;* 出现0次或多次&#xff0c; 出现1次或多次, ? 出现0次或1次,{n}出现n次&#xff0c;{n,m}出现n到m次 3.字符类&#xff1a;[]中的字符任一出现&…

无人机的避障的航迹规划详解!!!

一、无人机避障技术 视觉避障系统&#xff1a;通过安装在无人机上的摄像头捕捉周围环境的图像&#xff0c;利用计算机视觉技术对图像进行处理和分析&#xff0c;提取出障碍物的信息。这种方法直观、信息丰富&#xff0c;但在光线不足或变化多的情况下可能影响识别效果&#xf…

生成测试图片的步骤

生成测试图片的步骤&#xff1a; 1、通义万象画图&#xff1a;https://tongyi.aliyun.com/wanxiang/creation 2、改图宝修改尺寸&#xff1a;https://www.gaitubao.com/

set的使用

序列式容器和关联式容器 序列式容器&#xff1a; 前⾯我们已经接触过STL中的部分容器如&#xff1a;string、vector、list、deque、array、forward_list等&#xff0c;这些容器统称为序列式容器&#xff0c;因为逻辑结构为线性序列的数据结构&#xff0c;两个位置存储的值之间…

【Python报错已解决】AttributeError: ‘Tensor‘ object has no attribute ‘kernel_size‘

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 专栏介绍 在软件开发和日常使用中&#xff0c;BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…

使用compile_commands激活vscode索引-跳转-代码提示功能

最近发现&#xff0c;使用vscode打开一个大的c工程很容易无法正常调转和代码提示。所以经常会手动修改.vscode/c_cpp_properties.json文件的"includePath"属性。然而&#xff0c;当pkg越来越多 工程体量越来越大之后&#xff0c;我不得不探索如何自动的完成这一过程&…

Matplotlib画图相关代码

绘制不同类型的线条 import matplotlib.pyplot as plt import numpy as npx np.array([1, 2, 3]) y np.array([2, 4, 6])# 不同线型的示例 plt.plot(y, marker*, linestyle-) # 实线 plt.plot(y 1, markero, linestyle--) # 虚线 plt.plot(y 2, markerx, linestyle-.)…

【IDEA配置Maven环境】

在IDEA欢迎界面 选择 IDEA中 Customize > ALLSettings > Build,Execution,Deployment > Build Tools > Maven

VirtualBox+Vagrant快速搭建Centos7系统【最新详细教程】

VirtualBoxVagrant快速搭建Centos7系统 &#x1f4d6;1.安装VirtualBox✅下载VirtualBox✅安装 &#x1f4d6;2.安装Vagrant✅下载Vagrant✅安装 &#x1f4d6;3.搭建Centos7系✅初始化Vagrantfile文件生成✅启动Vagrantfile文件✅解决 vagrant up下载太慢的问题✅配置网络ip地…

从零开始的软件开发详解:数字药店系统源码与医保购药APP

很多小伙伴们疑问&#xff0c;医保购药APP是如何开发的&#xff0c;今天我将从零数字药店系统源码开始为大家提供一条清晰的实现方案。 一、技术架构设计 在开发医保购药APP之前&#xff0c;首先需要明确技术架构。一般来说&#xff0c;APP的技术架构可以分为前端和后端。 1…

网络分段:您需要了解的一切

什么是网络分段&#xff1f;为什么它很重要&#xff1f; 在当今互联互通的世界中&#xff0c;网络分段已成为组织网络安全战略中不可或缺的一部分。随着网络威胁不断演变和变得更加复杂&#xff0c;保护网络免受潜在入侵并尽量减少攻击面变得至关重要。根据最近的研究&#xf…

C++ 进阶之路:非类型模板参数、模板特化与分离编译详解

目录 非类型模版参数 类型模板参数 非类型模板参数 非类型模板参数的使用 模板的特化 函数模板的特化 类模板的特化 全特化与偏特化 偏特化的其它情况 模板的分离编译 什么是分离编译 为什么要分离编译 为什么模板不能分离编译 普通的类和函数都是可以分离编译的…

数据定义语言CREATE的应用

新书速览|SQL Server 2022从入门到精通&#xff1a;视频教学超值版_sql server 2022 出版社-CSDN博客 《SQL Server 2022从入门到精通&#xff08;视频教学超值版&#xff09;&#xff08;数据库技术丛书&#xff09;》(王英英)【摘要 书评 试读】- 京东图书 (jd.com) SQL Se…

相交链表 -------------应用

给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点&#xff0c;返回 null 。 图示两个链表在节点 c1 开始相交&#xff1a; 题目数据 保证 整个链式结构中不存在环。 注意&#xff0c;函数返回结果后&…

2024上海工博会,正运动机器视觉运动控制一体机应用预览(三)

■展会名称&#xff1a; 第二十四届中国国际工业博览会&#xff08;以下简称“上海工博会”&#xff09; ■展会日期 2024年9月24日–28日 ■展馆地点 中国国家会展中心&#xff08;上海&#xff09; ■展位号 6.1H-E261 本次上海工博会&#xff0c;正运动技术将携高性…

微信小程序开发项目

微信小程序是一种轻量级的应用程序&#xff0c;无需下载即可使用&#xff0c;并且具有即用即走的特点。这种新型的应用程序正在改变人们的使用习惯&#xff0c;使得人们可以更加方便快捷地获取信息和服务。本文将详细介绍微信小程序的开发过程&#xff0c;包括开发前的准备、开…

9.3 Linux_文件I/O_相关函数

打开与关闭 1、打开文件 int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode);返回值&#xff1a;成功返回文件描述符&#xff0c;失败返回EOF pathname&#xff1a;文件路径 flags&#xff1a;标志&#xff0c;其中O_RDO…

CUDA安装教程+显卡驱动安装

CUDA安装教程显卡驱动安装 新的ubuntu系统&#xff0c;需要重新安装显卡驱动&#xff0c;以及cuda&#xff0c;记录以下坑点&#xff1a; 先安装显卡 nvidia-smi输入后出现 首先知道自己的GPU型号&#xff0c;如RTX 4090 这里下载&#xff1a;https://www.nvidia.com/Down…

自动化学习2:pytest的高级用法(mark标记/fixture/hook)

一.mark的用法 概念&#xff1a;Pytest提供的mark标记&#xff0c;允许我们标记测试函数&#xff0c;测试类和整个模块。通过不同的标记实现不同的运行策略&#xff0c;如标记冒烟测试用例。 1.注册标记 可以在pytest.ini文件注册自定义标记 除了自己注册的标记外&#xff0…

网安新声 | 黎巴嫩BP机爆炸事件带来的安全新挑战与反思

网安加社区【网安新声】栏目&#xff0c;汇聚网络安全领域的权威专家与资深学者&#xff0c;紧跟当下热点安全事件、剖析前沿技术动态及政策导向&#xff0c;以专业视野和前瞻洞察&#xff0c;引领行业共同探讨并应对新挑战的策略与可行路径。 9月17日&#xff0c;黎巴嫩境内发…