Ошибка при обновлении winget для обычного пользователя, не для администратора.

Вопрос или проблема

В последнее время winget перестал работать на моем компьютере с Windows 10, когда я работаю как обычный пользователь. Я получаю эту ошибку:
сообщение об ошибке обновления winget
Которая переводится примерно как:

Ошибка при попытке обновить источник: winget
Не удалось открыть предопределенный источник; пожалуйста, сообщите об этом разработчикам winget.
Неожиданная ошибка при выполнении команды:
0x80070005: доступ запрещен

Winget upgrade работает правильно, если я запускаю терминал от имени администратора.

Я думаю, UniGetUI как-то с этим связан. У меня winget работал превосходно. Затем я узнал об UniGetUI и решил попробовать. Несколько раз он работал хорошо, но затем я начал получать ошибки при его запуске, говоря, что winget “сломался” и его нужно восстановить. Что также несколько раз срабатывало, по-видимому.

Но затем winget upgrade перестал работать, когда запускается как обычный пользователь. Я удалил UniGetUI, установил его снова… Ничего…

Я попробовал несколько методов, которые нашел в Интернете и которые обещают это исправить, но безуспешно:

https://www.makeuseof.com/fix-winget-not-working-windows-11/
https://github.com/microsoft/winget-cli/issues/1826
https://windowsloop.com/fix-failed-in-attempting-to-update-the-source-winget-error/
https://answers.microsoft.com/en-us/windowsclient/forum/all/how-do-i-reinstall-winget/50faa798-20ce-429d-8cc2-a521b29f1155

Есть идеи, что может происходить и как это решить?

Ответ или решение

Ошибка при выполнении команды winget upgrade для обычного пользователя, но успешное выполнение под администратором — это частая проблема, связанная с правами доступа, конфигурацией системы и установленным ПО, которое может вмешиваться в работу системы. Давайте рассмотрим эту проблему более детально и предложим возможные решения.

Теория

Причины ошибки 0x80070005: Access Denied

Код ошибки 0x80070005 переводится как «Доступ запрещен». Это означает, что текущий пользователь не имеет достаточных прав для выполнения определенной операции или доступа к необходимым системным ресурсам. В контексте winget, данная ошибка обычно возникает из-за:

  1. Недостаточных прав доступа. Обычным пользователям может быть запрещено выполнять команды, которые требуют доступа к системным файлам и ресурсам.
  2. Конфликт с другими программами. Установка и использование UniGetUI могли изменить настройки winget, либо произвести изменения в системных компонентах, которые нарушили корректную работу winget для обычных пользователей.
  3. Повреждение конфигурационных файлов. Иногда используемые программами файлы конфигурации, кэши или реестры могут быть повреждены, что приводит к ошибкам.

Пример

Рассмотрим ваш случай:

  • Вы используете Windows 10 и столкнулись с тем, что winget перестал работать для обычных пользователей после установки и использования UniGetUI.
  • Вы наблюдаете, что работа от имени администратора решает проблему, что подтверждает гипотезу о недостаточной правоспособности учетной записи.

Действия, которые вы уже предпринимаете:

  • Вы удаляли и переустанавливали UniGetUI.
  • Пробовали несколько решений, предложенных в статьях и на форумах, которые не дали результата.

Применение: Решение проблемы

1. Проверьте права доступа

  • Убедитесь, что winget установлен на уровне системы, а не пользователя. В командной строке от имени администратора выполните:
    winget source reset
    winget source update
  • Проверьте права доступа к каталогу приложения. Убедитесь, что ваш пользователь имеет доступ к каталогам winget в папках Program Files.

2. Восстановите default источники winget

Иногда сторонние приложения могут изменять настройки источников winget. Выполните следующие команды в CMD от имени администратора:

winget source reset
winget source update

3. Удалите и переустановите winget

Если проблема не решается, попробуйте переустановить winget:

  • Удалите winget. Сначала убедитесь, что он полностью удален. Это можно сделать через PowerShell с правами администратора:
    Get-AppxPackage *Microsoft.DesktopAppInstaller* | Remove-AppxPackage
  • Установите winget заново. Посетите Microsoft Store и установите App Installer, который содержит winget.

4. Проверьте настройки безопасности и контроля учетных записей

  • Проверьте настройки UAC (User Account Control). Убедитесь, что уровень контроля учетных записей подходит для запуска winget обычным пользователем.

5. Изолируйте проблему

  • Временно отключите или удалите UniGetUI и повторите тесты работы winget. Это поможет определить, не является ли UniGetUI причиной проблемы.

6. Логи и отладка

  • Используйте логи для диагностики:
    winget --verbose upgrade

    Это даст более подробное представление о том, где именно возникает ошибка.

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

Оцените материал
Добавить комментарий

Капча загружается...