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

У chocolatey есть свой менеджер пакетов, гораздо более эффективный, чем встроенный в Windows. Для его установки необходимо открыть консоль PowerShell от имени администратора и выполнить следующие команды:

Set-ExecutionPolicy Bypass -Scope Process -Force;
iex ((New-Object System.Net.WebClient).DownloadString(‘https://chocolatey.org/install.ps1`))

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


установка chocolatey

Для начала выведем справку по основным командам. Синтаксис у chocolatey довольно простой и лаконичный, в стиле linux.


команды chocolatey

Поиск пакетов

Перед тем, как установить пакет, его надо найти. Приступим к поиску на примере популярного файлового менеджера TotalCommander.

Найти нужный пакет можно с помощью команды search, list или find (кому как больше нравится). Самый простой вариант поиска:

choco search totalcommander


поиск пакета в chocolatey

А теперь немного усложним поиск и найдем все (all) одобренные (approoved-only) и не битые (not-broken) версии TotalCommander:

choco search totalcommander ––all ––approoved-only ––not-broken


подробный поиск пакета

Если точное имя пакета неизвестно, можно искать по меткам или тегам (tags). Обычно в тегах записывается информация, позволяющая более-менее точно определить принадлежность пакета. К примеру, TotalCommander относится к файл-менеджерам, соответственно его можно найти такой командой:

choco search file manager ––by-tag-only


поиск пакета по тегам

Также при поиске можно воспользоваться функционалом PowerShell, например передать результаты поиска командлету Out-GridView:

choco list | sort Name | Out-GridView


поиск пакета с помощью Out-GridView

Еще с помощью поиска можно посмотреть подробную информацию о пакете, такую как дата выпуска, функционал и т.п. В качестве примера выведем данные о TotalCommander 9.22:

choco search totalcommander ––version=9.22 ––detail

Особое внимание обратите внимание на раздел Package parameters. В нем описаны ключи установки для данного пакета, с помощью которых можно кастомизировать установку приложения.


вывод детальной информации о пакете

Установка пакетов

Для простой установки TotalCommander достаточно выполнить команду:

choco install totalcommander

Но мы немного усложним задачу, к примеру установим определенную версию и произведем дополнительные настройки:

choco install totalcommander ––version=9.22 ––params ′/InstallPath:%systemdrive%\totalcmd /DesktopIcon /ShellExtension′ ––yes

С помощью ключа params мы меняем директорию установки, добавляем ярлык приложения на рабочий стол и в контекстное меню проводника. Эти параметры описаны в разделе Package parameters в свойствах пакета. Ключ yes нужен для автоматического подтверждения, чтобы при установке не требовалось вмешательства пользователя.

Кстати, при установке пакета могут автоматически подтягиваться другие пакеты, необходимые для его установки. В нашем случае при установке TotalCommander дополнительно были дополнительно установлены еще 3 пакета.


установка пакета

Напомню о том, что успешная установка пакета вовсе не гарантирует установку приложения. Поэтому, на всякий случай, убедимся, что TotalCommander появился в меню Пуск,


установленные программы

на рабочем столе и в контекстном меню проводника.


дополнительные настройки

На волне успеха 🙂 установим еще несколько пакетов. На сей раз сделаем это одной командой, просто перечислив имена пакетов через пробел:

choco install firefox adobereader xnview ––yes


установка нескольких пакетов

В качестве альтернативы при установке пакетов можно использовать файл конфигурации. В файл можно прописывать любое количество пакетов с любыми дополнительными параметрами. Это очень удобно, особенно если приходится часто устанавливать одинаковый набор приложений с определенными параметрами. Файл конфигурации представляет из себя самый обычный XML-файл с расширением .config, имя может быть любое.

Для примера создадим вот такой файл package.config. В него добавим три пакета, с параметрами и без.


конфиг установки

При использовании файла конфигурации при установке вместо имени пакета указывается имя файла (либо путь к нему, если файл находится отдельно):

choco install package.config ––yes


установка с конфиг-файлом

Ну и посмотреть уже установленные пакеты можно с помощью команды search\list:

choco list ––local-only


список установленных пакетов

Обновление пакетов

Приложения постоянно обновляются, выходят новые версии, соответственно обновляются и пакеты в репозитории. Chocolatey умеет обновлять как пакеты так и приложения, установленные из этих пакетов. Это одно из больших его преимуществ, ведь встроенный в Windows менеджер пакетов такой возможности лишен.

Проверим, как работает обновление на многострадальном TotalCommander. Я нарочно установил не самую новую версию, чтобы потом ее обновить.

Для полноты эксперимента проверим текущую версию, сейчас она 9.22.