Default Apps Guard
Default Apps Guard
Короткий практический гайд для случая: Windows уже установлена, нужные программы уже стоят, defaults выставлены вручную, и хочется запретить Windows снова делать Edge браузером или PDF-читалкой.
Быстрый Ритуал
- Запусти
launcher_gui.cmdобычным способом и подтверди UAC. - Открой
ПРИЛОЖЕНИЯ ПО УМОЛЧАНИЮ -> ПОЛИТИКА. - Для важной точки отката заполни
Метка резервной копии, напримерgolden-before,before-faststoneилиclean-windows-office. - Выбери
Проверить — чем сейчас открываются файлыи проверь текущую картину: browser, PDF, текст/Office, архивы, картинки, видео, аудио и playlists. - Выбери
Экспортировать текущие ассоциации в эталон.
Это читает текущие Windows associations и заменяет управляемый эталон profiles\default_apps\AppAssociations.xml; timestamp backup сохраняется отдельно.
- Оставь включённым
Закреплять жёстко.
Это hard mode: policy будет возвращать associations при каждом входе пользователя.
- Выбери
Закрепить сохранённые ассоциации.
Команда скопирует XML в C:\ProgramData\Audion\DefaultApps\AppAssociations.xml, включит HKLM policy DefaultAssociationsConfiguration и выполнит gpupdate /force.
- Сделай sign out/sign in или reboot.
- После входа снова запусти
Проверить — чем сейчас открываются файлы.
Смысл: мы не просим Windows быть вежливой. Мы даём ей официальный admin-policy приказ возвращать эталонный набор associations при входе.
Поле Какие типы файлов отслеживать стоит прямо в форме, чипами по группам. Оно не меняет эталонный XML и не строит policy; это фильтр для проверки и сравнения current/profile/policy. Обычно его можно не трогать. Если нужна точечная диагностика, используй кнопки-пресеты Все, Снять, По умолчанию и группы Ссылки, Текст, Офис, Архивы, Картинки, Видео, Аудио, Плейлисты. Свои расширения дописываются в поле Добавить свои типы.
Что Делают Команды
Проверить — чем сейчас открываются файлы- read-only диагностика. Сравнивает current user, эталонный profile XML и active policy XML.Сохранить снимок текущего состояния- делает backup текущих associations без изменения управляемого эталона.Экспортировать текущие ассоциации в эталон- заменяет эталонныйAppAssociations.xmlтем, что сейчас назначено в Windows. Это не включает policy, но следующий запуск защиты будет принуждать уже этот эталон.Взять эталон из файла- заносит выбранный сохранённый снимок или внешний валидный DISMAppAssociations.xmlв управляемый эталон. XML может быть из этой утилиты, изDISM /Export-DefaultAppAssociations, с другой совместимой машины или из deployment baseline.Закрепить сохранённые ассоциации- включает или чинит HKLM policy по управляемому XML. Требует уже существующий эталон: созданный через перезапись из текущей системы или импортированный внешним XML.Снять закрепление- снимает policy-слой, но не обещает вернуть Edge/Photos/Media Player.Открыть папку эталона/Открыть папку закреплённого набора/Открыть папку резервных копий- открывают рабочие папки модуля без изменения системы.Убрать старые резервные копии- удаляет только старые безымянные timestamp backups видаPrefix_YYYY-MM-DD_HH-mm-ss.xml. Именованные backups, ручные файлы и.note.txtзаметки сохраняются. По умолчанию работает в dry-run.
Policy-слой - это machine-level значение HKLM\SOFTWARE\Policies\Microsoft\Windows\System\DefaultAssociationsConfiguration, которое указывает Windows на активный AppAssociations.xml в ProgramData. Оно отвечает за повторное применение default app associations при входе пользователя. Отключение policy-слоя удаляет этот приказ, но не меняет мгновенно текущие ассоциации пользователя.
Для восстановления из собственного backup не нужен input: в действии Взять эталон из файла есть список Сохранённый снимок, который сканирует backup\default_apps. Ручной выбор Файл с другого компьютера нужен только для файла извне или когда backup лежит не в штатной папке.
Как Узнать Нужный Backup
У backup есть timestamp, SHA256 в логе и опциональная Метка резервной копии. Если поле заполнено, модуль добавляет метку в имя backup-файла и пишет рядом .note.txt.
Пример:
AppAssociations_export_2026-05-25_14-30-00_golden-before.xml
AppAssociations_export_2026-05-25_14-30-00_golden-before.xml.note.txt
Метка резервной копии не влияет на содержимое XML и policy. Это только человеческий ярлык для поиска и понимания, какой снимок был “тот самый”.
Забавности Windows
- На Windows 11 Home/Core policy
DefaultAssociationsConfigurationне считается гарантированным путём: Microsoft документирует её для Pro/Enterprise/Education/IoT Enterprise.Проверить — чем сейчас открываются файлыпокажет edition, аЗакрепить сохранённые ассоциациипо умолчанию остановится на Home/Core, чтобы не создавать ложное чувство защиты. - Policy обычно реально применяется при новом входе пользователя, не в текущей сессии.
- После чистой установки XML может быть неполным, пока delay-installed apps ещё не зарегистрировались.
- Если приложение обновилось и сменило ProgId, старый XML может перестать попадать в цель. Тогда снова сделай
Экспортировать текущие ассоциации в эталониЗакрепить сохранённые ассоциации. - Edge, Photos и Media Player могут продолжать уговаривать стать default-приложениями внутри своего UI.
Suggested=trueделает association мягкой/однократной. Для защиты от возврата Edge лучше держать включённымЗакреплять жёстко.- Browser/PDF associations сильнее защищены через
UserChoice/UCPD. Поэтому модуль не правитUserChoiceруками. - XML с другой машины может не сработать идеально, если там другой набор приложений или ProgId.
Снять закреплениетолько снимает приказ. Текущее состояние defaults остаётся как есть до следующих пользовательских или системных изменений.
Официальная Граница
Основной слой модуля построен на документированном Microsoft admin/deployment path:
- DISM default app associations;
DefaultAssociationsConfigurationpolicy;- registry path
HKLM\SOFTWARE\Policies\Microsoft\Windows\System; Suggestedbehavior в Windows 11 22H2+;- применение policy при sign-in.
Снимки ассоциаций текущего пользователя не входят в ПОЛИТИКУ: они живут на вкладках СНИМОК и ГРУППЫ, читают UserChoice\ProgId из реестра и только фиксируют состояние. Записывать обратно личный выбор пользователя проект не умеет и не будет — Windows защищает его проверочной суммой.
Если Это Windows 11 Home
Честный ответ: recurring policy-магия может не работать, потому что Microsoft не документирует DefaultAssociationsConfiguration для Home/Core editions.
Что остаётся полезным:
Проверить — чем сейчас открываются файлы- диагностика текущих associations, profile XML, policy XML и Windows edition.Сохранить снимок текущего состояния- безопасный снимок текущих defaults.Экспортировать текущие ассоциации в эталон- создание эталонного XML для хранения/переноса.Взять эталон из файла- загрузка готового XML в managed profile.
Что не обещаем:
- что HKLM policy будет повторно применять defaults при каждом входе;
- что browser/PDF associations удастся удержать через неподдержанную Home/Core policy на 100%;
- что
DISM /Online /Import-DefaultAppAssociationsпочинит уже существующего пользователя. По документации DISM import применяет default associations при первом входе пользователя, то есть это больше deployment/new-user baseline, чем восстановитель текущего профиля.
В GUI есть expert-чекбокс Разрешить неподдерживаемую редакцию. Он позволяет попробовать policy path на Home/Core, но это режим теста, а не документированная гарантия.
Источники
- <https://learn.microsoft.com/en-us/windows/client-management/mdm/policy-csp-applicationdefaults>
- <https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/dism-default-application-association-servicing-command-line-options?view=windows-11>
- <https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/export-or-import-default-application-associations?view=windows-11>