Installing winget

What

winget is a command line tool to manage applications on the Windows 10 and 11 platform. It uses Visual C++ which also needs to be installed or updated. You'll find the Microsoft reference on winget here: Use the winget tool to install and manage applications.

When/Why

Before we can use winget, of course it must be installed.  On any Windows Device, you'll be looking for the Microsoft App Installer, as shown:

WingetApp.png

If this App is not listed in Add/Remove Apps and Features, then you will need to install it.

Just running the winget command from a PowerShell prompt is also an easy way to test if the App Installer is present on an individual machine.  If doing so en masse, the custom field example listed in the "Authorizing" article will work as well (every device that has no value in the custom field will need the install).

How

If winget (App Installer) is not installed, it can be downloaded from https://github.com/microsoft/winget-cli/releases/ (latest) and installed through FileWave in simple PowerShell script (sample along with a Fileset provided below).  Note that it is the msixbundle that we'll want to download:

WingetApp2.png

# PowerShell can do the install for us, we just need to point to the file we downloaded from the above
# install the manually downloaded winget utility assumes msixbundle in same directory as the PowerShell script
#Install WinGet MSIXBundle 
Try 	{
	Write-Host "Installing MSIXBundle for App Installer..." 
	Add-AppxProvisionedPackage -Online -PackagePath ".\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle" -SkipLicense
	Write-Host "Installed MSIXBundle for App Installer" -ForegroundColor Green
	}
catch {
	Write-Host "Failed to install MSIXBundle for App Installer..." -ForegroundColor Red
}
exit 0

The above is just a simple example of the Add-AppXProvisionedPackage command, but the below shows using this command to install the desktop app installer (a PowerShell activation script, with the msix file in the same location).

Note that you must also make sure Visual C++ Redistributable is updated. Below is both a winget as well as a vc++ Fileset to get you started. The vc++ will need to be updated when v17 is released.

See the script to see how it works.

Microsoft VC++ v17 Fileset
FileWave Download.png
Microsoft Winget Fileset
FileWave Download.png

WingetFileset1.png