would disagree with the classification of winget as being a package manager.
It does not have packages, therefore, it cannot be a package manager.
Behind the scenes, winget pulls available packages from a github repository; winget-pkgs.
The individual “packages” are actually
.yaml manifests that contain metadata about the software.
This is things like the version, description, author, download url(s), checksums, installer type, etc.
winget install is run, it will pull the download url from the manifest, download from the software author’s website, and then install based on the installer type in the manifest.
So there is no one individual thing you can download and install like
Granted, with Chocolatey, many packages on the community repository do not include the software inside the
.nupkg but instead download it separately due to licensing or size reasons.
But with winget, there is simply not the option to have one file that contains all you need to install something.
This may seem like a fairly arbitrary distinction, but it does matter to anyone doing the self hosting thing.
This is because it is fairly easy to set up a Chocolatey repository that will work completely offline; giving you complete control over the packages, while still being able to re-use a lot of the community packages.
And if the community repository does not have a package, or it does not work the way you like, it is possible to set up automation to update the package version in the repository with AU, which even runs on Linux now.
While with winget, the tool that is primarily used to update the manifests is not available publicly last I checked.