Winstall — простая установка программ с использованием менеджера пакетов Winget


Использование менеджера пакетов WinGet в Windows 10 и 11

09.12.2021

itpro

PowerShell, Windows 10, Windows 11

комментариев 17

В Windows 10 и 11 появился собственный встроенный менеджер пакетов WinGet (Windows Package Manager), который можно использовать для установки приложений из командной строки (по аналогии с пакетными менеджерами Linux, например yum, dnf, apt и т.д.).

WinGet.exe это консольная утилита, которая позволяет упростить установку программ в Windows. Благодаря winget, вам не нужно искать официальные сайты, скачивать установочные файлы, и устанавливать программы вручную. С помощью Windows Package Manager вы можете установить любую программу из репозитория с помощью всего одной команды.

Установка менеджера пакета WinGet в Windows 10

Менеджер пакетов WinGet можно установить в Windows 10, начиная с билда 1709. В актуальных билдах Windows 11 21H2 и Windows 10 21H1 winget уже встроен в образ.

Чтобы проверить, установлен ли winget на вашем компьютере, откройте консоль PowerShell и выполните команды:

Get-AppPackage *Microsoft.DesktopAppInstaller*|select Name,PackageFullName

В нашем случае winget (имя UWP приложения Microsoft.DesktopAppInstaller) установлен.

Winget поддерживается только для десктопных версий Windows (10 и 11). Для Windows Server 2022 winget официально не поддерживается, но может быть установлен в экспериментально режиме.

Вы можете установить WinGet через Microsoft Store (там он называется App Installer) по ссылке https://www.microsoft.com/en-us/p/app-installer/9nblggh4nns1#activetab=pivot:overviewtab

установка winget (App Installer) через магазин Windows 10

Для установки Winget на вашем компьютере должен работать MS Store (если Microsoft Store удален или поврежден, можно восстановить его).

Также вы можете установить winget вручную через PowerShell (если вы удаляли предустановленные приложения). Для этого нужно с помощью PowerShell скачать msixbundle файл winget с GitHub (https://github.com/microsoft/winget-cli/releases) и установить его (на момент написания статьи доступна версия Windows Package Manager v1.1.12653):

Invoke-WebRequest -Uri «https://github.com/microsoft/winget-cli/releases/download/v1.1.12653/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle» -OutFile «C:\PS\WinGet.msixbundle»
Add-AppxPackage «C:\PS\WinGet.msixbundle»

Также можно скачать и установить пакет WinGet вручную:

ручная установка winget в windows 10

Проверьте установленную версию winget командой:

Основные команды winget:

  • winget install — установка пакета
  • winget uninstall — удаление пакета
  • winget upgrade – обновление пакета программы
  • winget list – вывести установленные пакеты
  • winget show < пакет >— показать информацию о пакете
  • winget source < опции >— управление репозиториями пакетов
  • winget search < поисковая строка >— поиск пакетов в репозиториях
  • winget export – экспорт списка установленных программ в файл
  • winget import – установка программ (пакетов) по списку в файле
  • winget hash < пакет >— получить хэш установщика пакета
  • winget validate < пакет >— проверить файл манифеста

параметры команды winget

Настройки winget хранятся в файле settings.json (в «C:\Users\%username%\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState»). Вы можете изменить настройки Winget с помощью команды:

Установка программ в Windows с помощью WinGet

Для установки программ с помощью менеджера пакета WinGet используются онлайн репозитории. Их список можно вывести командой:

winget source list

По умолчанию в WinGet доступны два официальных репозитория WinGet:

  • msstore (https://storeedgefd.dsx.mp.microsoft.com/v9.0) репозиторий Microsoft Store
  • winget (https://winget.azureedge.net/cache) репозиторий программ, поддерживаемый Microsoft

Вы можете подключить стороннни репозитории в WinGet. Добавить другие источники можно с помощью команды winget source .

Прежде чем установить программу из репозитория WinGet, нужно узнать имя пакета. Для поиска пакетов используется команда search. Например, чтобы найти zip архиваторы во всех доступных репозиториях, выполните команду:

winget search zip

Если вы хотите искать программу только в репозитории Microsoft Store, выполните:

winget search zip -s msstore

Команда вернет список пакетов (с названиями и версиями), соответствующих вашему запросу. Обратите внимание на столбец Source. В нем указан репозиторий, в котором найден пакет.

Можно получить информацию о конкретном пакете:

winget show 7zip.7zip

вывести информацию о пакете в репозитории winget

В репизитории может хранится несколько версий пакета, чтобы показать список доступных версий пакета, выполните:

winget show 7zip.7zip —versions

Например, вы хотите установить архиватор 7zip. Скопируйте его имя или ID и выполните команду установки:

winget install 7zip.7zip

установка программы в WIndows командой winget install

По-умолчанию устанавливается последняя доступная версия программы. Можно установить определенную версию пакета:

winget install 7zip.7zip -v 21.05

Как вы видите, менеджер пакетов WinGet автоматически скачал и установил приложение. Всего одной командой. Программа появилась в списке установленных программ в стартовом меню Windows.

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

При установке некоторых программ можно автоматически принять условия использования. Например, при установке набора утилит sysinternals:

winget install sysinternals —accept-package-agreements

По умолчанию программы устанавливаются на системный диск в каталоги Program Files. Вы можете изменить каталог установки программы:

winget install microsoft.visualstudiocode —location «D:\Programs»

Обратите внимание, что при запуске winget без прав администратора, при установке некоторых программ может появится запрос UAC на повышение привилегий. При запуске winget в командной строке/консоли PowerShell с правами администратора, все программы устанавливаются без запроса UAC (будьте внимательными, устанавливайте только те приложения, которым доверяете).

Winstall – графической интерфейс для менеджера пакетов WinGet

Пользователи, которым некомфортно работать в командной строке winget, могут использовать веб-сервис Winstall (https://winstall.app/). Winstall представляет собой графический интерфейс для репозитория WinGet (для установки доступно более 2900 программ).

С помощью сервиса Winstall можно сгенерировать скрипт установки нужных вам программ. Найдите программы в репозитории и нажмите + для добавления их в скрипт установки.

Winstall - графический веб интерфейс для менеджера пакетов winget

Затем нажмите на кнопку Generate Script и сервис сформирует для вас команду установки выбранных приложений.

Скопируйте код со вкладки Batch или PowerShell и вставьте его соответственно в cmd.exe или PowerShell консоль.

скрипт установки программ через winget

Так, с помощью всего одной команды вы можете установить необходимые вам программы.

WinGet: Обновление и удаление программ в Windows

WinGet позволяет не только устанавливать программы, но и обновлять или удалять их. Для вывода списка установленных программ на компьютере выполните:

Команда выведет полный список программ, установленных на компьютере (включая программы, установленные не через winget). Если для программы доступно обновление, в столбце Available будет указана новая версия.

Для обновления приложения, установленного через winget, выполните команды:
winget upgrade —id 7zip.7zip

Можно обновить сразу все установленные программы:

winget upgrade —all

Для удаления программ используется команда:

winget uninstall —name 7zip.7zip

Вы также можете удалить приложения, установленные не через WinGet по их ID:

Экспорт и импорт установленных приложений на другие компьютеры

С помощью WinGet вы можете экспортировать в JSON файл список приложений, установленных на компьютере и затем использовать этот файл для быстрой установки того же набора приложений на другом компьютере.

Для экспорта списка приложений в файл, выполните:

winget export -o c:\ps\installedapps.json —include-versions

Если для программы отсутствует манифест, то команда выведет ошибку « The installed package is not available in any source «.

Файл содержит список программ, установленный через Windows Package Manager.

экспорт/импорт установленных приложений winget в текстовый json файл

Чтобы установить список программ из json файла на другом компьютере, выполните команду:

winget import -o .\installedapps.json

Можно указать, чтобы менеджер пакетов игнорировал версии и недоступные программы при установке, нужно добавить параметры —ignore-unavailable и —ignore-versions .

Предыдущая статья Следующая статья

Установка приложений с помощью менеджера пакетов PowerShell

08.06.2022

itpro

PowerShell, Windows 10

комментариев 10

В состав Windows 10 разработчики включили новый PowerShell модуль с именем PackageManagement. Модуль PackageManagement (ранее назывался OneGet) позволяет из консоли PoSh устанавливать, управлять и удалять приложения и программы из некого внешнего (или локального) репозитория, а также управлять списком подключенных репозиториев. Проще говоря, в Windows 10/ Windows Server 2016 появилась возможность устанавливать программы из командной строки по аналогии с известной командой Linux apt-get install.

Модуль менеджера пакетов PackageManagement позволяет существенно упростить процедуру установки нового ПО. Вся установка по сути сводиться к выполнению одной команды PowerShell, и, самое главное, пользователю не нужно самостоятельно искать в интернете и выкачивать дистрибутивы софта, рискуя скачать устаревшую или зараженную версию. Установка проводится из доверенного источника программ. При обновлении программного обеспечения в репозитории, оно может быть автоматически обновлено на клиентах.

Модуль PackageManagement

Модуль PackageManagement уже встроен в Windows 10, а для его работы требуется PowerShell 5. Поэтому для работы менеджера пакетов в Windows 8.1 нужно сначала установить Windows Management Framework 5.0. Также Microsoft выпустила отдельный модуль для работы менеджера пакетов и на PowerShell версий 3 и 4.

Выведем список доступных командлетов PowerShell в модуле PackageManagement:

Get-Command -Module PackageManagement

В текущей версии модуля (v 1.0.0.1) имеются такие команды:

  • Find-Package — поиск пакета (программы) в доступных репозиториях
  • Get-Package — получить список установленных пакетов
  • Get-PackageProvider — список провайдеров (поставщиков пакетов), доступных на компьютере
  • Get-PackageSource — список доступных источников пакетов
  • Install-Package — установить пакет (программу) на компьютере
  • Register-PackageSource — добавить источник пакетов для провайдера
  • Save-Package — сохранить пакет локально без его установки
  • Set-PackageSource — задать провайдер в качестве источника пакетов
  • Uninstall-Package — удалить программу (пакет)
  • Unregister-PackageSource — удалить поставщика из списка источников пакетов

Командлеты модуля Powershell PackageManagement

Провайдеры пакетов

Пакеты обслуживаются различными провайдерам, которые могут получать пакеты из разных источников. Чтобы вывести список всех доступных провайдеров, выполните:

Список провайдеров в модуле PackageManagement

По умолчанию в системе имеются 2 установленных источника пакетов: nuget.org и PSGallery (официальная онлайн галерея скриптов PowerShell от MSFT). Но они предназначены в первую очередь для программистов и системных администраторов.

Примечание. В Nano Server есть специальный еще провайдер NanoServerPackage, о нем в следующей статье.

Чтобы получить доступ к каталогу прикладного ПО, подключим популярный репозитарий ПО – Chocolatey, содержащий на данный момент более 4500 различных программ.

Установим новый провайдер Chocolatey:

Подтвердим установку провайдера, нажав Y.

Установка провайдера chocolatey

Сделаем Chocolatey доверенным источником пакетов, чтобы каждый раз при установке пакета не приходилось подтверждать установку.

Set-PackageSource -Name chocolatey -Trusted

Убедимся, что Chocolatey теперь присутствует среди доступных репозитариев приложений:

Name ProviderName IsTrusted Location
—- ———— ——— ———
PSGallery PowerShellGet False https://www.powershellgallery.com/api/v2/
chocolatey Chocolatey True http://chocolatey.org/api/v2/

Установка приложений из репозитория Chocolatey

Рассмотрим теперь, как установить приложение (пакет) из репозитория Chocolatey.

Список доступных для установки приложения можно получить непосредственно на официальном веб сайте Chocolatey (https://chocolatey.org/packages)

Репозиторий приложений Chocolatey

Также можно найти и установить нужное приложение прямо из консоли PowerShell. Например, для просмотра pdf файлов нам понадобилось установить приложение Adobe Acrobat Reader. Т.к. мы не знаем полного названия приложения, для его установки нам нужно получить имя пакета в каталоге. Выполним поиск в репозитории по ключевому слову ‘adobe’:

Find-Package -Name *adobe* -Source Chocolatey

В консоли появится список всех пакетов по данному ключу. Нам нужен пакет adobereader (нужно использовать именно имя пакета из столбца Name).

Запускаем установку пакета Adobe Reader:

Install-Package -Name adobereader -ProviderName Chocolatey

Установка пакета adobereader из репозитория Chocolatey

Вверху окна PowerShell появится ползунок, свидетельствующий о начале загрузки пакета Adobe Reader. Сразу после окончания загрузки, приложение установится в системе.

acrobat- eader dc в windows 10

Еще один пример. Допустим, нам понадобилось иметь на компьютере набор утилит SysInternals. Чтобы не качать его вручную, найдем пакет SysInternals в репозитарии Chocolatey и установим его.

Find-Package -Name Sysinternals | Install-Package

Т.к. пакет не требует установки, он сохраняется на компьютер и хранится в каталоге C:\Chocolatey\lib\. В нашем примере это каталог C:\Chocolatey\lib\sysinternals.2016.11.18\tools

Установка sysinternals из каталога Chocolatey

Сразу несколько приложений можно установить всего одной командой:

Find-Package -Name firefox, winrar, notepadplusplus, putty, dropbox | Install-Package

Удаление пакета

Удаление приложения на компьютере выполняется также одной командой. К примеру, для удаления Adobe Reader, выполните команду:

Итак, мы рассмотрели новые возможности установки приложений в Windows из командной строки PowerShell. В ближайшем будущем, вероятно, появятся графические надстройки над модулем PackageManagement, позволяющие легко управлять установкой/удалением ПО и простым пользователям без навыков работы с CLI.

Предыдущая статья Следующая статья

Веб-сервис Winstall позволяет создавать подборки приложений для пакетной установки в Windows 10

На конференции для разработчиков Build 2020 Microsoft представила пакетный менеджер Windows Package Manager (winget), позволяющий устанавливать популярные приложения без использования магазина Microsoft Store.

winget

На данный момент Winget работает исключительно в консольном режиме. Однако, если вы не привыкли работать с командной строкой или PowerShell, то можете обратиться к инструментам от сторонних разработчиков, которые помогают находить и устанавливать приложения.

Одним из таких инструментов является веб-сервис Winstall. Сервис предназначен для генерации скриптов для установки приложений из открытого репозитория Microsoft с использованием командной строки.

Winstall

Перед началом работы с Winstall, вам нужно загрузить и установить пакетный менеджер Winget из Microsoft Store.

Winstall – веб-сервис для генерации скриптов Winget для Windows 10

Winstall представляет собой веб-приложение (PWA), которое можно запустить в браузере и выполнить поиск доступных приложений в репозитории Winget. В отличие от консольного пакетного менеджера, веб-сервис позволяет выбирать несколько приложений для их пакетной установки.

В последнем обновлении разработчик добавил поддержку новой функции под названием «Тематические подборки» («Featured packs»), которая помогает устанавливать все необходимые приложения за один раз.

Featured packs

Вы можете посмотреть тематические подборки, созданные разработчиком и другими пользователями сервиса. Вы также можете создавать собственный подборки. Подборки будут особо полезны, когда вы настраиваете новое устройство и не желаете скачивать все приложения по отдельности.

Например, подборка «Развлечения» («Entertainment») позволяет установить Spotify, VLC и другие подобные приложения.

После выбора необходимых для установки приложений, прокрутите страницу и нажмите кнопку Copy to clipboard, чтобы скопировать сгенерированную команду для winget.

Winstall

Затем вставьте команду в командную строку или PowerShell и установите приложения. Вы можете также скачать пакетный скрипт формата .bat для запуска команды.


Оставьте комментарий