Have you found yourself spending lots of time trying to keep your software on a management workstation up-to-date? If you are like me, you probably use a myriad of tools, software, utilities, tools, and many other things in your management toolbox installed on your workstation. It can consume a tremendous amount of time trying to keep software up-to-date and running the latest versions. You may have seen the news that Microsoft has officially released Winget 1.0. Let’s take a look at how to install winget 1.0 Windows 10 and upgrade all software using the winget command-line utility.
What is Winget?
For those that have been Linux admins, having a native package manager built into the operating system is something that you are used to and Windows admins have been envious of for years. Up until winget, Windows has not contained a native package management tool. There are great tools such as Chocolatey that have certainly provided this functionality for quite some time. However, it is exciting to now have this built into the operating system as a native package.
Winget is just what we have been talking about – a native command-line package manager that Windows admins can use to keep installed packages up-to-date. Not only are you have to update packages, you are able to install them as well as view information about available and installed packages.
Install Winget 1.0 Windows 10 and upgrade all software
How do you get the latest version, Winget 1.0, installed in Windows 10? The easiest way to get up and running with the latest version of Winget 1.0 is to follow the links below:
- ms-appinstaller:?source=https://aka.ms/getwinget (paste this in browser)- Easiest, this will automatically launch the installer and ask if you want to install the latest App Installer
- https://github.com/microsoft/winget-cli/releases/ – The official Github page
When you use the direct upgrade installer which installs the latest App Installer, you will see the following screen which basically will directly download and update/install your App Installer that you may already have installed with the latest version containing Winget 1.0.
After upgrading the App installer, the following message will be displayed.
How do you see which packages on your system are in need of upgrading? To do that, you run the command:
As shown, this will display a table output showing the packages you have installed and the versions. It will show you the version available on Winget as the source.
To automatically upgrade your packages using Winget 1.0 you run the command:
winget ugprade --all
This will kick off the upgrade of your packages on your system. I did encounter a couple of errors in the process. One is the error you see below with Spotify. The winget utility will upgrade your packages based on the latest versions available on winget.
One thing I will point out is you can type winget settings and it will launch the winget-settings.schema.json file in the editor configured for editing json. I haven’t delved into the possibilities with the settings file as of yet. However, it looks like you will have a wide range of possibilities using the file to control various things with winget. More on that in a future blog post.
However, if you want to read about the possible settings available with winget, you can take a look at the official Github page detailing the various winget settings here:
Scheduling winget to automatically update your software
As I have done with Chocolatey in the past on various workstations, there is the possibility of using winget to schedule automatic updates by means of a batch file or PowerShell file you want to use by means of a scheduled task. You can place the winget upgrade command inside a script file and then call the script file with the schedule task called at a specific interval, such as nightly.
You can install winget 1.0 Windows 10 and upgrade all software easily using the features contained in winget 1.0. It is exciting to know that we now have a native package manager that can be used as a way to install, upgrade, remove, etc software from the command line which will be powerful for automation, builds, lifecycle management, etc.