Aplikacje Windows 8 Metro nie działają po wejściu do domeny

Nadal dzielimy się interesującymi przypadkami. Kilka dni temu przyszedł e-mail od naszego czytelnika Witalij. Poniżej znajduje się tekst listu:

„Witaj! Nie napotkałem problemu: po włączeniu komputera z systemem Windows 8 do domeny AD aplikacje Metro przestały na nim działać? Ekran startowy Metro jest załadowany, wyświetlane są ikony, ale jeśli klikniesz ikonę dowolnej aplikacji Metro, będzie to 2 -5 sekund, pojawi się duża ikona aplikacji, po czym znika i wyświetla użytkownika na ekranie początkowym.

W dziennikach takie błędy Identyfikator zdarzenia: 5961 Aktywacja aplikacji dla systemu Windows Uruchomienie umowy nie powiodło się z błędem: Aplikacja nie uruchomiła się.

Zauważyliśmy również, że taki problem występuje tylko w przypadku konta domeny, jeśli zalogujesz się do systemu na koncie lokalnym - wszystko jest dokładnie tak, że uruchamiane są wszelkie aplikacje Metro.

Istnieją pomysły w tym, co m. problem?

Z góry dziękuję! ”

Problem rozwiązywaliśmy przez dość długi czas: od razu założyliśmy, że przyczyną problemu mogą być nieprawidłowe parametry ustawione przez zasady grupy domen. Zdecydowaliśmy się umieścić konto komputera i użytkownika w osobnych testowych jednostkach organizacyjnych (kontenery AD) i zablokowaliśmy korzystanie z GPO domeny na tych jednostkach organizacyjnych - i to pomogło, po zrestartowaniu Metro, aplikacje zaczęły działać! Oznaczało to, że źródłem problemów była jakaś polityka grupowa. Po sekwencyjnym sortowaniu polityk ustaliliśmy, że takie zachowanie współczesnych aplikacji jest winne - polityka, która przyznaje wszystkim (wszystkim) prawa do odczytu gałęzi HKEY_CLASSES_ROOT (nieco dziwna polityka, ale z jakiegoś powodu należy jej użyć). Postanowiliśmy bardziej szczegółowo wyjaśnić przyczyny..

Jeden z artykułów w bazie wiedzy Microsoft Knowledge Base http://support.microsoft.com/kb/2798317 mówi, że częstym powodem, dla którego aplikacje Windows 8 Metro mogą się nie uruchamiać, są niestandardowe prawa dostępu do folderów lub oddziałów. rejestr.

Faktem jest, że w Windows 8 pojawiła się specjalna grupa Wszystkie pakiety aplikacji (w tej grupie ta ma wstępnie zdefiniowany identyfikator SID - S-1-15-2-1), który, aby nowoczesne aplikacje działały poprawnie w systemie Windows 8, musi mieć dostęp do niektórych obiektów rejestru i systemu plików

W szczególności grupa Wszystkie pakiety aplikacji musi mieć dostęp do odczytu (prawa do odczytu, wykonywania i listy zawartości folderu) do następujących katalogów systemu plików:

  • Pliki programów i pliki programów (x86)
  • Windows
  • % userprofile% \ AppData \ Local \ Microsoft \ Windows \ WER

W rejestrze grupa Pakiety wszystkich aplikacji musi mieć prawa do odczytu następujących gałęzi:

  • HKEY_CLASSES_ROOT
  • HKEY_LOCAL_MACHINE \ Drivers
  • HKEY_LOCAL_MACHINE \ HARDWARE
  • HKEY_LOCAL_MACHINE \ SAM
  • HKEY_LOCAL_MACHINE \ SOFTWARE (w szczególności HKEY_LOCAL_MACHINE \ Software \ Microsoft \ NET Framework Setup \ NDP, HKEY_LOCAL_MACHINE \ Software \ Microsoft \ RFC1156Agent \ CurrentVersion \ Parameters, HKEY_LOCAL_MACHINE \ Software \ Microsoft \ SQMCLOCALWK
  • HKEY_LOCAL_MACHINE \ SYSTEM
  • HKEY_USERS

W naszym przypadku okazało się, że prawa do gałęzi HKEY_CLASSES_ROOT są nadpisywane przez zasady domeny, a ponieważ z jakiegoś powodu grupa Wszystkie pakiety aplikacji nie należy do koncepcji Wszyscy, nie ma dostępu do tej gałęzi. Dlatego aplikacje Metro i nie można uruchomić. Zmieniliśmy zasady, ustawiając uprawnienia do odczytu gałęzi HKEY_CLASSES_ROOT do grupy lokalnej Wszystkie pakiety aplikacji.

W przypadku, gdy źródłem problemów z uruchamianiem aplikacji Metro w systemie Windows 8 nie są zasady, ale nieprawidłowe zmiany w rejestrze / systemie plików - dostęp można przyznać ręcznie.

Bardzo ważne! W żadnym wypadku nie zastępuj (nie dziedzicz) uprawnień do obiektów potomnych systemu plików lub gałęzi rejestru. Faktem jest, że do obiektów potomnych można przypisać własne prawa dostępu, inne niż nadrzędne, które można usunąć podczas dziedziczenia, zakłócając w ten sposób działanie systemu lub aplikacji.

W naszym przykładzie byłoby to następujące:

  1. Otwórz Edytor rejestru (regedit.exe),
  2. Kliknij panel sterowania w gałęzi HKEY_CLASSES_ROOT i wybierz pozycję menu Uprawnienia (uprawnienia)
  3. Dolny zrzut ekranu pokazuje, że grupy Wszystkie pakiety aplikacji nie ma na liście dostępu. Kliknij przycisk Dodaj (Dodaj), w drugim polu (Z tej lokalizacji) określ obszar wyszukiwania - komputer lokalny (domyślnie wyszukaj całą domenę) i określ nazwę grupy - Wszystkie pakiety aplikacji. Następnie kliknij Okej.
  4. Klikając przycisk Zaawansowane, upewnij się, że dziedziczenie jest wyłączone.
  5. Klikając Okej, zachowaj prawa do oddziału.
  6. Uruchom ponownie system i sprawdź, czy aplikacje Metro będą działać z poziomu konta domeny.

Mamy nadzieję, że rozwiązanie opisanego problemu przyda się komuś innemu.