October 5th, 2021

Windows Package Manager 1.1

Demitrius Nelon
Senior Product Manager

I’m excited to share some great news. We’re releasing Windows Package Manager 1.1. We’ve squashed some annoying bugs and added some highly anticipated features. The Windows Package Manager is being released to Windows 10 (build 1809 and newer) and Windows 11 as an automatic update via the Microsoft Store. The moment we’ve been waiting for has finally arrived. Grab yourself a cup of coffee (or any other favorite beverage). Don’t worry; I’ll wait. Cheers!

Client

The team has been busy over the last few months making improvements and adding new features. The most notable new feature is access to apps in the Microsoft Store. The client now ships with two sources configured. One of them is the Windows Package Manager app repository, and the other is the Microsoft Store.

Running `winget` in Windows Terminal displays the Windows Package Manager version and the help text for commands.

All Windows Package Manager commands and features have been documented at Microsoft Docs. I also covered most of the basics in the Windows Package Manager 1.0 announcement.

How do I get it?

You might already have it from an automatic update via the Microsoft Store. Launch your favorite terminal (I prefer Windows Terminal ) and run winget. If you see the help menu , you’re ready to go (that’s the image above). You can also confirm the version in the first line of output from the help menu (Windows Package Manager v1.1.12653 on Windows 10 or v1.1.12663 on Windows 11). If not, the Windows Package Manager is distributed with the App Installer from the Microsoft Store. You can also download and install the Windows Package Manager from our GitHub release, or just directly install the latest available released version.

The App Installer entry in the Microsoft Store.

If you want to continue receiving development builds, we will continue to publish those to Windows Insiders Dev Channel builds and Windows Package Manager Insiders. Instructions are available at GitHub describing your options for installing the Windows Package Manager and signing up for our insider program.

Windows Package Manager App Repository

More than 2,600 packages are available in the Windows Package Manager app repository. Just run winget search <SomePackage> to see if the package you are looking for has already been submitted. You might see what you’re looking for in the new Microsoft Store source as well (customization tips below). If you don’t see what you’re looking for, feel free to submit it. I suggest using the Windows Package Manager Manifest Creator.

Windows Package Manager Manifest Creator Preview

If you are a software publisher or an ISV, you might want to skip this part and get registered so you will be able to submit your application to the Microsoft Store. If you want to add an application to the Windows Package Manager app repository, you’re going to want to winget install wingetcreate. The tool is currently in preview and details can be found at the Windows Package Manager Manifest Creator GitHub repository.

Running `wingetcreate` in Windows Terminal displays the Windows Package Manager Manifest Creator version and the help for commands.

Private App Repositories

We announced support for private app repositories with the Windows Package Manager 1.0 release. We have continued to extend capabilities like establishing a source agreement users must accept to use your source and supporting an arbitrary value the client can pass to a server so you can build custom behaviors.

Customization Tips

We built the Windows Package Manager with developers in mind. Several customizations are possible from configuring your progress bar to working with multiple sources. Just run winget settings and you will be able to customize the experience to match your preferences or requirements. Everything you need to know for settings is well documented.

Working with multiple sources is another area you may want to customize. If you want to narrow results down to a specific source, just pass the --source or -s parameter and specify what you want. For example, you might want to see if Visual Studio Code is in the store by running winget search “Visual Studio Code” -s msstore. This search is using the name for a package.

Running `winget search “Visual Studio Code” --s msstore` in Windows Terminal displays the entry for Visual Studio Code in the Microsoft Store.

Or you might want to get the latest insider build from the Windows Package Manager app repository by running winget install vscode-insiders -s winget. This install command is using the moniker for the Visual Studio Code Insider package. One note to call out here is we don’t have monikers for packages in the Microsoft Store.

Running `winget install vscode-insiders -s winget` in Windows Terminal installs the Visual Studio Code Insider package from the default Windows Package Manager “winget” source.

In the next example, you will see search results spanning across multiple sources, and using the “Id” from the entry in the Microsoft Store source to install Visual Studio Code. Note the agreement can be accepted via the command line using --accept-package-agreements.

Running `winget search “Visual Studio Code” in Windows Terminal displays results from the Windows Package Manager Microsoft Store “msstore” source and the Windows Package Manager app repository “winget” source. Then running `winget install XP9KHM4BK9FZ7Q` displays the agreements for Visual Studio Code from the store and prompts to continue. When “Y” is entered to accept the agreement, Visual Studio Code is installed from the Microsoft Store.

Our default behavior is to search across all configured sources. If you want to remove a source, use an administrative prompt and run winget source remove <source>. If you want the default sources added back, use an administrative prompt and run winget source reset --force. When more than one source has a strong match, you will be asked to disambiguate the results. The image below shows what would happen in this case.

Running `winget install “Visual Studio Code” in Windows Terminal displays the following message. Multiple packages found matching input criteria. Please refine the input.

IT Professionals

As an enterprise administrator you may want to manage Windows Package Manager using Group Policy. I’ve written an article to help you. Your users are also able to see any configured policies using winget --info.

Open Source

We’ve been developing the Windows Package Manager, the Windows Package Manager app repository, the Windows Package Manager Manifest Creator, and the reference implementation for private repositories at GitHub. Feel free to submit feature requests and bugs via GitHub Issues. If you have questions, feel free to start a GitHub Discussion. We look forward to your feedback.

References

Author

Demitrius Nelon
Senior Product Manager

I'm a product manager at Microsoft working on the Windows Package Manager. I've worked at a few other companies you might have heard of like Amazon, Verizon and VMWare, and a few you might not have heard of like FlashNet and Unbound Technologies. I love building products and digging into useless trivia.

3 comments

Discussion is closed. Login to edit/delete existing comments.

  • Balazs Szakmary

    Any plans for supporting Windows Server? I would love to manage my build agents with Winget.

  • Joe Finney

    Exciting update! Congrats on the release. As I’m experimenting with searching for my own apps in the Microsoft Store I was getting no results. Do you only show free apps?

  • Egor Zakharov

    We still can’t use winget from WinRM session, isn’t it? 🙁
    This is the last thing why I still need to use chocolatey…