Microsoft Releases WinGet 1.0

Posted on May 31, 2021 by Paul Thurrott in Windows 10 with 70 Comments

Last week at Build 2021, Microsoft announced the general availability of its Windows Package Manager, also called WinGet. WinGet 1.0 arrives one year after its announcement at Build 2020, and the subsequent controversy in which a developer alleged that Microsoft stole his product and Microsoft subsequently ignored that complaint.

“A package manager is designed to help you save time and frustration,” Microsoft’s Demitrius Nelon explained when the firm announced its plans for WinGet. “Essentially, it is a set of software tools that help you automate the process of getting software on your machine. You specify which apps you want installed, and it does the work of finding the latest version (or the exact one you specified) and installing it on your machine.”

Put another way, WinGet is basically a way to automate the installation and updating of Windows applications that you obtain from outside the Microsoft Store. That is, instead of searching for the software you need on the web and then finding the right page and right software version to install, you can automate this process with WinGet. The only issue for most people? It’s a command-line tool.

WinGet 1.0 will soon be integrated into all supported versions of Windows 10, and IT admins can configure whether this software will be installed via Group Policy. But if you’re interested in getting started now with WinGet, you can download it from GitHub or directly with this link.

I will be covering the Windows Package Manager (WinGet) in the next major edition of the Windows 10 Field Guide as well.

Tagged with ,

Join the discussion!

BECOME A THURROTT MEMBER:

Don't have a login but want to join the conversation? Become a Thurrott Premium or Basic User to participate

Register
Comments (70)

70 responses to “Microsoft Releases WinGet 1.0”

  1. navarac

    So, just as we've been doing on Linux in the Terminal for years. So, could have been (allegedly) stolen then, although it is difficult to be different and do the same function.

  2. brettscoast

    Good post Paul I have always found this tool particularly useful for quick installs on new systems. Ninite.

    Ninite - Install or Update Multiple Apps at Once

  3. JH_Radio

    It'd be nice to have a GUI for this. and make it to be able to show long names.

  4. Sir_Timbit

    There's an article on BleepingComputer that says Winget got flooded with duplicate and malformed apps over the long weekend. Hopefully Microsoft can find the balance between getting apps in the repository but keeping the crap out, and soon.

    • Paul Thurrott

      Hey, they did it with their online store! \cricket
      • dftf

        Some articles online say a major revamp to the Microsoft Store is due soon, relaxing the "UWP" UI and MSIX-only installer formats, to allow Win32 apps in, alongside .MSI and .EXE installers. Hopefully as part of this revamp, they'll delete-out a lot of the current junk!

    • wright_is

      Article on The Register this morning, they are putting in humans to monitor submissions and pull out the dodgy ones...

  5. staggersteve

    Unless there was something in the announcement, did they explain how they verify that the winget packages uploaded by users are legitimate and not malicious?

  6. scovious

    The concept is brilliant, but I would prefer to see a GUI. Hopefully rumors for an open Windows Store are true and something like this will evolve beyond a terminal.

    • dftf

      "The concept is brilliant, but I would prefer to see a GUI"


      It's called the Microsoft Store.


      Alternatively, go into Notepad, create a file with a .BAT extension and then simply add a line for each app you want installed, for example:

      winget install firefox

      winget install adobe-reader

      winget install audacity

  7. Truffles

    While this works really well in unix and variants, I'm not convinced it'll work well in Windows because users are in the habit of direct installing software which sprays .dll's etc all over the place. That confuses the package manager because it no longer knows the state of the system and file dependencies. That in turn leads to the package manager potentially deleting software because it is no longer needed by the software it manages, when in reality there's direct installed software that relies on a particular .dll etc.

    • hrlngrv

      Do many .MSI files and .EXE installers put anything elsewhere than under C:\Program Files and C:\Windows?

      • eric_rasmussen

        Yes, %programdata% and %appdata%. The programdata place is especially nefarious because standard users have create/read permissions to anything under programdata so DLL hijacking is easy for programs that install there.

        • hrlngrv

          We must have very different systems. Standard users lack write permission to %PROGRAMDATA% on my PC. Standard users only have Read & execute and List folder contents, and Read permissions. OTOH, Windows Defender and Power Automate Desktop both have .DLLs in %PROGRAMDATA%; they also have .EXEs there. There are also .EXEs in %PROGRAMDATA%\Package Cache, but it's all from MSFT, not 3rd parties.


          Neither .EXEs nor .DLLs under my %APPDATA%, but lots of both for OneDrive under %LOCALAPPDATA%.


          You win. MSFT can't be trusted.

          • dftf

            "Neither .EXEs nor .DLLs under my %APPDATA% ..."


            Some apps do install into the %AppData% folder.


            If you're not an administrator on your machine, then Google Chrome (the .EXE "web installer", not the .MSI version) will install Chrome into the AppData\Local\Google\Chrome folder; and Spotify installs into AppData\Roaming\Spotify if I recall right.


            Apps clearly shouldn't do this, as it breaks convention; but it's how they get-around non-admin users. The correct thing is that the install should fail and say "you do not have admin rights, install cannot continue"... but that would mean they lose a potential user or customer.

  8. dftf

    While this is a nice addition, it's not something around 90% or-so of the typical Windows userbase will ever use.


    While I'm not sure Paul has covered it, a number of sites have recently reported that a major revamp to the Microsoft Store is coming, and one major change is that Win32 apps will (finally!) be allowed in; no-more having to create a "Modern UI" (UWP) version. Both .MSI and .EXE (scriptable only) installer formats will also be admitted. So, finally, this means all the most-common web-browsers, like Brave, Firefox, Google Chrome, Opera and Vivaldi, can all enter the Store, along with loads of other apps.


    Only took them, what... nearly six years to finally decide to do the obvious!

    • hrlngrv

      | it's not something around 90% or-so of the typical Windows userbase will ever use.


      Neither is Powershell, so should MSFT scrap it?


      | a major revamp to the Microsoft Store is coming . . . .EXE (scriptable only)


      If that last means I can't choose to install to directories other than C:\Program Files, I'll still be seeking out installers from ISV's sites.


      How much will MSFT charge ISVs for ISVs putting their software in the store?


      FWIW, I haven't had issues using various programs' Check for Updates features. Portable versions of Firefox and Waterfox handle it just fine.

      • dftf

        You won't be able to change the install directory for Store installs, no: they'll go into the default the developer specifies.


        You know, like how it works on Android and iOS.


        If you want to install to your own directory preferences, continue to obtain the installers manually.


        But for the vast majority of users, having more apps in the Store is a good thing.


        And no, there won't be any listing charge for any app that is free. (And I think Microsoft recently said they were lowering the cut they take for all paid apps in the Store to 12%...)

        • hrlngrv

          | You know, like how it works on Android and iOS.


          Which are phone OSes (including tablets as oversized smartphones which can't make voice calls).


          When I want to use a phone, I use a phone. When I want to use a PC, I DON'T want to use a phone OS.


          Granted I'm not the target audience, but I suspect there could be less sophisticated users who could be running out of free space on C: but want to install some new software package. Would they really need to uninstall something else first even if they had a perfectly usable D:, E: or Z: drive?


          | there won't be any listing charge for any app that is free. (And I think Microsoft recently said they were lowering the cut they take for all paid apps in the Store to 12%...)


          Is there any reason other than cheapness that MSFT hasn't already put as many FOSS titles in its Store as possible? Granted MSFT employees might have had to put them in Store packages, but that's been a possible source of a lot more software titles for years.


          For that matter, would MSFT blaze the trail and put its own R Open in its own Store?


          As for a mere 12%, there'll still be lots of ISVs who'll hold out for 0%. Why should they let MSFT take 12% if they already have distribution channels which are working for them which don't involve MSFT?

          • dftf

            "Granted I'm not the target audience ..."


            No, so just continue to install your apps manually. But things like winget and the Microsoft Store will help your average-user to avoid downloading apps from dodgy, third-party sites.


            "... there could be less sophisticated users who could be running out of free space on C: but want to install some new software package. Would they really need to uninstall something else first even if they had a perfectly usable D:, E: or Z: drive?"


            (1) Right now in Windows 10 you can go to Start > Settings > System > Storage and click "Change where new content is saved".  Then, under "New apps will save to", you can pick a different drive.  I'm not-sure if this will affect where Win32 apps install to, once they enter the store, but maybe.


            (2) Also, isn't the "Storage Spaces" feature designed for the scenario you describe? If your "C" drive is low on space, you can "pool" multiple drives together to act as one.


            "Is there any reason other than cheapness that MSFT hasn't already put as many FOSS titles in its Store as possible?"


            Because until now Microsoft had two requirements for an app to go in the Store: (1) it had to be in UWP (Modern UI) format, not Win32; and (2) it had to be distributed in the MSIX installer-format (no MSI or EXE installers). This was largely a holdover from when they actually had their own Phone OS: hence why they're ditching the requirement in future.


            "As for a mere 12%, there'll still be lots of ISVs who'll hold out for 0%. Why should they let MSFT take 12% if they already have distribution channels which are working for them which don't involve MSFT?"


            That's up to them... the Microsoft Store could offer some app discoverability, and some devices might be locked-down to only install apps from the Store.  But sure, developers can host the app-installer on their own website and bypass the Store as they please.  Isn't it nice to have choice?

            • hrlngrv

              You're struggling with consistency.


              | While this is a nice addition, it's not something around 90% or-so of the typical Windows userbase will ever use.


              | But things like winget and the Microsoft Store will help your average-user to avoid downloading apps from dodgy, third-party sites.


              Or are you drawing a distinction between typical and average Windows users?

              • dftf

                I don't see any inconsistency: just because I mention an advantage of winget, it still remains the case that the same benefit -- i.e. apps come from what should be a vetted, safe repository, not random download-sites -- is also true for the Microsoft Store.


                And because the Microsoft Store is GUI-based, not CLI-based, it will be the option most-users go to.


                You seem to be under the impression I've somehow said winget shouldn't be added to Windows 10, hence you flagging me up for me stating a benefit. But I've said clearly I think it should be added, as some users will use it -- it's just not going to become some major "killer-feature" in my view, that's all.


                I mean, likewise, I think it's great Microsoft have support to use a Linux terminal and, soon, run GUI Linux apps in Windows 10. But, again, it's not something the vast majority of the userbase will ever use (let-alone probably even know exists, or care that it does).

          • wright_is

            Is there any reason other than cheapness that MSFT hasn't already put as many FOSS titles in its Store as possible?


            Because they can't. That is up to each project to implement, probably not a priority.


            Can you imagine the uproar, if you were suddenly downloading Microsoft Gimp, Microsoft MariaDB, Microsoft Darktable, Microsoft Audacity? They'd be breaking trade marks and copyright, even if it is open source. (Because the apps are still "issued" from a publisher and if Microsoft is putting them in the store itself, they will all appear to be Microsoft products, that will get the FOSS feathers flying in a heartbeat!)


            They'd either have to branch each project and take it on, or they would need to work with each project to help them get it into the store. The latter would be the way to go, but how many projects would be receptive? (Many don't even offer a proper installer for Windows)

            • hrlngrv

              You don't understand FOSS.


              MSFT couldn't brand Microsoft Gimp. OTOH, it could package Gimp for its Store. There's nothing I'm aware of in the GPL which would prevent that.


              Granted the maintainers of InkScape and Okular are the ones who packaged those titles for the MSFT Store, but there's no requirement only they may do so. FWIW, there was an independent effort to package Notepad++ for the MSFT Store, and there may be an old version still in the Store. However, that effort was notable for the blog those developers wrote about just how huge a PITA is was trying to put Notepad++ into a Store package and have it work as expected when installed.

              • wright_is

                It isn't branding, per se. But the app has to have a publisher on the store, so it would be named "Microsoft Gimp", the package itself wouldn't be, once it is installed.

                • hrlngrv

                  I mentioned a few FOSS projects in the MSFT Store. Inkscape shows publisher Inkscape, and Okular shows publisher KDE e.V. One of the unofficial Notepad++ titles shows publisher Hauke Hasselberg. I figure any MSFT employee could appear as publisher.

            • dftf

              "... That is up to each project to implement, probably not a priority."


              It's not that it isn't a priority for some developers to put their apps into the Microsoft Store, it's that Microsoft's rules have been that you must repackage in the MSIX installer format, and submitted apps should be in UWP format, not Win32. Once Win32 apps are allowed as-standard, and MSI and EXE installer formats permitted, this should change.


              "Can you imagine the uproar, if you were suddenly downloading Microsoft Gimp, Microsoft MariaDB, Microsoft Darktable, Microsoft Audacity?"


              Well, right-now if I go into the Microsoft Store and do a search for "LibreOffice" I can see LibreOffice Vanilla for £8.39, offered by "CIB Software GmbH"; LibraOffice, by "varapps", for £2.29; and LibroOffice by "MYTA4444" for £2.39.


              Similarly, Audacity is on-offer from "PegasusApps" for £3.29, "Blusky Software Inc" for free, and "Audiotool" for £4.19.


              Notepad++ is unofficially hosted for-free by "Hauke Hasselberg"; as is "7-Zip" (as well as by "EcomQ").


              GIMP is hosted for free by "Yellow Elephant Productions" and "CoolLeGet Produtions", or for £2.89 by "MYTA4444".


              Blender is actually hosted officially; about one of the only ones I can find that is!


              I'm not sure the current situation is much better... loads of apps being hosted by unofficial sources, or people reselling what should be free software by changing the name and branding!

      • dftf

        And no, of course I'm not suggesting to scrap it. It's a useful feature.


        My point is just that it's a "geek" feature that most users will never use or encounter.


        And to keep Windows feeling fresh and likes it's evolving, they also need to add more features or UI improvements that most users will actually notice.

        • wright_is

          It isn't a geek feature, it is a professional system administration feature.

          • pwingert

            Actually that's what PowerShell DSC is. We've been using it for years. Smaller operations just don't get that PowerShell is a complete DevOps platform that is set up and used correctly. Most SMBs don't have anyone that even knows about PowerShell let alone the DSC package of functions. I went into an SMB recently that had some issues with packages and deployment to multiple machines on a network. Two PowerShell commands and it was done! It's the easiest $500 I've made all month.

    • wright_is

      This is more for admins. You can centrally roll out a script to install standard packages, or you can have a script to install/update all the standard packages on a new build. E.g. a 3 month old image with all standard software installed, on first boot a script is run that updates any and all packages.

      • dftf

        Won't most admins already be using an app-deployment solution like SCCM already? Maybe winget could take over in some cases (e.g. a small business where they get Windows Updates direct from Microsoft, rather than in-house via something like WSUS). But there are many companies who still image machines in an offline fashion using either a dedicated LAN, or via USB flash-pens -- "winget" needs an Internet-connection, so won't be of much-use in those scenarios.

        • wright_is

          I'd love SCCM, but we have an imaging server and WSUS and the rest is installed per hand. Luckily that is usually just Office 365 (scripted), 7Zip and Adobe Reader.

        • behindmyscreen

          You don't think this functionality will be integrated into SCCM?

          • dftf

            Maybe, but who knows... it's not uncommon for Microsoft to have multiple software or solution offerings which have similar functionality.


            I mean, assume your Windows 10 device right-now is running 20H2 and you want 21H1 on there, but when you go to Windows Update it's not offered. Is the correct tool to use the "Media Creation Tool" and pick the "Upgrade this PC now" option, or to use the "Windows 10 Update Assistant", which essentially also does the same task?

    • alistat

      In Linux, most people use it because they copy paste commands from online guides.

      For both the author and the reader, it's a lot easier to copy paste a command than follow a full pipeline of steps with clicks, menu selections, tab navigations etc

  9. ulrichr

    If you are worried about the fact that it's a command line product, check out winstall - GUI for Windows Package Manager, which provides a GUI for WinGET. Paul, wasn't this written by someone associated with Thurrot.com?

  10. Alex Taylor

    Looking at the screenshot I don't see an obvious way to list the available (vs installed) packages?

    Do i just try all my application names and see if it finds them?

    Or does it provide an equivalent of linux cnf (command not found)?


    So far looking like less of a solution than Ninite, though if the availability of software is wide and MS or third parties make it more approachable, that could change.

    • hrlngrv

      winget search list shows all available packages.


      winget list shows all installed packages, even those not shown by the command above.


      You could redirect output from both to text files then use findstr /v /g:installed all to display available and not installed.


      Downside: packages with longer names aren't shown in full, e.g.,


      Microsoft Visual C++ 2015-2019 Redistributa…


      which makes it more than just a PITA to use the listings.

    • thespecificocean

      You can see all installed apps by typing winget list. And/or you can type Winget Search "app name you want to download," if it's available through Winget then you can install it with the name typically with "developer.app name"

  11. hrlngrv

    I LOVE IT!


    winget uninstall Cortana worked!

    • Pierre Masse

      Now, who's gonna remind you of your wife's birthday?

    • dftf

      You could likely have done this before now with the old methods:


      In PowerShell, run Get-appxpackage to see what's installed; once you find the internal name, add it to the command: Get-appxpackage -allusers <internalnamehere> | Remove-AppxPackage


      Or it might be a feature you can turn-off in an admin Command Prompt via: DISM /online /Disable-Feature /FeatureName:<insertnamehere>

      • pwingert

        PowerShell DSC is the solution to all this.

      • hrlngrv

        I've been trying get-appxpackage "*cortana*" | remove-appxpackage for YEARS to no effect. Powershell has consistently reported that it's an OS feature which couldn't be removed.


        I have no interest in merely disabling Cortana. Nuking it is the only acceptable option for me. I accept that others may not share this opinion.

        • davehelps

          In a fun world, the error message would have been “I’m afraid I can’t do that Dave” ?

        • pwingert

          Get started rewriting the kernel and make your own OS. Cortana has core routines in the Windows Kernel...there is no way to remove it.

          • hrlngrv

            | there is no way to remove [Cortana]


            And yet winget did remove it to the extent it no longer appears in the Start menu; also, press [Win]+S, type Cortana, and there's no entry to run Cortana. OTOH, C:\Program Files\WindowsApps\Microsoft.549981C3F5F10_2.2105.19803.0_* are still in place.

        • dftf

          It's probably not called Cortana, internally, that's why. You need to look at the "PackageFullName" line. It'll be something like "Microsoft.549981C3F5F10_2.2005.5739.0_x64__8wekyb3d8bbwe".


          If you really can't accept it installed whatsoever, you could also consider using NTLite to rip it out of a Windows 10 install-image and then install a PC using that image (or use DISM and target the offline .WIM file)

          • hrlngrv

            Nice try, but I'd run


            get-appxpackage "*something*"


            before adding | remove-appxpackage to the Powershell command. Replace something with cortana in the command above, and Windows 10 did display it.

            • hrlngrv

              In fairness, that was several versions back that MSFT made it simple to identify Cortana. That changed a while back, dunno whether in 2020 or 2019. but MSFT decided they needed to change the package name to a string of hexadecimal digits probably to make it harder to find and disable Cortana. Yes, Pro and enterprise customers could use group policy to disable Cortana, but home users either had to edit the registry directly or use takeown+icacls to give Administrators full control, then rename the Cortana package directories in order to make it so Windows couldn't load it.


              Cortana is an outstanding example of bloat. It should be easier to remove it, at least as easy as it is to remove Internet Explorer.

Leave a Reply