Windows 10 includes a package management tool built into PowerShell. In the final version, it’s named “PackageManagement”, but it’s still based on an open-source project named OneGet.
PackageManagement (aka OneGet) isn’t technically a package manager. It’s a package manager manager — a framework and set of PowerShell cmdlets that can manage different types of software from different places in a standardized way.
What is PackageManagement / OneGet?
We previously broke the story about OneGet, and tried to clarify exactly what it is. If that isn’t enough information for you, developer Garret Serack also wrote an informative post titled “10 things about OneGet that are different than you think.”
Essentially, PackageManagement (based on an open-source project named OneGet) is integrated into PowerShell and thus Windows 10. It aims to bring together a variety of different package management techniques and software installation frameworks into a single API along with a standard set of PowerShell cmdlets for managing software.
In its initial state, at least, this isn’t a tool designed for the average Windows 10 user or even the geek. Microsoft doesn’t actually host any “OneGet repositories” — in fact, there’s no such thing. OneGet can be used along with providers to enable access to software repositories, which can then be managed with standardized cmdlets. This is designed for system administrators. For geeks comfortable with the command line, OneGet once offered a Chocolatey provider for installing desktop applications hosted in Chocolatey. However, OneGet isn’t designed to work only with Chocolatey — initial versions of OneGet had a Chocolatey provider as a proof-of-concept, but this has now been removed.
You can also install and use this tool on other versions of Windows, as it’s part of the Windows Management Framework (WMF) 5.0.
How to Use PackageManagement / OneGet
PackageManagement is a set of cmdlets for PowerShell, so you’ll need to open the Windows PowerShell application to use it. Run the following command to see a list of available cmdlets:
Get-Command -Module PackageManagement
(Note that Get-Command -Module OneGet won’t work, as it’s been renamed to PackageManagement.)
In the final release version of Windows 10, there’s not a lot going on with PackageManagement yet. This feature was most interesting for its integration with Chocolatey for easily installing Windows programs from a single source when it was introduced. Chocolatey can still be used on Windows 10 without the aid of PackageManagement / OneGet, however.
The Get-PackageProvider and Get-PackageSource cmdlets will show you which package providers and sources are available. You can use Register-PackageSource to install a package source. This cmdlet requires an URL for the source, so you’ll need to know exactly what you want to add and where it’s located to add it.
For example, when there’s a Chocolatey provider is developed by the community, you can add it to your system with this cmdlet. The Unregister-PackageSource cmdlet can remove such a package source.
If you need to use PackageManagement to install software from somewhere, you’ll need to use the above Register-PackageSource cmdlet to ensure the source is registered in PackageManagement. After you have, you can search, install, and uninstall available packages with the following cmdlets.
The Find-Package cmdlet will allow you to search your configured package sources for it and the Install-Package cmdlet would allow you to install it. The Uninstall-Package cmdlet will uninstall a package you’ve installed via these cmdlets:
This is designed to be a simple, standardized way to install different types of software from different sources packaged in different forms. With Windows 10 and PackageManagement launching, we might expect to see more integration with a variety of different potential software sources for everything from quickly setting up servers to automatically installing software on new PCs when setting them up.
For more details, consult Microsoft’s official documentation for the PackageManagement cmdlets.
Despite how it might have looked during development, Microsoft isn’t adopting package management for Windows 10. Microsoft isn’t hosting their own software repositories, and Chocolatey isn’t being embraced with with integration in the final version of Windows 10. Not even the Windows Store and its apps can be accessed from PackageManagement.
This is just yet another suite of tools designed for system administrators. We’ll have to see how it evolves and grows over time.