OneGet: Windows 10 Package Manager Details

OneGet: A PowerShell Package Management Framework
Recent investigations have revealed OneGet, a package management framework integrated within PowerShell and Windows 10. Further exploration has yielded a more comprehensive understanding of OneGet and its developmental trajectory.
Origins and Development
Initially, OneGet emerged as a project from Microsoft’s Open Source Technology Center. Its design draws significant influence from established package managers commonly found in Linux-based operating systems.
Notably, OneGet is itself an open-source initiative. This commitment to open-source principles is a core aspect of its development philosophy.
Integration with PowerShell
Currently, OneGet has been fully incorporated into the core functionality of PowerShell. This integration signifies its importance as a key component of the Windows ecosystem.
The framework provides a standardized method for installing, updating, and removing software packages directly from PowerShell, streamlining software management tasks.
PowerShell users can now leverage OneGet to efficiently manage software dependencies and maintain system integrity.
Who is OneGet Designed For?
Related: Windows 10 Features a Linux-Style Package Manager Called "OneGet"
Currently, OneGet is primarily intended for advanced users, system administrators, and individuals comfortable utilizing PowerShell. However, OneGet is not solely a niche tool for server management personnel. Garrett Serack, a OneGet developer, clarified the target audience on Reddit:
"Initially, the focus is on the technically proficient – developers, administrators, power users, and so on. Once the APIs for package provider integration are released, we anticipate a proliferation of graphical user interfaces and seamless integration options.
Looking ahead, the goal is to incorporate integration with the Windows Update UI, enabling software updates from any package manager to appear in a unified location." (Source)
The development of a graphical interface and integration with Windows Update are not immediate priorities.
"At this stage, dedicating time to a UI is not feasible due to a demanding schedule.
Once the core functionality is implemented and a range of package managers are connected, a UI will become a crucial next step.
Nevertheless, the project is open source, and contributions towards a UI are highly encouraged."
During the weekly meeting on October 24, 2014, Garrett Serack articulated his vision of a desktop application leveraging OneGet to display standard Windows Update notifications when updates are available. These updates could then be installed directly through this interface, rather than relying on individual updating services within each Windows program. (Source)
OneGet is expected to provide access to applications from the Windows Store. Should the Windows Store expand to include desktop applications, as Microsoft previously indicated, this would grant OneGet access to a vast library of desktop software:
OneGet: A Framework for Package Management, Not a Manager Itself
While often discussed as a package manager, OneGet is, in actuality, an extensible package management framework. Microsoft’s official documentation clarifies this distinction, referring to it as a “package-management-manager.”
The official explanation details OneGet as a component offering a unified interface.
"OneGet is a unified package management interface component with a set of managed and native APIs, a set of PowerShell cmdlets, and a WMI provider. The component accepts both Microsoft-provided and 3rd party-provided plugins which extend the functionality for a given package type."
Extensibility Through Plug-ins
OneGet’s functionality is expanded through the use of package-management plug-ins. These plug-ins introduce various package sources.
These sources are obtainable from a centralized repository, allowing for easy installation and management.
"Part of our work with the community is to develop a central hub for plugins that can be dynamically discovered and installed so that they don't have to ship them in-box."
Installing Package Providers
On a freshly installed system, users can utilize a cmdlet to retrieve a listing of available providers from the internet.
This allows for the selection and installation of preferred package providers, such as Chocolatey.
The process enables a customized package management experience tailored to individual needs.

OneGet: An Open Source and Collaborative Initiative
Similar to package management systems found in Linux distributions, OneGet is built on a completely open-source foundation. Its source code is publicly accessible via GitHub.
Interested parties can download the most recent experimental version from http://oneget.org/oneget.zip. This particular build includes the Chocolatey provider, which is currently absent from the official releases.
Community Engagement and Updates
The @PSOneGet Twitter account provides updates each time a new build becomes available. Staying connected through Twitter ensures you're informed about the latest developments.
Being a community-driven project, OneGet welcomes contributions from anyone. Weekly project meetings are held every Friday at 10 a.m. PST.
Participating in Weekly Meetings
You can join OneGet’s weekly meetings by visiting the project’s dedicated meetings page. This page also provides access to recordings of past meetings, allowing you to catch up on previous discussions.
OneGet fosters a collaborative environment where all are welcome to participate and contribute to its ongoing development.
OneGet: Potential Deterrent for Developers Employing Toolbars
Related: The Reasons Behind Our Reluctance to Recommend Software Downloads
The team behind the OneGet initiative demonstrates a commendable approach to enhancing Windows software management. Garret Serack, on Reddit, expressed a lack of sympathy for developers who rely on advertising revenue generated from website visitors. He discussed the possibility of an "adblock"-like plugin designed to prevent the installation of undesirable applications that often include bundled toolbars.
The OneGet project features an "8 Laws of Software Installation" document. This document advocates for improved Windows software installations, free from unnecessary toolbars, lengthy EULAs, and other unproductive elements. The principles outlined align closely with the views expressed here at How-To Geek, but originate from a Microsoft employee with the capacity to implement positive change.
A Reddit user voiced skepticism after reviewing these laws, stating: "I question whether you will secure support from App Vendors such as Adobe, Oracle, or even SourceForge Now. Simply distributing an application is no longer sufficient; the installer itself must now generate income..."
Garret Serack of Microsoft responded with the following:
"I understand your concern.
While I may not be able to obtain 'approval' from these companies, when a package is installed through OneGet, the system can pause and display a warning: "Are you certain? -- This package seems to perform XYZ" ... A proactive approach of "package shaming" could prove beneficial..." (Source)
Therefore, OneGet aims to be more than just a new pathway for unwanted software. It is intended to actively assist Windows users in avoiding such undesirable additions. This would represent a significant advancement.

Addressing Windows System Clutter with OneGet
The process of installing software on Windows often results in files and registry entries being dispersed throughout the system. Even after uninstalling applications, remnants can remain.
A user on Reddit inquired about the potential for OneGet to address this common issue.
Current Limitations of Package Managers
Currently, package managers like Chocolatey typically rely on the standard program uninstaller. This method doesn't always guarantee a complete removal of all associated files and settings.
The question arose: could OneGet function more like a Linux package manager, providing a more thorough cleanup process?
"I have some ideas on how to address this – it's going to take some time before substantial progress can be made, but it is certainly a problem I would like to resolve with OneGet."
"At present, OneGet functions primarily as a unified interface for various package managers. Once the core functionalities are implemented, we will definitely explore solutions like this." (Source)
OneGet: A Broader Initiative
OneGet appears to be more than just a single-purpose utility.
It represents a project aimed at fundamentally rethinking and enhancing the way software installation is managed within the Windows operating system.
The development team intends to expand OneGet’s capabilities beyond simply acting as a front-end for existing package managers.
Future development will focus on addressing issues like incomplete uninstalls and system clutter.
Microsoft Aims to Enhance the Experience for Linux Users
A frequent criticism leveled against PowerShell involves its verbosity and perceived complexity when contrasted with the command-line tools familiar to experienced Linux users. Microsoft is actively seeking to improve the comfort level for those transitioning from Linux environments.
"A senior director within Microsoft inquired about the feasibility of creating an executable, potentially named RPM (or apt-get), that would mirror the syntax of Linux tools. This would allow users proficient in one system to seamlessly utilize OneGet. I responded that it was achievable, but resource constraints might delay its implementation." (Source)
The potential for such a tool highlights Microsoft’s commitment to bridging the gap between operating systems.
The Promise of OneGet
OneGet represents a significant development, fulfilling a long-held desire among Linux users and technology enthusiasts within the Windows ecosystem. It’s not simply a PowerShell cmdlet limited to installing software vetted by Microsoft from the Windows Store.
- Instead, OneGet empowers users with complete autonomy.
- Users can independently select and trust the repositories they choose to utilize.
- This decentralized approach avoids reliance on a single, centralized service.
This user-centric design is a key differentiator. (Source)
The ability to choose repositories provides a level of control previously unavailable, fostering a more flexible and adaptable software management experience.





