winget Microsoft パッケージ ID の文字と数字の連続は何ですか?

winget Microsoft パッケージ ID の文字と数字の連続は何ですか?

Windows 10 で実行するとwinget list、次の出力が表示されます (フランス語ですが、重要な列は です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マイクロソフト向け。

実行するとさらに詳しい情報を見ることができますGet-AppXPackagePowerShell コマンドレット。

これらの ID は Microsoft Store の発行元と一致し、発行元ごとに一意である必要があります。

答え2

この文字列は8wekyb3d8bbwe、Microsoft がアプリケーション名とユーザー アプリケーション名を区別するために選択したランダムな文字列です。ユーザー ID との競合を避ける以外の目的はありません。Microsoft の社員がキーボードを発明する際に、楽しんでいたようです。

この文字列は、Microsoftアプリケーションリストのすべてのアプリケーションで繰り返されます。
Windows 10 バージョン 1709 でプロビジョニングされたアプリのパッケージ名

この文字列の起源は不明であり、Microsoft では説明されていません。

答え3

Wingetは、独自のリポジトリとWindowsストアの2つのソースからのパッケージをサポートしています。Windowsストアアプリの場合、アプリにはガイドがあるある意味、これは「異なる」フォーマットに対して「同じ」パッケージを用意しやすくするためであり、Windows ストアは Windows Phone アプリストアの拡張であるように思われます。

興味深いことに、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 を使用します -MSteamsを除くMSも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にはdevIDはなく、製品IDのみです。

7-Zip                                                                                              7zip.7zip                                            19.00                      21.07     winget

ここでの 7zip は winget アプリケーションであり、developer.product ID を使用します。winget リポジトリ上のアプリケーションは、よりシンプルなpublisher.name.(version?) を持つ傾向があります。ここでは、両方とも 7zip です。

ウィンゲットリストコマンドまた他の方法でインストールされたソフトウェアを表示します

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、バージョン番号、パッケージ名です。実際の意味は、プログラムのインストール方法や開発者がリリース方法を選択する方法によって異なります。

関連情報