Today, Microsoft is releasing an update to Windows Package Manager, also known as winget, bringing it to version 1.2. This package manager was introduced almost two years ago, and it is intended to give users an experience closer to something like chocolate, or package management or Linux experience. This release comes with a few improvements, but the most notable is the improved support for ARM devices like the Surface Pro X.
With this update, Windows Package Manager will install the correct version of an application based on your hardware architecture. If you have an ARM PC, this means the Windows Package Manager will prefer packages designed to run natively on ARM64. If there is no native ARM version of an app, it will choose the next best option, which would be an x64 app (x86-64, technically), then an x86 version. This ensures that you will always get the best performing version of an application for your system.
Other improvements in Windows Package Manager 1.2 are a little less obvious, but welcome all the same. Improvements have been made to error handling so that “encrypted” error codes can be more easily understood. Developers can use the application manifest to link an error code in the installer to a set of codes understood by the Windows Package Manager, resulting in more error messages clear to the end user.
Finally, there’s a new option to enable or disable local manifests in the Windows Package Manager, in case you want to test installing an app from a local source. This can be useful for testing before submitting an app to the official public app repository. Microsoft recommends always testing local manifests in a virtual machine or Windows Sandbox to avoid damaging your PC.
Windows Package Manager 1.2 is available as an update through the Microsoft Store. As usual, it should arrive as part of an update to the App Installer package, which is built into Windows 10 and 11. You can also check the the project page on GitHub if you want to contribute to the development.