Конфигурация WinGet

С помощью файла конфигурации WinGet можно консолидировать ручную настройку компьютера и подключение проекта к одной команде, надежной и повторяемой. Для этого WinGet использует следующее:

  • Файл конфигурации WinGet с форматированием YAML, который содержит список всех версий программного обеспечения, пакетов, инструментов, зависимостей и параметров, необходимых для настройки требуемого состояния среды разработки на компьютере Windows.
  • PowerShell Desired State Configuration (DSC) для автоматизации конфигурации операционной системы Windows.
  • Команда Диспетчер пакетов Windows winget configure для запуска процесса настройки.

Преимущества настройки компьютера и подключения проекта

Преимущества использования файла конфигурации WinGet:

  • Автоматическая настройка. Введите winget configure команду и позвольте Диспетчер пакетов Windows и PowerShell DSC автоматизировать установку и настроить все требования, необходимые для настройки требуемой среды разработки на компьютере Windows.
  • Надежная и повторяющаяся: удалите беспокойство по поводу поиска правильных версий программного обеспечения, пакетов, инструментов, платформ и настройки правильных параметров компьютера для среды разработки при подключении к новой команде или проекту, так как они предварительно определены в файле конфигурации WinGet с использованием формата YAML (с схемой JSON).
  • Поддерживает совместную работу с открытым исходным кодом: файлы конфигурации WinGet можно размещать в репозитории GitHub, где проблемы или вклады могут быть отправлены или храниться в закрытом расположении хранилища (например, в OneDrive) и предоставлять общий доступ через частную электронную почту или другие защищенные каналы.

Предупреждение

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

Настройка компьютера с помощью файла конфигурации WinGet

Чтобы настроить компьютер с помощью файла конфигурации WinGet, можно:

  1. Установите dev Home, перейдите к конфигурации компьютера, выберите файл конфигурации и выберите файл конфигурации WinGet, который вы хотите использовать. (Чтобы создать файл конфигурации, см. раздел Создание файла конфигурации WinGet).

  2. Используйте функцию winget, настроенную в командной строке. Чтобы использовать winget configure команду, необходимо запустить WinGet версии 1.6.2631 или более поздней.

Часто задаваемые вопросы о конфигурации WinGet

Найдите ответы на некоторые из наиболее часто задаваемых вопросов о конфигурации WinGet.

Как работают файлы конфигурации WinGet?

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

Вместо того чтобы выполняться императивная последовательность шагов, файл конфигурации WinGet декларативен, определяя нужный результат конфигурации компьютера. Используя Диспетчер пакетов Windows и ресурсы PowerShell DSC, декларативный файл конфигурации WinGet может устанавливать, настраивать и применять параметры к вашей среде, что приводит к состоянию готовности к коду.

WinGet анализирует файл конфигурации, чтобы убедиться, что он действителен, а затем скачайте все связанные модули PowerShell (содержащие ресурсы DSC), необходимые для достижения требуемого состояния. После скачивания этих ресурсов вы проверили надежность файла конфигурации WinGet, согласившись, что вы проверили безопасность файла, WinGet начнет тестирование всех необходимых утверждений и применение требуемого состояния.

Последовательность, в которой упорядочены ресурсы файла конфигурации WinGet, является несоотступной. Некоторые процессы установки и конфигурации могут даже выполняться параллельно. Утверждения напрямую соответствуют полю, определенному dependsOn в каждом ресурсе. Если ресурс включает зависимость от утверждения, проверочное утверждение будет проверено первым. Если утверждение завершается ошибкой, зависимый ресурс также завершится ошибкой. Однако файл конфигурации будет продолжать выполняться, выполняя как можно больше задач, даже если некоторые утверждения или зависимости ресурсов завершаются сбоем, приведя компьютер как можно дальше в процессе настройки как можно до завершения. После завершения настройки вы несете ответственность за проверку ошибок.

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

Assert:: OsVersion
The configuration unit could not be found.
Apply :: DeveloperMode
  This configuration unity was not run because an assert failed or was false.
Apply :: WinGetPackage [vsPackage]
  This configuration unity was not run because an assert failed or was false.

В этом примере проверка утверждения для требуемой версии операционной системы завершилась сбоем, поэтому ресурсы DeveloperMode и WinGetPackage, включающие зависимость от этого утверждения для версии операционной системы, также завершились ошибкой. Однако все другие задачи установки и конфигурации, перечисленные в файле конфигурации, будут продолжать двигаться вперед.

Преимущество декларативного (не последовательного) характера файлов конфигурации WinGet заключается в том, что положение новых ресурсов, добавляемых в файл, не имеет значения. Это особенно полезно для длительных файлов конфигурации, так как вы можете просто добавить дополнительные ресурсы в нижней части файла. Если вы правильно определили утверждения и зависимости, вам не нужно беспокоиться о последовательности или настройке шагов, которые выполняются в первую очередь, второй и т. д.

Снимок экрана: терминал PowerShell с файлом конфигурации WinGet с утверждением OSVersion и зависимыми ресурсами.

Разделы справки использовать файл конфигурации WinGet?

Чтобы запустить файл конфигурации WinGet, используйте winget configure команду.

Разделы справки создать конфигурацию WinGet?

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

Как убедиться, что файл конфигурации WinGet является надежным?

Перед запуском файла конфигурации WinGet рекомендуется ВСЕГДА проверять целостность файла конфигурации WinGet, просматривая его содержимое и проверяя конфигурацию в изолированной среде. Узнайте , как проверить надежность файла конфигурации WinGet.

Где можно найти примеры файлов конфигурации WinGet?

Примеры файлов конфигурации WinGet можно найти в репозитории Windows Dev Home: https://aka.ms/dsc.yaml

Где можно найти примеры модулей PowerShell, содержащих ресурсы DSC?

Коллекция PowerShell размещает сотни модулей PowerShell, содержащих ресурсы требуемой конфигурации состояния (DSC). Результаты поиска можно фильтровать, применяя фильтр "Ресурс DSC" в разделе "Категории".

Результаты поиска модуля PowerShell требуемой конфигурации состояния из коллекция PowerShell

Можно ли настроить политику для блокировки использования файлов конфигурации WinGet в моей организации?

Да. Объекты групповой политики EnableWindowsPackageManagerConfiguration и EnableWindowsPackageManagerConfigurationExplanation можно использовать для отключения функции конфигурации WinGet в организации.

Где можно узнать больше об использовании конфигураций WinGet с дисками разработки для дома и разработки?

Дополнительные сведения об использовании средства настройки компьютера в Windows 11 Dev Home см. в статье "Настройка среды разработки Windows с помощью домашней версии разработки". Вы также можете узнать, как использовать более высокопроизводительные тома хранилища диска разработки, см. статью "Настройка диска разработки в Windows 11".

Устранение неполадок с конфигурациями WinGet

Наиболее распространенная причина сбоя конфигурации WinGet связана с ресурсом PowerShell DSC, требующим административного доступа для применения требуемого состояния. Не все ресурсы DSC отображаются явными причинами сбоя.

Более распространенные проблемы, связанные с устранением неполадок, будут добавлены в ближайшее время. В то же время проверьте связанные проблемы, связанные с репозиторием WinGet CLI на GitHub.