Windows Package Manager

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Windows Package Manager
DeveloperMicrosoft
Initial release ()
Repositorygithub.com/microsoft/winget-cli
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemWindows 10, Windows Server 2025, or later
    Platformx86, x86-64, ARM32, ARM64
    Size~23 MB
    Available inChinese (Simplified), Chinese (Traditional), English, French, German, Italian, Japanese, Korean, Portuguese (Brazil), Russian
    Websitelearn.microsoft.com/en-us/windows/package-manager/

    The Windows Package Manager (also known as winget) is a free and open-source package manager designed by Microsoft for Windows 10, Windows 11, and Windows Server 2025.[1] It consists of a command-line utility and a set of services for installing applications.[2][3] Independent software vendors can use it as a distribution channel for their software packages.

    History

    [edit | edit source]

    Windows Package Manager was first announced at the Microsoft Build developer conference in May 2020.[4][3]

    Before deciding to develop Windows Package Manager, the team behind it explored Chocolatey, Scoop, Ninite, AppGet, Npackd and the PowerShell-based OneGet.[3] After the announcement of winget, the developer of AppGet, Keivan Beigi, claimed that Microsoft interviewed him in December 2019 under the pretense of employment and acquiring AppGet.[5] After talking with Beigi, Microsoft allegedly ceased communication with him until confirming one day before the launch of winget that they would not be hiring him. Beigi was dismayed at Microsoft's lack of attribution of AppGet. The release of winget led Beigi to announce that AppGet would be discontinued in August 2020.[5][6][7] Microsoft responded with a blog post crediting a number of winget's features to AppGet.[8][9][10]

    Microsoft released version 1.0 of Windows Package Manager on May 27, 2021. The Microsoft Community Repository included over 1,400 packages at that date.[11] By May 2025 it had reached 9,000 packages.

    Overview

    [edit | edit source]

    The winget tool supports installers based on EXE, MSIX, and MSI.[12] The public Windows Package Manager Community repository hosts manifest files for supported applications in YAML format.[13] In September 2020, Microsoft added the ability to install applications from the Microsoft Store and a command auto-completion feature.[14]

    To reduce the likelihood of non-Microsoft-approved software, including malicious software, making its way into the repository and onto the target machine, Windows Package Manager uses Microsoft SmartScreen, static analysis, SHA256 hash validation and other processes.[15][16]

    Various limitations apply to which packages that are added to the winget manifest repository. Among them as of 1.10 is that the software must support silent installations (unless it is a fully portable software), cannot be a .tar.gz, .7z, or .rar compressed folder, cannot wholly require hardwares (e.g. NVIDIA drivers), cannot be a self-extracting archive, cannot solely support ARM and/or ARM64,[17] and the software host cannot return HTTP 403 or time out when downloading through winget.

    The winget client source code and the community manifest repository are licensed under MIT License and hosted on GitHub.[18][13]

    It does not support automatic package updates on timed schedules. Various third-party tools like Winget-AutoUpdate are designed to fill those gaps. Winget also does not support building from programs' source codes.

    Commands[12]

    [edit | edit source]
    Name Description
    configure Configures the system into a desired state
    export Exports a list of the installed applications
    features Show status of experimental features
    hash Hash installer files
    import Install all the applications in a file
    install Install the given application
    list Display installed applications
    pin Manage package upgrade pins
    show Show information about the given application
    search Search and show basic information of applications
    settings Open winget configuration settings
    source Manage application sources
    upgrade Upgrades the given application
    uninstall Uninstall the given application
    validate Validate a manifest file

    Examples

    [edit | edit source]

    Search for and installs variable $PKG_ID:

    winget install --id=$PKG_ID -e
    

    List all installed packages:

    winget list
    

    Update all packages:

    winget upgrade --all
    

    Search for all available packages:

    winget search .
    

    Package ID examples

    [edit | edit source]

    See also

    [edit | edit source]

    Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ a b c Windows Package Manager Preview | Windows Command Line
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    9. ^ Microsoft gives AppGet creator credit for Windows Package Manager - Neowin
    10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    12. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    13. ^ a b GitHub - microsoft/winget-pkgs: The Microsoft community Windows Package Manager manifest repository
    14. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    16. ^ How to Use Windows Package Manager - Petri
    17. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    18. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    19. ^ "Winget PKG of Visual Studio Code" https://winget.run/pkg/Microsoft/VisualStudioCode
    20. ^ "Winget PKG of Google Chrome" https://winget.run/pkg/Google/Chrome
    [edit | edit source]