{"id":5608,"date":"2020-05-19T08:00:33","date_gmt":"2020-05-19T15:00:33","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/commandline\/?p=5608"},"modified":"2020-05-19T08:32:55","modified_gmt":"2020-05-19T15:32:55","slug":"windows-package-manager-preview","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/commandline\/windows-package-manager-preview\/","title":{"rendered":"Windows Package Manager Preview"},"content":{"rendered":"<p>We are thrilled to announce the Windows Package Manager preview!<\/p>\n<p>If you\u2019re already familiar with what a package manager is, feel free to skip this paragraph. If you\u2019re still reading, you\u2019re going to love this! A package manager is designed to help you save time and frustration. Essentially, it is a set of software tools that help you automate the process of getting software on your machine. You specify which apps you want installed, and it does the work of finding the latest version (or the exact one you specified) and installing it on your machine.<\/p>\n<p>Just about every developer has wanted a native package manager in Windows. That day is finally here. You are going to be able to <strong><code>winget install<\/code><\/strong> your way to bliss. One of the best parts is that it is open source. I had to pinch myself when I was able to <strong><code>winget install terminal<\/code><\/strong>, and then <strong><code>winget install powershell<\/code><\/strong>, and then <strong><code>winget install powertoys<\/code><\/strong>. You get the idea, and If you do not see an app you use, just create a new manifest, and submit a pull request.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2020\/05\/winget01.png\" alt=\"Execute winget in Windows Terminal\" width=\"1216\" height=\"812\" class=\"alignnone size-full wp-image-5609\" srcset=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2020\/05\/winget01.png 1216w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2020\/05\/winget01-300x200.png 300w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2020\/05\/winget01-1024x684.png 1024w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2020\/05\/winget01-768x513.png 768w\" sizes=\"(max-width: 1216px) 100vw, 1216px\" \/><\/p>\n<h3>When can I try it?<\/h3>\n<p>As of <strong>today<\/strong>, the Windows Package Manager preview has been made open source. You can clone, build, run and test the code from the GitHub repository (<a href=\"https:\/\/github.com\/microsoft\/winget-cli\">https:\/\/github.com\/microsoft\/winget-cli<\/a>). There are other <em>possibly<\/em> easier ways to get your hands on it if that doesn\u2019t sound appealing. Please continue reading.<\/p>\n<h3>What functionality is included?<\/h3>\n<p>You can <strong><code>install<\/code><\/strong> any app with a valid manifest (even local ones <strong><code>-- manifest<\/code><\/strong>). The command line client \u201cwinget.exe\u201d is already pre-configured to point to the Microsoft community repository. That means you can install any package with a manifest that has been published.<\/p>\n<blockquote>\n<p>Have you ever had to completely re-install all your apps and tools on your PC? How long did it take? How did you remember where to go to find, download, and install all your editors &amp; IDEs, languages &amp; runtimes, source control tools, etc.?<\/p>\n<p>\u00a0<\/p>\n<p><strong><em>Did you enjoy it<\/em><\/strong>? Yeah, neither did we \u2026 which is why we created Windows Package Manager.<\/p>\n<p>\u00a0<\/p>\n<p>Now you can install all your favorite apps &amp; tools simply by typing <strong><code>winget install &lt;foo&gt;<\/code><\/strong> into your command-line. Or better still, you can create a script file that installs ALL your tools while you sit back enjoy a well-earned coffee break!\u201d<\/p>\n<\/blockquote>\n<p>You can <strong><code>search<\/code><\/strong> for available packages and display information using the <strong><code>show<\/code><\/strong> command. There are also commands to help with manifest creation and validation (<strong><code>hash<\/code><\/strong> and <strong><code>validate<\/code><\/strong>). Once the first third-party repository is published, you will be able to add that repository as a <strong><code>source<\/code><\/strong> as well. We\u2019re providing documentation at <a href=\"https:\/\/docs.microsoft.com\/windows\/package-manager\">https:\/\/docs.microsoft.com\/windows\/package-manager<\/a> and both of the GitHub repositories.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2020\/05\/winget02.png\" alt=\"Executing the winget install vscode command in Windows Terminal\" width=\"1208\" height=\"804\" class=\"alignnone size-full wp-image-5610\" srcset=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2020\/05\/winget02.png 1208w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2020\/05\/winget02-300x200.png 300w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2020\/05\/winget02-1024x682.png 1024w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2020\/05\/winget02-768x511.png 768w\" sizes=\"(max-width: 1208px) 100vw, 1208px\" \/><\/p>\n<h3>How do I get it?<\/h3>\n<p>We have provided three different ways for you to get your hands on the Windows Package Manager. If you are a Windows Insider, you may already have it. First, you can head over to the open source GitHub repository for the <a href=\"https:\/\/www.github.com\/microsoft\/winget-cli\">client<\/a>. Second, you can join any of the <a href=\"https:\/\/insider.windows.com\/\">Windows Insider<\/a> rings. Third, you can join the Windows Package Manager Insider program by providing your Microsoft Account (MSA) to <a href=\"http:\/\/aka.ms\/winget-InsiderProgram\">Windows Package Manager Insider Program<\/a> and request to be included in the preview. Either of the Insider programs will ensure you automatically receive updates as we progress from preview to general availability. After you have joined either Insider program, head over to the Microsoft Store and get the <a href=\"ms-windows-store:\/pdp\/?productid=9nblggh4nns1\">App Installer<\/a>. The Windows Package manager will be available after you get the update.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2020\/05\/winget03.png\" alt=\"The App Installer in the Microsoft Store\" width=\"1248\" height=\"343\" class=\"alignnone size-full wp-image-5611\" srcset=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2020\/05\/winget03.png 1248w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2020\/05\/winget03-300x82.png 300w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2020\/05\/winget03-1024x281.png 1024w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2020\/05\/winget03-768x211.png 768w\" sizes=\"(max-width: 1248px) 100vw, 1248px\" \/><\/p>\n<h3>Why not contribute to another open source package manager?<\/h3>\n<p>We looked at several other package managers. There were several reasons leading us to create a new solution. One critical concern we had was how to build a repository of trusted applications. We are automatically checking each manifest. We leverage SmartScreen, static analysis, SHA256 hash validation and a few other processes to reduce the likelihood of malicious software making its way into the repository and onto your machine. Another key challenge was all the changes required to be able to deliver the client program as a native Windows application.<\/p>\n<h3>Which versions of Windows will be supported?<\/h3>\n<p>Windows Package Manager will support every Windows 10 version since the Fall Creators Update (1709)! The Windows Package Manager will be delivered with the Desktop App Installer when we ship version 1.0. If you are building software to run on Windows 10 you will have a simple way for your customers to install your software on billions of machines.<\/p>\n<h3>But what about\u2026<\/h3>\n<p>We are expecting you have plenty of questions. What does this mean for the Windows store? It doesn\u2019t mean anything for the Windows store. The Windows Package Manager is a command line interface, no marketing, no images, no commerce. Although we do plan on making those apps installable too.<\/p>\n<p>What about <em>insert any other package manager here<\/em>? We think they are great. If they want to leverage our repository of validated packages, they can. If they want to see how we are doing it, it is open source. We&#8217;re open to feedback and suggestions.<\/p>\n<p>We have already talked with a few of the well-known package manager teams. Chocolatey has a vibrant community with a massive collection of applications, and a rich history supporting both open source and enterprise customers. Scoop provides a convenient way to allow software to be installed without the UAC popups. Ninite keeps an eye on updates for all the apps it installed. There are many others like AppGet, Npackd and the PowerShell based OneGet package manager-manager.<\/p>\n<p>If you are happy with your current package manager, keep using it. Our goal is to make installing software on Windows better for everyone.<\/p>\n<h3>What\u2019s next?<\/h3>\n<p>We have a long list of features we think you will like. Take a look at the list of <a href=\"https:\/\/www.github.com\/microsoft\/winget-cli\/issues\">issues<\/a> we have already created on GitHub. Be sure to +1 any issues you feel strongly about. If you do not see something, and you would like us to consider it, just create a new issue.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We are thrilled to announce the Windows Package Manager preview! If you\u2019re already familiar with what a package manager is, feel free to skip this paragraph. If you\u2019re still reading, you\u2019re going to love this! A package manager is designed to help you save time and frustration. Essentially, it is a set of software tools [&hellip;]<\/p>\n","protected":false},"author":27535,"featured_media":5609,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[10,1,2,1535,5,6,1577,782],"tags":[29,59,70,1576,1579,1578],"class_list":["post-5608","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cmd","category-commandline","category-command-line","category-open-source","category-windows-10","category-windows-console","category-windows-package-manager","category-windows-terminal","tag-command-line","tag-terminal","tag-windows-10","tag-windows-package-manager","tag-winget","tag-winget-exe"],"acf":[],"blog_post_summary":"<p>We are thrilled to announce the Windows Package Manager preview! If you\u2019re already familiar with what a package manager is, feel free to skip this paragraph. If you\u2019re still reading, you\u2019re going to love this! A package manager is designed to help you save time and frustration. Essentially, it is a set of software tools [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/commandline\/wp-json\/wp\/v2\/posts\/5608","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/commandline\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/commandline\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/commandline\/wp-json\/wp\/v2\/users\/27535"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/commandline\/wp-json\/wp\/v2\/comments?post=5608"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/commandline\/wp-json\/wp\/v2\/posts\/5608\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/commandline\/wp-json\/wp\/v2\/media\/5609"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/commandline\/wp-json\/wp\/v2\/media?parent=5608"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/commandline\/wp-json\/wp\/v2\/categories?post=5608"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/commandline\/wp-json\/wp\/v2\/tags?post=5608"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}