Вопрос или проблема
Недавно начали появляться некоторые уведомления при запуске Windows (показаны во вложении), и я не могу найти способ их отключить.
Только ли я сталкиваюсь с этим новым раздражителем?
Моя основная проблема с этим связана с тем, что это устанавливает новый Powershell 7.5.0, который еще не поддерживается conda
Я пытался закрепить версию powershell без успеха с помощью
winget pin add "Microsoft.PowerShell" --version 7.4.7.0
Я отключил
- Магазин приложений > Настройки > Обновления приложений
- Центр обновления Windows > Получать последние обновления, как только они будут доступны
- Центр обновления Windows > Дополнительные параметры > Получать обновления для других продуктов Microsoft
последний пункт снова включается при перезагрузке :/, но это не должно быть причиной проблемы, так как я видел, что не-Microsoft продукты обновляются автоматически, например, ccleaner
Единственное временное решение – установить мое интернет-соединение как лимитированное :/
Последнее время я практически исключительно устанавливаю свои программы с помощью winget, надеясь получить больше контроля.
Версия моей Windows:
Имя ОС Microsoft Windows 11 Home
Версия 10.0.22631 Сборка 22631
Ответ или решение
Ваша ситуация с автоматическим обновлением пакетов через winget
во время запуска Windows может быть не только раздражающей, но и может создать проблемы с вашим программным обеспечением, как в случае с несовместимой версией PowerShell, которая не поддерживается conda
. Давайте разберемся в том, что происходит, и как это можно исправить.
Теория
winget
— это диспетчер пакетов для Windows, который упрощает установку, обновление и управление программным обеспечением. Обычно обновления выполняются вручную, однако существует вероятность, что несколько настроек или скриптов могут инициировать автоматические обновления. Причины, по которым ваши пакеты могут обновляться автоматически, могут включать:
- Настройки своей программы: Некоторые приложения имеют внутренние настройки, позволяющие автоматически проверять и производить обновления при запуске.
- Планировщик задач: Автоматизация обновлений может быть настроена с помощью планировщика задач Windows, который запускает определенные команды.
- Влияние сторонних программ: Некоторые сторонние программы, даже если они не являются продуктами Microsoft, могли включить соответствующие обновления как часть своих параметров.
- Неправильное конфигурирование
winget
или сопутствующих служб: Возможно,winget
был настроен на автоматические проверки с помощью скриптов или политики, которые активируются при старте системы.
Пример
Рассмотрим пример с проблемой обновления PowerShell до версии 7.5.0, которая не поддерживается conda
. Ваши попытки заблокировать обновление конкретной версии PowerShell обнаруженными методами (например, через команду winget pin
) не имели успеха. Это может свидетельствовать о том, что есть другой процесс, который инициирует эти обновления, возможно связанный с вышеупомянутыми пунктами.
Вы упомянули, что отключали обновления через Microsoft Store, а также изменяли особенности обновления Windows, однако это не решило проблему, поскольку, вероятно, существует другой механизм обновления вне стандартных параметров Microsoft.
Применение
Теперь давайте разберемся, какие шаги вы можете предпринять для решения этой проблемы:
-
Проверка и внесение изменений в Планировщик задач:
- Откройте Планировщик задач (Task Scheduler) и ищите задачи, связанные с
winget
или упоминанием обновлений приложений. Эти задачи могут быть настроены на автоматический запуск и выполнение обновлений. - Если такие задачи найдены, вы можете отключить или удалить их, если они вам не нужны.
- Откройте Планировщик задач (Task Scheduler) и ищите задачи, связанные с
-
Изучение скриптов автозагрузки:
- Проверьте наличие скриптов или пакетных файлов, которые могли бы запускаться при старте системы и инициировать обновление через
winget
. Папка автозагрузки находится по путиC:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
. - Также проверьте реестр Windows на предмет автоматизированных команд в секции
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
.
- Проверьте наличие скриптов или пакетных файлов, которые могли бы запускаться при старте системы и инициировать обновление через
-
Конфигурация Winget и ограничения обновлений:
- Возможно, имеет смысл проверить конфигурации
winget
, который сохраняется в файлах конфигурации JSON в папке пользователя. Измените или создайте настройки, чтобы отключить автоматические проверки обновлений. - Ознакомьтесь с документацией
winget
, чтобы убедиться, что применения команды для блокировки обновления (например, через командуwinget pin
) соответствуют версии инструмента.
- Возможно, имеет смысл проверить конфигурации
-
Мониторинг сетевой активности:
- Поскольку переключение в режим ограниченного использования сети решает проблему временно, изучите сетевую активность через средства мониторинга, такие как Resource Monitor или сторонние сетевые анализаторы, чтобы выявить конкретные процессы, инициирующие обновления.
-
Проверка на сторонние программы:
- Следует просмотреть все установки сторонних программ на предмет их автоматических параметров обновления и при необходимости настроить их вручную.
-
Создание исключений и политик корпоративного уровня:
- Если вам необходимо управлять обновлениями на корпоративном уровне, рассмотрите создание политик развертывания обновлений через Active Directory или иные системы управления для защиты ключевых программных конфигураций.
Заключение
Ваш случай иллюстрирует необходимость комплексного подхода к управлению обновлениями и тех задач, которые их инициируют. Используя представленные шаги, вы получите более контролируемую среду пакетов через winget
и устраняете возможность несогласованных обновлений, сохраняя стабильность и совместимость ваших инструментов разработки.