- Windows Package Manager (preview)
- Windows Package Manager for developers
- Windows Package Manager for ISVs
- Understanding package managers
- Windows Package Manager Preview
- When can I try it?
- What functionality is included?
- How do I get it?
- Why not contribute to another open source package manager?
- Which versions of Windows will be supported?
- But what about…
- What’s next?
- Менеджер пакетов WinGet в Windows 10
- Установка менеджера пакета WinGet в Windows 10
- Установка программ с помощью WinGet
- Обзор Windows Package Manager: Первая предварительная версия
- Первый взгляд на Windows Package Manager
Windows Package Manager (preview)
Windows Package Manager and the winget tool are in public preview and may be substantially modified before they are generally available. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Windows Package Manager is a comprehensive package manager solution that consists of a command line tool and set of services for installing applications on Windows 10.
Windows Package Manager for developers
Developers use the winget command line tool to discover, install, upgrade, remove and configure a curated set of applications. After it is installed, developers can access winget via the Windows Terminal, PowerShell, or the Command Prompt.
Windows Package Manager for ISVs
Independent Software Vendors (ISVs) can use Windows Package Manager as a distribution channel for software packages containing their tools and applications. To submit software packages (containing .msix, .msi, or .exe installers) to Windows Package Manager, we provide the open source Microsoft Community Package Manifest Repository on GitHub where ISVs can upload package manifests to have their software packages considered for inclusion with Windows Package Manager. Manifests are automatically validated and may also be reviewed manually.
Understanding package managers
A package manager is a system or set of tools used to automate installing, upgrading, configuring and using software. Most package managers are designed for discovering and installing developer tools.
Ideally, developers use a package manager to specify the prerequisites for the tools they need to develop solutions for a given project. The package manager then follows the declarative instructions to install and configure the tools. The package manager reduces the time spent getting an environment ready, and it helps ensure the same versions of packages are installed on their machine.
Third party package managers can leverage the Microsoft Community Package Manifest Repository to increase the size of their software catalog.
Windows Package Manager Preview
We are thrilled to announce the Windows Package Manager preview!
If you’re already familiar with what a package manager is, feel free to skip this paragraph. If you’re still reading, you’re 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.
Just about every developer has wanted a native package manager in Windows. That day is finally here. You are going to be able to winget install 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 winget install terminal , and then winget install powershell , and then winget install powertoys . You get the idea, and If you do not see an app you use, just create a new manifest, and submit a pull request.
When can I try it?
As of today, the Windows Package Manager preview has been made open source. You can clone, build, run and test the code from the GitHub repository (https://github.com/microsoft/winget-cli). There are other possibly easier ways to get your hands on it if that doesn’t sound appealing. Please continue reading.
What functionality is included?
You can install any app with a valid manifest (even local ones — manifest ). The command line client “winget.exe” 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.
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 & IDEs, languages & runtimes, source control tools, etc.?
Did you enjoy it? Yeah, neither did we … which is why we created Windows Package Manager.
Now you can install all your favorite apps & tools simply by typing winget install 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!”
You can search for available packages and display information using the show command. There are also commands to help with manifest creation and validation ( hash and validate ). Once the first third-party repository is published, you will be able to add that repository as a source as well. We’re providing documentation at https://docs.microsoft.com/windows/package-manager and both of the GitHub repositories.
How do I get it?
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 client. Second, you can join any of the Windows Insider rings. Third, you can join the Windows Package Manager Insider program by providing your Microsoft Account (MSA) to Windows Package Manager Insider Program 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 App Installer. The Windows Package manager will be available after you get the update.
Why not contribute to another open source package manager?
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.
Which versions of Windows will be supported?
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.
But what about…
We are expecting you have plenty of questions. What does this mean for the Windows store? It doesn’t 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.
What about insert any other package manager here? 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’re open to feedback and suggestions.
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.
If you are happy with your current package manager, keep using it. Our goal is to make installing software on Windows better for everyone.
What’s next?
We have a long list of features we think you will like. Take a look at the list of issues 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.
Менеджер пакетов WinGet в Windows 10
В Windows 10 появился новый менеджер пакетов WinGet (Windows Package Manager), который можно использовать для установки приложений из командной строки (по аналогии с пакетными менеджерами Linux, например yum, dnf, apt и т.д.).
WinGet.exe это консольная утилита (которая как и менеджер пакетов Chocolatey) позволяет упростить установку программ на компьютере Windows. Чтобы установить какую-то программу вам не нужно искать ее дистрибутив, скачивать его, запускать мастер установки и щелкать Далее -> Далее …. С помощью Windows Package Manager вы можете выполнить установку программы с помощью всего одной команды.
Репозиторий WinGet на данный момент ведется Microsoft, но предусмотрена возможность подключения сторонних репозиториев. Исходный код доступен на GitHub
Установка менеджера пакета WinGet в Windows 10
Менеджер пакетов WinGet можно установить в Windows 10, начиная с билда 1709. Microsoft обещает, что в следующем билде (после Windows 10 2004) winget будет встроен в Windows.
Вы можете установить WinGet через Microsoft Store (там он называется App Installer):
Или можно с помощью PowerShell скачать appxbundle файл winget с GitHub и установить его (https://github.com/microsoft/winget-cli/releases):
Invoke-WebRequest -Uri «https://github.com/microsoft/winget-cli/releases/download/v0.1.4331-preview/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.appxbundle» -OutFile «C:\PS\WinGet.appxbundle»
Add-AppxPackage «C:\PS\WinGet.appxbundle»
Проверьте установленную версию winget командой:
Основные команды winget:
- winget install — установка пакета
- winget show — показать информацию о пакете
- winget source — управление репозиториями
- winget search — поиск пакетов в репозиториях
- winget hash — получить хэш установщика пакета
- winget validate — проверить файл манифеста
Последние две команды в основном используются при публикации программ в репозитории.
Установка программ с помощью WinGet
Прежде чем установить программу из репозитория WinGet, нужно узнать имя пакета. Для поиска пакетов используется команда search . Например, чтобы найти zip архиваторы в репозитории, выполните команду:
winget search zip
Команда вернула список пакетов (с названиями и версиями), которые подходят под ваш запрос.
Можно получить информацию о конкретном пакете:
winget show 7zip.7zip
Например, нам нужно установить архиватор 7zip. Скопируйте его имя или ID и выполните команду установки:
winget install 7zip.7zip
Как вы видите, менеджер пакетов автоматически скачал и установил приложение. Всего одной командой. Программа появилась в списке установленного софта.
Теперь установим, например, Windows Terminal и VSCode для написания PowerShell скриптов:
Сначала ищем имена пакетов:
winget search terminal
winget search «visual studio»
Затем устанавливаем их по очереди:
winget install Microsoft.WindowsTerminal –e ; winget install Microsoft.VisualStudioCode –e
Если вы хотите запустить установку пакета с программой в фоновом режиме, используйте параметр –silent:
winget install «VLC media player» —silent
Как вы видите, менеджер пакетов WinGet позволяет существенно упростить установку программ . В репозитории доступны большинство популярных программ для Windows. Теперь не нужно искать сайт разработчика, регистрироваться и качать дистрибутивы. Для установки программы достаточно выполнить одну команду. Продукт WinGet еще находится в разработке, в нем отсуствует ряд полезного функуионала (в том числе пока не работает обновление пакетов), но думаю в ближайший год он будет доведен до полноценного инструмента по управлению пакетами в Windows.
Обзор Windows Package Manager: Первая предварительная версия
19 мая 2020 года на онлайн-конференции Build 2020 компания Microsoft представила предварительную версию Windows Package Manager. Администраторы систем Windows могут использовать данный менеджер пакетов для установки продуктов Microsoft и сторонних приложений, таких как 7-Zip, KeePass, Arduino IDE или Discord.
Основная задача инструмента Windows Package Manager — автоматизация процессов установки, обновления и настройки приложений под Windows.
Windows Package Manager работает аналогичным образом, как и системы управления пакетами для Linux или сторонние менеджеры пакетов для Windows, такие как Chocolatey. Microsoft открыла исходный код данного инструмента, поэтому заинтересованные пользователи могут проинспектировать исходники проекта в репозитории GitHub. Там же можно ознакомиться с документацией и загрузить предварительную версию Windows Package Manager.
Первый взгляд на Windows Package Manager
После установки вы можете запустить Windows Terminal, PowerShell или командную строку, чтобы начать пользоваться менеджером пакетов. Запустите команду winget без параметров, чтобы посмотреть доступные команды и справку.
На данный момент Windows Package Manager поддерживает следующие команды:
- winget install // для установки указанного приложения
- winget show // для отображения сведений о программе
- winget source // для управления источниками приложений
- winget search // для вывода списка всех или определенных приложений
- winget hash // для хэширования файлов установщика
- winget validate // для утверждения файла манифеста
Команда winget search отображает список программ, которые поддерживает Windows Package Manager. В настоящее время поддерживаются такие популярные программы, как vim, Whatsapp, GIMP, VLC, Steam, Sublime Text, а также многие другие приложения и инструменты для разработчиков.
Обратите внимание, что на данный момент функции удаления не поддерживаются. Microsoft должна в ближайшее время реализовать функции удаления и обновления приложений с помощью менеджера пакетов.
Команда winget install [имя программы] загружает выбранный пакет и запускает установщик. По всей видимости, программы загружаются со сторонних сайтов (сайт разработчика), а не из репозитория, поддерживаемого Microsoft.
Winget показывает расположение файла. Менеджер пакетов в настоящее время поддерживает установщики exe, msi и msix.
Winget может работать без прав администратора устройства. Для установки некоторых программ может потребоваться повышение привилегий, в этом случае появится подсказка.
Команда winget show [имя пакета] отображает дополнительную информацию о программе, например ссылки на домашнюю страницу и лицензию, URL-адрес источника, SHA256 хэш и тип установщика.
Разработчики ПО могут предоставить свои продукты для Windows Package Manager, подробная инструкция представлена на сайте Microsoft Docs. По сути, разработчикам необходимо создать манифест пакета с информацией о приложении. Затем они могут отправить манифест в репозиторий Windows Package Manager на GitHub.
Windows Package Manager поддерживает скрипты. Администраторы могут создавать пакетные сценарии или скрипты PowerShell, например для пакетной установки нескольких приложений.
Например, следующий скрипт устанавливает приложения Microsoft PowerToys и Windows Terminal:
Windows Package Manager может стать важным инструментом в арсенале не только системных администраторов Windows, но и домашних пользователей. Конечно, успех проекта зависит от многих факторов, например будет ли инструмент встроен в Windows и как будет развиваться экосистема пакетов и функциональность приложения.
А вам понравился Windows Package Manager? Вы будете пользоваться этим инструментом?