winget Microsoft 软件包 ID 中的一系列字母和数字是什么?

winget Microsoft 软件包 ID 中的一系列字母和数字是什么?

当我winget list在 Windows 10 上运行时,我得到以下输出(法语,但重要的列是ID):

Nom                                            ID                                                  Version            Disponible Source
---------------------------------------------------------------------------------------------------------------------------------------
...
Messages Microsoft                             Microsoft.Messaging_8wekyb3d8bbwe                   4.1901.10241.1000
Visionneuse 3D                                 Microsoft.Microsoft3DViewer_8wekyb3d8bbwe           7.2107.7012.0
Microsoft Edge                                 Microsoft.MicrosoftEdge.Stable_8wekyb3d8bbwe        98.0.1108.50
...
Python 3                                       Python.Python.3                                     3.9.2150.0         3.10.2150… winget

如您所见,Microsoft 软件包的 ID 中包含一系列字母和数字(8wekyb3d8bbwe在本例中)。这指的是什么?

答案1

8wekyb3d8bbwe是个发布者 ID对于微软来说。

如果你运行获取 AppXPackagePowerShell 命令。

这些 ID 应与 Microsoft Store 发布者保持一致,并且每个发布者都应该是唯一的。

答案2

该字符串8wekyb3d8bbwe是 Microsoft 随机选择的字符串,用于区分其应用程序的名称和用户应用程序。除了避免与用户 ID 冲突之外,它没有其他用途。一些 Microsoft 员工在发明键盘时似乎对它很感兴趣。

您将看到此字符串在 Microsoft 应用程序列表中的所有应用程序中重复出现,网址为
Windows 10 版本 1709 中预配的应用的程序包名称

该字符串的来源未知,Microsoft 也未对此做出解释。

答案3

Winget 支持来自 2 个来源的软件包 - 其“自己的”存储库和 Windows 商店。对于 Windows 商店应用,应用程序有指南,从某种意义上说,我怀疑这是为了方便为“不同”格式提供“相同”的包装,而 Windows 商店似乎是 Windows 手机应用商店的扩展。

有趣的是,winget 中似乎有 3 种不同的格式(或更多?),并且包名称似乎是任意的。

Xbox Game Speech Window                                                                            Microsoft.XboxSpeechToTextOverlay_8wekyb3d8bbwe      1.21.13002.0
Microsoft Teams                                                                                    MicrosoftTeams_8wekyb3d8bbwe                         22006.600.1133.7409
Windows Web Experience Pack                                                                        MicrosoftWindows.Client.WebExperience_cw5n1h2txyewy  421.20070.45.0

Microsoft 使用 Microsoft.ProductName_DevID -除了 MSteamsMS 似乎也使用 2 个不同的开发者 ID。8wekyb3d8bbwe 用于大多数东西,但 Web 体验包在

除非他们不这样做

Microsoft Edge                                                                                     Microsoft.Edge                                       98.0.1108.50                         winget
Microsoft 365 - en-us                                                                              O365HomePremRetail - en-us                           16.0.14827.20192

诚然,这些不是商店应用程序,但有些一致性受伤了吗?Edge 使用 Microsoft 作为 devid,edge 作为产品 id。O365 没有 dev id,只有产品 id

7-Zip                                                                                              7zip.7zip                                            19.00                      21.07     winget

此处的 7zip 是一个 winget 应用程序,使用 developer.product ID winget 存储库中的应用程序往往具有“更简单”的 publisher.name.(version?)。此处两者均为 7zip。

winget 列表命令显示以其他方式安装的软件

Quake II                                                                                           Steam App 2320                                       Unknown
Windows Driver Package - Google, Inc. (WinUSB) AndroidUsbDeviceClass  (08/28/2014 11.0.0000.00000) 092555911492C6959D2596D612F52DCA71881CA2             08/28/2014 11.0.0000.00000
Cyberpunk 2077                                                                                     1423049311_is1                                       1.31
Epson Customer Research Participation                                                              {B26449A6-6007-4460-B4FE-C4776115BCEA}               1.83.0000
NVIDIA Graphics Driver 511.65                                                                      {B2FE1952-0186-46C3-BAEC-A80AA35AC5B8}_Display.Driv… 511.65

是的,它是随机 GUID、各种标识符和...的混合体,无论人们想怎么命名它。

从所有这些来看,软件包名称中的一系列字母和数字没有任何“实际”含义。它们是 winget 调用的各种数据源使用的 GUID、版本号和软件包名称。任何实际含义都将取决于程序的安装方式以及开发人员选择如何发布它

相关内容