使用 winget upgrade 检查 Windows 已安装的软件中有哪些可升级

2022-05-12 15:45

 

在微软开发 winget 这个工具之前,很难一次性检查当前 windows 电脑所安装的应用软件是否有可用的升级版本。

 

现在可以用以下 DOS 命令,一次性地检查本电脑中已安装应用软件有哪些可升级:

winget upgrade

如果无 winget , 则只能逐个应用软件,去其官方网站,逐个检查,是否有新版本发布。那样很费时间。

 

以下是我的电脑上运行的结果:


名称                                                 ID                                    版本           可用          源
------------------------------------------------------------------------------------------------------------------------------
Visual Studio Community 2022                         Microsoft.VisualStudio.2022.Community 17.1.1         17.2.0        winget
Android Studio                                       Google.AndroidStudio                  2021.1         2021.2        winget
Citrix Workspace                                     Citrix.Workspace                      19.12.2000.7   22.4.1.62     winget
GIMP                                                 GIMP.GIMP                             2.10.18        2.10.30       winget
GPL Ghostscript                                      ArtifexSoftware.GhostScript           9.54.0         9.56.1        winget
Google Chrome                                        Google.Chrome                         101.0.4951.54  101.0.4951.64 winget
Inkscape                                             Inkscape.Inkscape                     1.0.0-         1.1.2         winget
KDE Connect                                          KDE.KDEConnect                        21.04.1        22.04.0       winget
Logitech Unifying Software                           Logitech.UnifyingSoftware             2.50.25        2.52.33       winget
Mozilla Thunderbird                                  Mozilla.Thunderbird                   91.3.2         91.9.0        winget
NoMachine                                            NoMachine.NoMachine                   6.9.2          7.7.4         winget
Notepad++                                            Notepad++.Notepad++                   7.9.3          8.4.1         winget
VcXsrv                                               marha.VcXsrv                          1.20.9.0       1.20.14.0     winget
Vim                                                  vim.vim                               8.2            8.2.4937      winget
WeChat                                               Tencent.WeChat                        3.3.0.115      3.6.0.18      winget
Tencent Meeting                                      Tencent.TencentMeeting                3.6.8.400      3.7.9.426     winget
WinMerge                                             WinMerge.WinMerge                     2.16.10.0      2.16.20       winget
Visual Studio Community 2019                         Microsoft.VisualStudio.2019.Community 16.7.30406.217 16.11.14      winget
Atom                                                 GitHub.Atom                           1.58.0         1.60.0        winget
Visual Studio Community 2019                         Microsoft.VisualStudio.2019.Community 16.11.5        16.11.14      winget
pgAdmin 4                                            PostgreSQL.pgAdmin                    4.30           6.8           winget
WinSCP                                               WinSCP.WinSCP                         5.19.1         5.19.6        winget
Microsoft Visual C++ 2013 Redistributable (x64)      Microsoft.VC++2013Redist-x64          12.0.30501.0   12.0.40664.0  winget
央视影音                                             CCTV.CBox                             5.0.1.2        5.1.0.1       winget
Microsoft Build of OpenJDK with Hotspot 11           Microsoft.OpenJDK.11                  11.0.12.7      11.0.15.10    winget
PuTTY                                                PuTTY.PuTTY                           0.74.0.0       0.76.0.0      winget
LibreOffice                                          TheDocumentFoundation.LibreOffice     7.1.1.2        7.3.2.2       winget
MPC-HC                                               clsid2.mpc-hc                         1.7.13         1.9.21.2      winget
Microsoft Windows Desktop Runtime - 5 (x64)          Microsoft.dotnetRuntime.5-x64         5.0.10.30418   5.0.16.31121  winget
TightVNC                                             GlavSoft.TightVNC                     2.8.27.0       2.8.63.0      winget
Microsoft Visual C++ 2015-2022 Redistributable (x86) Microsoft.VC++2015-2022Redist-x86     14.30.30704.0  14.32.31326.0 winget
Microsoft Visual C++ 2015-2022 Redistributable (x64) Microsoft.VC++2015-2022Redist-x64     14.30.30704.0  14.32.31326.0 winget
OpenOffice                                           Apache.OpenOffice                     4.17.9800      4.111.9808    winget
Python 3                                             Python.Python.3                       3.7.8150.0     3.10.4150.0   winget
TortoiseSVN                                          TortoiseSVN.TortoiseSVN               1.14.29085     1.14.29387    winget
Microsoft Web Platform Installer                     Microsoft.webpicmd                    4.0.1622       5.1.51515.0   winget
OpenVPN                                              OpenVPNTechnologies.OpenVPN           2.5.021        2.5.029       winget
Microsoft Visual Studio Code                         Microsoft.VisualStudioCode            1.66.2         1.67.1        winget
Unity Hub                                            UnityTechnologies.UnityHub            2.4.7          3.1.2         winget
Microsoft Visual C++ 2013 Redistributable (x86)      Microsoft.VC++2013Redist-x86          12.0.30501.0   12.0.40664.0  winget
企业微信                                             Tencent.wechat-work                   2.8.17.1313    3.1.10.3010   winget
41 升级可用。          
        

 

与 Ubuntu 来做一个些对比。以下是使用 mRemoteNG 软件以 SSH 协议远程登录某个 Ubuntu 电脑,得到的登录后提示信息:


Using username "xxxx".
Welcome to Ubuntu 20.04.4 LTS (GNU/Linux 5.4.0-107-generic x86_64)

  * Documentation:  https://help.ubuntu.com
  * Management:     https://landscape.canonical.com
  * Support:        https://ubuntu.com/advantage

54 updates can be applied immediately.
15 of these updates are standard security updates.
To see these additional updates run: apt list --upgradable

New release '21.10' available.
Run 'do-release-upgrade' to upgrade to it.

*** System restart required ***
Last login: Wed May 11 18:22:54 2022 from 192.168.1.156
      

 

以上提示信息,简单明了。说明了现在有 54 个软件可升级,有 15 个安全补丁可安装。

初步比较,可以看出,winget 比 Ubuntu 少了安全补丁的检查。这对于电脑的安全,十分有必要。可能是因为 Windows 有图形化的安全更新,所以 winget 暂时忽略了安全方面的特别提示。但 Windows 安全更新只针对 Windows 自身、不针对第三方的应用程序。这方面 winget 仍需补强。

总体来说,winget 后续仍需补充应用软件的安全更新提示。

 

之后,我们按照提示,在 Ubuntu 电脑上运行:

apt list --upgradable

 

以下是运行结果:


正在列表... 完成
aspnetcore-runtime-5.0/groovy 5.0.17-1 amd64 [可从该版本升级:5.0.16-1]
dotnet-apphost-pack-5.0/groovy 5.0.17-1 amd64 [可从该版本升级:5.0.16-1]
dotnet-host/groovy 6.0.5-1 amd64 [可从该版本升级:6.0.4-1]
dotnet-hostfxr-5.0/groovy 5.0.17-1 amd64 [可从该版本升级:5.0.16-1]
dotnet-runtime-5.0/groovy 5.0.17-1 amd64 [可从该版本升级:5.0.16-1]
dotnet-runtime-deps-5.0/groovy 5.0.17-1 amd64 [可从该版本升级:5.0.16-1]
dotnet-sdk-5.0/groovy 5.0.408-1 amd64 [可从该版本升级:5.0.407-1]
firefox-locale-en/focal-updates,focal-security 100.0+build2-0ubuntu0.20.04.1 amd64 [可从该版本升级:99.0+build2-0ubuntu0.20.04.2]
firefox-locale-zh-hans/focal-updates,focal-security 100.0+build2-0ubuntu0.20.04.1 amd64 [可从该版本升级:99.0+build2-0ubuntu0.20.04.2]
firefox/focal-updates,focal-security 100.0+build2-0ubuntu0.20.04.1 amd64 [可从该版本升级:99.0+build2-0ubuntu0.20.04.2]
gnome-control-center-data/focal-updates,focal-updates 1:3.36.5-0ubuntu4 all [可从该版本升级:1:3.36.5-0ubuntu3]
gnome-control-center-faces/focal-updates,focal-updates 1:3.36.5-0ubuntu4 all [可从该版本升级:1:3.36.5-0ubuntu3]
gnome-control-center/focal-updates 1:3.36.5-0ubuntu4 amd64 [可从该版本升级:1:3.36.5-0ubuntu3]
gvfs-backends/focal-updates 1.44.1-1ubuntu1.1 amd64 [可从该版本升级:1.44.1-1ubuntu1]
gvfs-bin/focal-updates 1.44.1-1ubuntu1.1 amd64 [可从该版本升级:1.44.1-1ubuntu1]
gvfs-common/focal-updates,focal-updates 1.44.1-1ubuntu1.1 all [可从该版本升级:1.44.1-1ubuntu1]
gvfs-daemons/focal-updates 1.44.1-1ubuntu1.1 amd64 [可从该版本升级:1.44.1-1ubuntu1]
gvfs-fuse/focal-updates 1.44.1-1ubuntu1.1 amd64 [可从该版本升级:1.44.1-1ubuntu1]
gvfs-libs/focal-updates 1.44.1-1ubuntu1.1 amd64 [可从该版本升级:1.44.1-1ubuntu1]
gvfs/focal-updates 1.44.1-1ubuntu1.1 amd64 [可从该版本升级:1.44.1-1ubuntu1]
iio-sensor-proxy/focal-updates 2.8-1ubuntu2 amd64 [可从该版本升级:2.8-1ubuntu1]
libc-bin/focal-updates 2.31-0ubuntu9.9 amd64 [可从该版本升级:2.31-0ubuntu9.7]
libc-dev-bin/focal-updates 2.31-0ubuntu9.9 amd64 [可从该版本升级:2.31-0ubuntu9.7]
libc6-dbg/focal-updates 2.31-0ubuntu9.9 amd64 [可从该版本升级:2.31-0ubuntu9.7]
libc6-dev/focal-updates 2.31-0ubuntu9.9 amd64 [可从该版本升级:2.31-0ubuntu9.7]
libc6-i386/focal-updates 2.31-0ubuntu9.9 amd64 [可从该版本升级:2.31-0ubuntu9.7]
libc6/focal-updates 2.31-0ubuntu9.9 amd64 [可从该版本升级:2.31-0ubuntu9.7]
libcephfs2/focal-updates 15.2.16-0ubuntu0.20.04.1 amd64 [可从该版本升级:15.2.14-0ubuntu0.20.04.2]
libcurl3-gnutls/focal-updates,focal-security 7.68.0-1ubuntu2.11 amd64 [可从该版本升级:7.68.0-1ubuntu2.10]
libcurl4/focal-updates,focal-security 7.68.0-1ubuntu2.11 amd64 [可从该版本升级:7.68.0-1ubuntu2.10]
libnss-systemd/focal-updates 245.4-4ubuntu3.17 amd64 [可从该版本升级:245.4-4ubuntu3.16]
libnss3/focal-updates,focal-security 2:3.49.1-1ubuntu1.7 amd64 [可从该版本升级:2:3.49.1-1ubuntu1.6]
libpam-systemd/focal-updates 245.4-4ubuntu3.17 amd64 [可从该版本升级:245.4-4ubuntu3.16]
libpq-dev/focal-updates 12.10-0ubuntu0.20.04.1 amd64 [可从该版本升级:12.9-0ubuntu0.20.04.1]
libpq5/focal-updates 12.10-0ubuntu0.20.04.1 amd64 [可从该版本升级:12.9-0ubuntu0.20.04.1]
librados2/focal-updates 15.2.16-0ubuntu0.20.04.1 amd64 [可从该版本升级:15.2.14-0ubuntu0.20.04.2]
librbd1/focal-updates 15.2.16-0ubuntu0.20.04.1 amd64 [可从该版本升级:15.2.14-0ubuntu0.20.04.2]
libsensors-config/focal-updates,focal-updates 1:3.6.0-2ubuntu1.1 all [可从该版本升级:1:3.6.0-2ubuntu1]
libsensors5/focal-updates 1:3.6.0-2ubuntu1.1 amd64 [可从该版本升级:1:3.6.0-2ubuntu1]
libsystemd0/focal-updates 245.4-4ubuntu3.17 amd64 [可从该版本升级:245.4-4ubuntu3.16]
libudev1/focal-updates 245.4-4ubuntu3.17 amd64 [可从该版本升级:245.4-4ubuntu3.16]
linux-generic/focal-updates,focal-security 5.4.0.110.114 amd64 [可从该版本升级:5.4.0.109.113]
linux-headers-generic/focal-updates,focal-security 5.4.0.110.114 amd64 [可从该版本升级:5.4.0.109.113]
linux-image-generic/focal-updates,focal-security 5.4.0.110.114 amd64 [可从该版本升级:5.4.0.109.113]
linux-libc-dev/focal-updates,focal-security 5.4.0-110.124 amd64 [可从该版本升级:5.4.0-109.123]
lm-sensors/focal-updates 1:3.6.0-2ubuntu1.1 amd64 [可从该版本升级:1:3.6.0-2ubuntu1]
locales/focal-updates,focal-updates 2.31-0ubuntu9.9 all [可从该版本升级:2.31-0ubuntu9.7]
postgresql-12/focal-updates 12.10-0ubuntu0.20.04.1 amd64 [可从该版本升级:12.9-0ubuntu0.20.04.1]
postgresql-client-12/focal-updates 12.10-0ubuntu0.20.04.1 amd64 [可从该版本升级:12.9-0ubuntu0.20.04.1]
postgresql-server-dev-12/focal-updates 12.10-0ubuntu0.20.04.1 amd64 [可从该版本升级:12.9-0ubuntu0.20.04.1]
sbsigntool/focal-updates 0.9.2-2ubuntu1.1 amd64 [可从该版本升级:0.9.2-2ubuntu1]
snapd/focal-updates 2.54.3+20.04.1ubuntu0.3 amd64 [可从该版本升级:2.54.3+20.04.1ubuntu0.2]
systemd-sysv/focal-updates 245.4-4ubuntu3.17 amd64 [可从该版本升级:245.4-4ubuntu3.16]
systemd-timesyncd/focal-updates 245.4-4ubuntu3.17 amd64 [可从该版本升级:245.4-4ubuntu3.16]
systemd/focal-updates 245.4-4ubuntu3.17 amd64 [可从该版本升级:245.4-4ubuntu3.16]
ubuntu-drivers-common/focal-updates 1:0.9.0~0.20.04.7 amd64 [可从该版本升级:1:0.9.0~0.20.04.6]
udev/focal-updates 245.4-4ubuntu3.17 amd64 [可从该版本升级:245.4-4ubuntu3.16]
N: 忽略‘disco-partner.list.20200225_1045’(于目录‘/etc/apt/sources.list.d/’),鉴于它的文件扩展名无效

结论是,winget 比 apt 的可读性略强,至少有应用软件对应作者(公司/组织)名称。

 

但 Ubuntu apt 有另一个对应的图形版的软件"软件更新器",其升级提示见下图:

ubuntu apt gui

以上截图,将安全更新、非安全更新,分开,同时包含应用软件、操作系统自身,且提示了每个安装包的文件大小,这些都是 winget 所欠缺的。

如果没有接入宽带网络,当前只用移动网络,流量有限,可以先只安装重要的安全更新。

当然了,winget 、 apt 均只能提示一部分应用软件,如果某个软件不在其软件库中,则不会提示有升级版本。比如,我在 Windows、 Ubuntu 电脑上都安装了 NoMachine 远程桌面控制软件,winget 提示了有软件升级、而 apt 没有提示。当然,反过来的情况也有。

 

winget 可查看单个软件的详细信息,有的会写明升级了哪些功能、有的不会写。执行 DOS 命令:

winget show KDE.KDiff3

得到如下信息:


已找到 KDiff3 [KDE.KDiff3]
版本: 1.9.5
发布者: KDE e.V.
发布服务器支持 URL: https://invent.kde.org/sdk/kdiff3/-/issues
作者: Joachim Eibl
绰号: kdiff3
描述: Utility for comparing and merging files and directories
主页: https://invent.kde.org/sdk/kdiff3
许可证: GNU GPLv2
许可证 URL: https://invent.kde.org/sdk/kdiff3/-/blob/master/COPYING
版权 URL: https://invent.kde.org/sdk/kdiff3/-/blob/master/COPYING
安装:
  类型: nullsoft
  下载 URL: https://download.kde.org/stable/kdiff3/kdiff3-1.9.5-windows-64-cl.exe
  SHA256: ccac297784f9a19e5482cdedc8a6ecb86232fdd93b865b56c8122767d19bcef8
  发布日期: 2022-03-04      

以上软件详细信息,未写明该版本号对应有哪些改进/改动。当然,Ubuntu 下 apt 运行结果也类似。

 

其它方面,基于个人使用体验,winget 在缓存方面比 apt 做的差。连续执行两次 winget show xxx, 第二次并不会比第一次快,说明没有使用缓存。当然,apt show 可能也没有使用缓存、只是单纯的响应速度快。winget search 与 apt search 好像都没有使用缓存。

另外,winget 中的 java 方面的应用软件比较少, 比如,apt 中有 jedit, 而 winget 中没有。

winget 在应用软件升级方面,是否会学习 Ubuntu apt 升级 apache httpd、PostgreSQL 软件那样,升级程序文件、保留数据、保留/升级配置文件,则需要在后续使用过程中,自己体会。

 

总体来说,winget 仍是一个好的开头吧。期待后续的逐步功能改进吧。

 

 

欢迎转载,转载请注明出处: https://www.zheguisoft.com/staff_blogs/jacklondon_chen/2022 ,https://my.oschina.net/jacklondon

 

 

 


请选择网站语言: