microsoft / winget-cli

WinGet is the Windows Package Manager. This project includes a CLI (Command Line Interface), PowerShell modules, and a COM (Component Object Model) API (Application Programming Interface).
https://learn.microsoft.com/windows/package-manager/
MIT License
23.18k stars 1.45k forks source link

Packages from "msstore" source aren't visible in `list` or `export` #1562

Open arnavbhate opened 3 years ago

arnavbhate commented 3 years ago

Brief description of your issue

When I run winget search for an MS Store app, all the apps from the store show IDs that are just a sequence of numbers and capital letters of fixed length. Winget also doesn't show any source for MS Store apps with winget list.

Steps to reproduce

  1. Open command prompt
  2. Run winget search Whiteboard

Expected behavior

The MS Store apps have their MS Store IDs as the IDs in winget.

Actual behavior

Example:

G:\>winget search Whiteboard
Name                                           Id                             Version Match           Source
-------------------------------------------------------------------------------------------------------------
Microsoft Whiteboard                           9MSPC6MP8FM4                   Unknown                 msstore
Miro: online collaborative whiteboard platform 9N236HQQTVNH                   Unknown                 msstore
Mediabyte Whiteboard                           9NLXHHMHML2M                   Unknown                 msstore
ITP WhiteBoard Live                            9PF2799CX6JW                   Unknown                 msstore
LYNX Whiteboard                                9NP33M4M3R35                   Unknown                 msstore
Imaging Whiteboard                             9N2CXSZG7FR4                   Unknown                 msstore
Digital Whiteboard RT                          9WZDNCRDKCH9                   Unknown                 msstore
Whiteboard - Draw Your Ideas                   9NXFV475DL12                   Unknown                 msstore
Basic Whiteboard                               9WZDNCRDBZK3                   Unknown                 msstore
VTDC_Whiteboard                                9NBLGGH5FPKL                   Unknown                 msstore
Rainbow Board                                  HarshKhandeparkar.RainbowBoard 0.8.0   Tag: whiteboard winget
Miro                                           Miro.Miro                      0.6.3   Tag: whiteboard winget

Environment

[winget --info]
Windows Package Manager version v1.1.12701
Windows: Windows.Desktop version v10.0.19044.1263
Package: Microsoft.DesktopAppInstaller version v1.16.12701.0

Any other software?
denelon commented 3 years ago

@arnavbhate

The store source is a front end for existing technologies. The "Id" values simply need to be unique rather than human readable. We do have work coming to improve these, but it's more for us humans to be able to make some sense out of them 😁.

I have commented on other issues the state of "list". We have a couple of other related issues we're working on to improve the matching logic so we can bring the matching source back for "list" and subsequently "export".

Related to:

I will change the title of this issue to capture "list" and "export" since you were the first to report it in a top level ask.

arnavbhate commented 3 years ago

It used to work before when store support was experimental. Did the addition of all store apps mess it up?

denelon commented 3 years ago

The earlier experimental source was just a subset of packages that had been curated. The new source combines several back end systems into a unified REST source implementation the Windows Package Manager can interact with. We're actively making improvements on the search experience, and the mapping between entries in the store and how they are installed in Apps and Features. As soon as the correlation has been improved, we will re-enable the list and export commands for the "msstore" source.

TechWatching commented 2 years ago

Hi @denelon . I was just wondering what was the ETA on this one ?

denelon commented 2 years ago

@TechWatching I don't have an ETA on this one. We're working on several improvements to matching. The current behavior supports export if the package from the store was installed via winget. We are working on improvements to validation to help enrich the manifests in the "msstore" source to include the "AppsAndFeatures" entries so we can have higher confidence. The back end for the "msstore" source is quite different than the "winget" source. We've been working with the Microsoft Store teams to improve the experience all up. We requested getting version as a higher priority so the upgrade flow and a couple of other scenarios work better for the store-based Win32 packages.

giggio commented 2 years ago

I just tried a winget export and it showed one app from the msstore source:

{
    "$schema" : "https://aka.ms/winget-packages.schema.2.0.json",
    "CreationDate" : "2022-10-19T13:14:09.586-00:00",
    "Sources" : 
    [
        {
            "Packages" : 
            [ // cut for brevity
                {
                    "PackageIdentifier" : "Microsoft.PowerShell"
                }
            ],
            "SourceDetails" : 
            {
                "Argument" : "https://cdn.winget.microsoft.com/cache",
                "Identifier" : "Microsoft.Winget.Source_8wekyb3d8bbwe",
                "Name" : "winget",
                "Type" : "Microsoft.PreIndexed.Package"
            }
        },
        {
            "Packages" : 
            [
                {
                    "PackageIdentifier" : "9PKJV6319QTL"
                }
            ],
            "SourceDetails" : 
            {
                "Argument" : "https://storeedgefd.dsx.mp.microsoft.com/v9.0",
                "Identifier" : "StoreEdgeFD",
                "Name" : "msstore",
                "Type" : "Microsoft.Rest"
            }
        }
    ],
    "WinGetVersion" : "1.4.2161-preview"
}

This matches with what winget list shows. Only 1 store app. The strange thing is that I have dozens of store apps installed, but only this one shows up. BTW, that app with id 9PKJV6319QTL is PureText.

Also, winget list --source msstore is completely wrong, it shows all the apps, not filtering for the source.

denelon commented 2 years ago

The "one" entry you have is likely to have been installed via WinGet. We're still doing some heavy lifting to improve matching against the "msstore" source. We were getting too many "false positives" in terms of matching entries from the "msstore" store source, so we disabled the global matching in winget list which also logically drives the output to winget export. Improvements are in progress, and we're working to be able to re-enable this capability.

denelon commented 1 year ago

When running winget list -s source the original design was to match installed packages with the specified source if there is a match across multiple sources.

We have an Issue tracking improvements to make it work more like a filter:

TaliaFlor commented 1 year ago

Is there an update on this issue? I just did an export and still none of the Store apps were exported, just the winget ones.