Приложенията за метро на Windows 8 не работят след влизане в домейна

Продължаваме да споделяме интересни случаи. Преди няколко дни дойде имейл от нашия читател Виталий. По-долу е текстът на писмото:

„Здравейте! Не срещнахте ли проблем: след като компютърът с Windows 8 беше включен в AD домейна, приложенията на Metro спряха да работят върху него? Началният екран на Metro е зареден, иконите върху него се показват, но ако щракнете върху иконата на което и да е приложение на Metro, това е 2 -5 секунди се появява голяма икона на приложение, след което тя изчезва и хвърля потребителя към началния екран.

В дневници такива грешки Идентификационен номер на събитието: 5961 Активиране на приложението за Windows. Договорът за стартиране е неуспешен с грешка: Приложението не се стартира.

Забелязахме също, че такъв проблем се наблюдава само с акаунт в домейн, ако влезете в системата под локален акаунт - всичко е точно, стартират се всички приложения на Metro.

Има идеи в какво м. проблемът?

Благодаря предварително! "

Справихме се с проблема доста дълго време: веднага предположихме, че проблемът може да е в неправилни параметри, зададени от правилата за групови групи. Решихме да поставим машината и потребителския акаунт в отделни тестови OU (AD контейнери) и блокирахме използването на GPO за домейни в тези OU - и това помогна, след като рестартирахте Metro, приложенията започнаха да се изпълняват! Това означаваше, че източникът на проблемите е някакъв вид групова политика. Чрез последователно сортиране на политиките ние установихме, че това поведение на съвременните приложения е виновно - политика, която предоставя на всички (Всички) права за четене на клона HKEY_CLASSES_ROOT (малко странна политика, но тя трябва да се използва по някаква причина). Решихме да разберем причините по-подробно..

Една от статиите в базата знания на Microsoft http://support.microsoft.com/kb/2798317 гласи, че често срещана причина, поради която приложенията на Windows 8 Metro може да не стартират, са нестандартни права за достъп до папки или клонове регистратура.

Факт е, че в Windows 8 се появи специална група Всички пакети за приложения (в тази група има предварително дефиниран SID - S-1-15-2-1), който, за да могат модерните приложения да работят правилно в Windows 8, трябва да имат достъп до определени обекти на системния регистър и файлова система.

По-специално групата на всички пакети за приложения трябва да има достъп за четене (права за четене, изпълнение и списък на съдържанието на папка) до следните директории на файловата система:

  • Програмни файлове и програмни файлове (x86)
  • Windows
  • % userprofile% \ AppData \ Local \ Microsoft \ Windows \ WER

В регистъра групата на всички пакети за приложения трябва да има права за четене на следните клонове:

  • HKEY_CLASSES_ROOT
  • HKEY_LOCAL_MACHINE \ Драйвери
  • HKEY_LOCAL_MACHINE \ HARDWARE
  • HKEY_LOCAL_MACHINE \ SAM
  • HKEY_LOCAL_MACHINE \ SOFTWARE (по-специално HKEY_LOCAL_MACHINE \ Софтуер \ Microsoft \ NET Framework Setup \ NDP, HKEY_LOCAL_MACHINE \ Софтуер \ Microsoft \ RFC1156Agent \ CurrentVersion \ Параметри, HKEY_LOCAL_MACHINE \ Software \ Microsoft \ SWKKKLWKCLKCLKCLKCLKCLKCLKCL)
  • HKEY_LOCAL_MACHINE \ SYSTEM
  • HKEY_USERS

В нашия случай се оказа, че правата за клона HKEY_CLASSES_ROOT са презаписани от политиката за домейни и поради някаква причина групата All Application Packages не принадлежи към концепцията на Every, няма достъп до този клон. Следователно, Metro-приложения и не могат да стартират. Променихме правилата, като зададохме разрешения за четене на клона HKEY_CLASSES_ROOT на местната група Всички пакети за приложения.

В случай че източникът на проблеми със стартирането на Metro-приложения в Windows 8 не е политика, а неправилни промени в системния регистър / файлова система - достъпът може да бъде предоставен ръчно.

Много важно! В никакъв случай не презаписвайте (не наследявайте надолу) правата върху дъщерни обекти на файловата система или клоновете на системния регистър. Факт е, че на дъщерните обекти могат да бъдат присвоени собствени права за достъп, различни от родителските, които могат да бъдат изтрити по време на наследяването, като по този начин нарушават работата на системата или приложенията.

В нашия пример ще следва:

  1. Отворен редактор на системния регистър (регентство.Търсейки),
  2. Щракнете върху контролния панел в клона HKEY_CLASSES_ROOT и изберете елемент от менюто Разрешения (Резолюция)
  3. Най-долната снимка показва, че групата „Всички пакети за приложения“ не е в списъка за достъп. Кликнете върху бутона за добавяне (Добави), във второто поле (От това местоположение) посочете областта за търсене - локалния компютър (по подразбиране търсете целия домейн) и посочете името на групата - Всички пакети за приложения. След това щракнете добре.
  4. С натискане на бутона напреднал, уверете се, че наследството е деактивирано.
  5. Като щракнете добре, запази правата за клона.
  6. Рестартирайте системата и проверете дали Metro-приложенията ще се изпълняват от акаунта в домейна.

Надяваме се, че решението на описания проблем ще бъде полезно за някой друг.