Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Если WinGet не установлен правильно, выполните следующие действия из командной строки PowerShell:
Install-PackageProvider -Name NuGet -Force | Out-Null
Install-Module -Name Microsoft.WinGet.Client -Force -Repository PSGallery | Out-Null
Repair-WinGetPackageManager -Force -Latest
При сбое команд WinGet иногда необходимо просмотреть файлы журналов, чтобы лучше понять поведение.
Журналы WinGet
Диспетчер пакетов Windows по умолчанию создает файлы журналов при выполнении команд. Эти журналы содержат сведения, которые могут помочь в отладке проблем с WinGet. Поведение очистки файла журнала настраивается с помощью logging settings в файле settings. По умолчанию файлы журналов старше 7 дней или более 128 МБ автоматически удаляются, а отдельные файлы журналов упаковываются в 16 МБ. Используйте для настройки этих ограничений logging.filesettings .
Используйте команду winget --info , чтобы найти путь к файлам журнала WinGet. Путь по умолчанию для файлов журнала WinGet:
%LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir
Вы можете добавить параметр --logs или --open-logs к любой команде, чтобы открыть каталог журналов после выполнения команды. Ниже приведены некоторые примеры использования --logs параметра:
> winget list --logs
> winget source update --open-logs
--verbose-logs
Если вам нужны более полные файлы журналов, обеспечивающие полное взаимодействие с CDN и источниками, включите --verbose или --verbose-logs в командной строке. Ниже приведены некоторые примеры использования --verbose-logs параметра:
> winget install vscode --verbose-logs
> winget search -n visual --verbose-logs
> winget source add -n mysource -t Microsoft.REST -a https://www.contoso.org --verbose
settings
Вы можете указать уровень ведения журнала по умолчанию для WinGet, который будет использоваться в файле параметров WinGet. Команда settings откроет settings файл.json в редакторе JSON по умолчанию.
Пример с подробным ведением журнала:
{
"$schema": "https://aka.ms/winget-settings.schema.json",
"logging": {
"level": "verbose"
}
}
Известные проблемы
Известные list проблемы с источниками и поведением хранятся в актуальном состоянии в репозитории клиента Windows диспетчер пакетов. Если при использовании средства WinGet возникают проблемы, перейдите по ссылке для устранения неполадок.
Коды выхода
Средство WinGet возвращает коды выхода, указывающие на успешность или сбой команды. Найдите таблицу кодов выхода и их значения в файле "Коды возврата" репозитория клиента Диспетчер пакетов Windows.
Команда error в WinGet обрабатывает ошибки из "Коды выхода" и отображает описание известных кодов ошибок для установочных программ WinGet, MSIX и MSI. Многие установщики на основе .exeимеют нестандартные коды ошибок и могут не отображаться.
> winget error 1603
Область действия для конкретного пользователя и для всей системы
Не все установщики последовательно поддерживают установку в области "пользователь" или "компьютер".
- Пакеты на основе MSIX: надежное поведение WinGet.
- Пакеты на основе MSI обычно поддерживают надежные конфигурации WinGet, но в некоторых случаях вложены в установщик на основе .exe, поэтому может быть более изменчивым.
- Поведение EXE-установщиков в отношении области не обязательно детерминировано. В некоторых случаях аргументы для указания области недоступны, и в других случаях установщик может определить, является ли пользователь членом локальной группы администраторов. Для пакетов, установленных в области пользователя, может потребоваться авторизация UAC (контроль учетных записей пользователей) от администратора.
См. дополнительные сведения о проблемах, связанных с областью действия, в репозитории продукта WinGet на GitHub.
Ошибка 403 Forbidden (запрещено)
Ошибка 403 «Запрещено» может возникнуть при попытке скачать пакет с помощью инструмента WinGet. Эта проблема может возникнуть, если независимый поставщик программного обеспечения (ISV) не распространяет свой продукт службой диспетчера пакетов, например WinGet.
Сервер, ответственный за инициирование скачивания, обычно проверяет строку агента пользователя, включенную в запрос на скачивание, чтобы определить устройство или клиент (например, браузер, WinGet). Если вы можете скачать установщик с помощью браузера, но у вас возникли проблемы с WinGet, возможно, ISV заблокировал строку агента пользователя WinGet.
Строка агента пользователя для WinGet имеет следующий формат:
winget-cli WindowsPackageManager/{Client Version} DesktopAppInstaller/Microsoft.DesktopAppInstaller {AppInstaller Version}
Пример:
winget-cli WindowsPackageManager/1.9.25200 DesktopAppInstaller/Microsoft.DesktopAppInstaller v1.24.25200.0
Системный контекст
WinGet поставляется с помощью установщика приложений в виде упаковаемого приложения. Приложения MSIX (упакованные) зависят от пакета, зарегистрированного для пользователя. Так как пакеты можно зарегистрировать для любого пользователя, кроме NT AUTHORITY\SYSTEM (aka LocalSystem, aka System), интерфейс командной строки WinGet не поддерживается в контексте системы. Модуль PowerShell Microsoft.WinGet.Client можно использовать в системном контексте с приложениями, установленными на компьютере.
Windows developer