Продолжаем делиться интересными кейсами. На днях в электронную почту пришло письмо от нашего читателя Vitaly. Ниже текст письма:
«Привет! Не сталкивались с проблемой: после того как компьютер с Windows 8 включили в домен AD на нем перестали работать Metro-приложения? Стартовый Metro-экран грузится, значки на нем отображаются, но если кликнуть по пиктограммке любого Metro-приложения – на 2-5 секунд появляется большая иконка приложения, после чего она пропадает, а пользователя выкидывает на начальный экран.
В логах такие ошибки Event ID: 5961 Activation of the app for the Windows.Launch contract failed with error: The app didn’t start.
Также заметили, что такая проблема наблюдается только с доменной учетной записью, если в систему войти под локальной учеткой – все ровно, любые Metro Apps запускаются.
Есть идеи в чем м.б. проблема?
Заранее спасибо!»
С проблемой разбирались довольно долго: мы сразу предположили, что проблема может быть в некорректных параметрах, задаваемых доменными групповыми политиками. Решили поместить машину и учетную запись пользователя в отдельные тестовые OU (контейнеры AD) и заблокировали применение доменных GPO на эти OU – и это помогло, после перезагрузки Metro приложения стали запускать! Это означало, что источник проблем – какая-то групповая политика. Путем последовательного перебора политик определили, что виновна в такого поведения современных приложений – политика, представляющая всем (Everyone) права чтения на ветку HKEY_CLASSES_ROOT (немного странная политика, но ее по какой-то причине требуется использовать). Мы решили разобраться в причинах подробнее.
В одной из статей базы знаний Microsoft http://support.microsoft.com/kb/2798317, говорится, о том, что распространённая причина, из-за которой могут не запускаться Metro-приложения Windows 8 — нестандартные права доступа к папкам или веткам реестра.
Дело в том, что в Windows 8 появилась особая группа All Application Packages (в этом эта группа имеет предопределенный SID — S-1-15-2-1), которая для корректной работы Modern Apps в Windows 8 должна иметь доступ к определенным объектам реестра и файловой системы
В частности, группа All Application Packages должна иметь доступ на чтение ( права Read, Execute и List folder Contents) к следящим каталогам файловой системы:
- Program Files и Program Files (x86)
- Windows
- %userprofile%\AppData\Local\Microsoft\Windows\WER
В реестре же группа All Applications Packages должна обладать правами чтения (Read) на следующие ветки:
- HKEY_CLASSES_ROOT
- HKEY_LOCAL_MACHINE\Drivers
- HKEY_LOCAL_MACHINE\HARDWARE
- HKEY_LOCAL_MACHINE\SAM
- HKEY_LOCAL_MACHINE\SOFTWARE ( в частности HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP, HKEY_LOCAL_MACHINE\Software\Microsoft\RFC1156Agent\CurrentVersion\Parameters, HKEY_LOCAL_MACHINE\Software\Microsoft\SQMClient, HKEY_LOCAL_MACHINE\SOFTWARE\ODBC
- HKEY_LOCAL_MACHINE\SYSTEM
- HKEY_USERS
В нашем случае оказалось, что права на ветку HKEY_CLASSES_ROOT перезаписываются доменной политикой, а так как почему-то группа All Application Packages не относится к понятию Everyone, доступ к этой ветке у нее отсутствует. Поэтому Metro-приложения и не могут запустится. Мы изменили политику, настроив предоставление права на чтение ветки HKEY_CLASSES_ROOT также локальной группе All Application Packages.
В том случае, если источник проблем с запуском Metro-приложений в Windows 8 не политика, а некорректные изменения в реестре/файловой системе – доступ можно предоставить и вручную.
В нашем примере следовало бы:
- Открыть редактор реестра (regedit.exe),
- Щелкнуть ПКП во ветке HKEY_CLASSES_ROOT и выбрать пункт меню Permissions (разрешения)
- На нижнем скриншоте видно, что группы All Application Packages в списке доступа нет. Нажмем кнопку добавить (Add), во втором поле (From this location) указать область поиска – локальный компьютер (по умолчанию поиск по всему домену), и указать имя группы — All Application Packages. Затем нажать ОК.
- Нажав на кнопку Advanced, убедитесь что наследование отключено.
- Нажав ОК, сохраним права на ветку.
- Перезагрузите систему и проверьте будут ли запускать Metro-приложения из-под доменной учетной записи.
Надеемся, что решение описанной проблемы будет полезным еще кому-то.
Здравствуйте! Спасибо за интересную статью! Очень бы хотелось бы продолжить тему вот в каком ключе: при настройке системы часто происходит следующее — приложения Метро запускаются, но не работают из-за невозможности соединения по интернету. Никакие манипуляции втом числе полное удаление метро-приложений и установка заново проблемы не решают. Иногда помогает команда netsh winhttp import proxy source=ie но далеко не для всех приложений. интересно что этой «болезни» больше подвержены приложения сторонних компаний, а не Микрософт. Проблема эта очень распространенная, решение не очевидно. Возможно это связано с настройками ИЕ и политики безопасности (не уверен что это так).
Приветствую!
В Вашем случае проблемы наблюдаются с обычным «домашним» компьютером, который работает с интернетом напрямую? или речь все — таки о сети предприятий — с прокси серверами, файерволами, политиками и правилами доступа к интернету?
Здравствуйте! Подобные проблемы очень часто встречаются на восьмерочных форумах без особых успехов в их решении. Что касается личной ситуации — у меня домашний компьютер, подключеный к инету через ADSL router. Правда я стараюсь настраивать локальную политику безопасности и локальную групповую политику (основные настройки повышающие безопасность системы ну и еще SRP). Настраиваю еще и брандмауэр (исходящие подключения в режиме повыш. безопасности). Дело точно не в брандмауэре т.к. если открываю все исход соединения ничего не меняется. Речь идет о приложениях типа MeGoGo, погода и почта от Микрософт работают нормально.
Не помогло, к сожалению
Проведение процедур, описанных в этой статье приводит к тому, что кроме восстановления работоспособности «плиток», возникает побочный эффект. Начинает ругаться защитник windows на отключенное антишпионское и антивирусное ПО. Хотя брандмауер windows и установленный avast free продолжают работу. С чем связано не знаю — не специалист. Удаление из разрешений ветки реестра HKEY_CLASSES_ROOT All Application Packages восстанавливает работу защитника windows, но «убивает» «плитки».