Под капотом DMA в Windows: как легально разблокировать штатное удаление Edge и управлять компонентами Bing через реестр и PowerShell

Каждый, кто пытался полностью избавиться от Microsoft Edge в Windows 10 или 11, сталкивался с тем, что кнопка «Удалить» в системных настройках заблокирована. В сети популярны радикальные скрипты, которые «с мясом» вырезают папки браузера, но такой подход деструктивен: он ломает связанные системные компоненты (например, веб-виджеты) и приводит к ошибкам при установке ежемесячных накопительных обновлений Windows.

Между тем, в самой ОС уже заложен штатный и безопасный механизм деинсталляции. С вступлением в силу Закона о цифровых марках (DMA) в Европейской экономической зоне (EEA), Microsoft была вынуждена официально разрешить европейцам удалять Edge, отключать Bing-поиск и гибко управлять компонентами системы.

В этой статье мы разберем техническую изнанку региональных ограничений Windows, научимся точечно переключать внутренние политики без сторонних твикеров, работать с Appx-пакетами Bing и безопасно автоматизировать эти процессы.

1. Анатомия региональной политики Windows

За применение правил регуляторов на уровне ОС отвечает специальная подсистема конфигурации. Её поведение диктуется конфигурационным файлом, расположенным по пути:C:\Windows\System32\IntegratedServicesRegionPolicySet.json

Если открыть этот JSON-файл, можно обнаружить глобальную структуру политик, привязанных к конкретным GUID. За доступность деинсталляции Microsoft Edge отвечает строго определенная запись:{1bca278a-5d11-4acf-ad2f-f9ab6d7f93a6}

Внутри этой секции содержатся параметры defaultState и массивы разрешенных двухбуквенных кодов стран (регионов). Когда пользователь открывает панель приложений, Windows сверяет текущий маркер устройства с этим списком.

Как скорректировать политику вручную

Прямое редактирование файла невозможно, так как он защищен правами TrustedInstaller. Для внесения изменений системному администратору требуется:

  1. Временно сменить владельца файла и переназначить права доступа (ACL) с помощью утилит takeown.exe и icacls.exe.

  2. Аккуратно модифицировать JSON-структуру, добавив нужный регион в секцию разрешения (при этом важно не заменять файл чужими шаблонами целиком, чтобы не нарушить целостность других политик).

  3. Восстановить первоначальные права доступа и вернуть владельца TrustedInstaller во избежание проблем с безопасностью ОС.

2. Снятие блокировки деинсталляции в реестре

Модификации одного лишь JSON-файла недостаточно. Операционная система дополнительно проверяет состояние регистрации Edge в стандартных ветках установленного ПО (как для 32-, так и для 64-разрядных представлений реестра):

text

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

Используйте код с осторожностью.

В этих разделах за возможность удаления отвечает ключевой флаг NoRemove. Если его значение равно 1, кнопка в интерфейсе ms-settings:appsfeatures будет серой.

Для разблокировки штатного деинсталлятора необходимо сбросить этот параметр в 0. На уровне PowerShell это выглядит следующим образом:

powershell

# Пример точечного сброса флага блокировки удаления
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Microsoft Edge" -Name "NoRemove" -Value 0

Используйте код с осторожностью.

Примечание: Если параметр изначально отсутствует в ветке конкретной версии (например, при MSI-установке), создавать его принудительно не стоит — это может вызвать конфликт конфигураций.

После проведения этих манипуляций системная служба подхватывает изменения мгновенно. Если теперь перейти в параметры Windows, выбрать Microsoft Edge, кнопка «Удалить» станет активной и запустит официальный, предусмотренный разработчиками деинсталлятор. Никакие системные файлы и профили пользователей из AppData принудительно не стираются — деструктивного вмешательства не происходит.

3. Выборочное управление компонентами Bing

Помимо браузера, в систему нередко интегрируются сопутствующие дополнительные приложения Microsoft Bing. Пытаться вырезать их через удаление исполняемых файлов в каталоге WindowsApps — плохая практика, чреватая нарушением стабильности.

Для корректной очистки следует использовать штатный механизм управления пакетами Appx для текущего пользователя. Поиск установленных пакетов Bing автоматизируется через PowerShell:

powershell

# Сканирование системы на наличие конкретного компонента Bing
Get-AppxPackage -Name "*Bing*" | Select-Object Name, Version

Используйте код с осторожностью.

Деинсталляция выполняется строго через командлет Remove-AppxPackage. При реализации такой очистки важно действовать выборочно и оставлять нетронутыми критически важные службы инфраструктуры поиска Windows (такие как Windows Search или Microsoft Edge WebView2), так как их принудительное удаление нарушит работу интерфейса ОС и стороннего софта.

4. Развертывание альтернативного окружения

После удаления Edge администратору часто требуется развернуть альтернативный веб-обозреватель (например, Brave). Чтобы автоматизировать этот процесс программно, можно использовать прямые запросы к официальным серверам обновлений:

text

https://brave.com

Используйте код с осторожностью.

При автоматической загрузке бинарных файлов через HttpClient критически важно соблюдать политики безопасности: ограничивать время ожидания (timeout) и контролировать размер скачиваемого объекта.

Главный этап автоматизации — проверка подлинности загруженного инсталлятора во избежание атак класса Man-in-the-Middle. Перед запуском EXE-файла необходимо верифицировать его цифровую подпись Authenticode:

powershell

# Проверка издателя перед исполнением кода
(Get-AuthenticodeSignature -FilePath ".\BraveBrowserSetup.exe").SignerCertificate.Subject

Используйте код с осторожностью.

Программа должна запускаться только в том случае, если статус подписи валиден, а издателем официально значится Brave Software.

Что в итоге?

Вместо использования агрессивных батников, ломающих операционную систему, гораздо разумнее использовать легитимные, заложенные самой Microsoft механизмы региональных политик (DMA).

Для тех, кто хочет автоматизировать все описанные шаги (бэкап исходного JSON, расчет контрольных сумм SHA-256, переключение политик, чистку Appx и безопасную установку Brave в один клик), я упаковал эту логику в небольшую бесплатную утилиту на C# и WinForms (.NET 10). Программа портативная, работает без установки и не оставляет хвостов в системе.

Проект полностью бесплатный, стабильная сборка Fs85EdgeRemover (v1.0.1) доступна для тестирования на моем Google Диске: https://drive.google.com/file/d/17HXUPWJojQywqFE7TRjDO3bP31n0uOR1/view?usp=sharing Буду рад обсудить в комментариях ваши методы оптимизации окружения Windows и то, как ведут себя региональные политики после прилета крупных обновлений ОС!