Pokračujeme ve sdílení zajímavých případů. Před několika dny přišel e-mail od našeho čtenáře Vitaly. Níže je text dopisu:
"Ahoj! Nesetkal jsem se s problémem: poté, co byl počítač Windows 8 začleněn do domény AD, aplikace Metro na něm přestaly fungovat? Načte se úvodní obrazovka metra, zobrazí se ikony na ní, ale pokud kliknete na ikonu jakékoli aplikace Metro, bude to 2 Po 5 sekundách se zobrazí velká ikona aplikace, poté zmizí a vyvolá uživatele na úvodní obrazovku.
V protokolech takové chyby ID události: 5961 Aktivace aplikace pro systém Windows Spuštění smlouvy se nezdařilo s chybou: Aplikace se nespustila.
Také jsme si všimli, že takový problém je pozorován pouze u doménového účtu, pokud se přihlásíte do systému pod lokálním účtem - vše je přesně, spuštěny jsou všechny aplikace Metro.
V čem m. problém?
Díky předem! “
Problém jsme řešili poměrně dlouhou dobu: okamžitě jsme předpokládali, že problém může být v nesprávných parametrech stanovených zásadami doménových skupin. Rozhodli jsme se umístit strojový a uživatelský účet do samostatných testovacích OU (AD kontejnery) a zablokovali použití GPO domén na těchto OU - a to pomohlo, po restartování Metro, aplikace začaly běžet! To znamenalo, že zdrojem problémů byla nějaká skupinová politika. Postupným tříděním politik jsme zjistili, že toto chování moderních aplikací je vinné - politika, která každému (každému) uděluje práva na čtení do větve HKEY_CLASSES_ROOT (trochu divná politika, ale musí být z nějakého důvodu použita). Rozhodli jsme se zjistit důvody podrobněji..
Jeden z článků znalostní báze Microsoft Knowledge Base http://support.microsoft.com/kb/2798317 uvádí, že běžným důvodem, proč se aplikace Windows 8 Metro nemusí spustit, jsou nestandardní přístupová práva ke složkám nebo větvím. registr.
Ve Windows 8 se objevila zvláštní skupina Všechny balíčky aplikací (v této skupině má předdefinovaný SID - S-1-15-2-1), který pro moderní aplikace, aby správně fungovaly v systému Windows 8, musí mít přístup k určitým objektům registru a systému souborů
Zejména skupina Všechny aplikační balíčky musí mít přístup ke čtení (práva ke čtení, spouštění a seznamu obsahu obsahu) do následujících adresářů systému souborů:
- Programové soubory a programové soubory (x86)
- Windows
- % userprofile% \ AppData \ Local \ Microsoft \ Windows \ WER
V registru musí mít skupina Všechny aplikace balíčky práva na čtení následujících větví:
- HKEY_CLASSES_ROOT
- HKEY_LOCAL_MACHINE \ Ovladače
- HKEY_LOCAL_MACHINE \ HARDWARE
- HKEY_LOCAL_MACHINE \ SAM
- HKEY_LOCAL_MACHINE \ SOFTWARE (zejména HKEY_LOCAL_MACHINE \ Software \ Microsoft \ NET Framework Setup \ NDP, HKEY_LOCAL_MACHINE \ Software \ Microsoft \ RFC1156Agent \ CurrentVersion \ Parameters, HKEY_LOCAL_MACHINE \ Software \ Microsoft \ SQMClOCALK_
- HKEY_LOCAL_MACHINE \ SYSTEM
- HKEY_USERS
V našem případě se ukázalo, že práva na větev HKEY_CLASSES_ROOT jsou přepsána zásadou domény, a protože skupina Všechny aplikační balíčky z nějakého důvodu nepatří do konceptu Všichni, nemá přístup k této větvi. Proto, Metro-aplikace a nelze spustit. Zásadu jsme změnili nastavením oprávnění ke čtení větve HKEY_CLASSES_ROOT místní skupině Všechny aplikační balíčky.
V případě, že zdrojem problémů se spouštěním aplikací Metro v systému Windows 8 není politika, ale nesprávné změny v systému registrů / souborů - přístup lze udělit ručně.
Velmi důležité! V žádném případě nepřepisujte (nezdědit) práva na podřízené objekty souborového systému nebo větví registru. Faktem je, že dětským objektům lze přiřadit vlastní přístupová práva, jiná než rodičovská, která mohou být během dědičnosti vymazána, čímž se narušuje činnost systému nebo aplikací..V našem příkladu by to následovalo:
- Otevřete Editor registru (regedit.exe),
- Klepněte na ovládací panel ve větvi HKEY_CLASSES_ROOT a vyberte položku nabídky Oprávnění (oprávnění)
- Dolní snímek obrazovky ukazuje, že skupina Všechny aplikační balíčky není v seznamu přístupů. Klikněte na tlačítko Přidat (Přidat), do druhého pole (Z tohoto umístění) zadejte oblast hledání - místní počítač (ve výchozím nastavení hledejte celou doménu) a zadejte název skupiny - Všechny balíčky aplikací. Poté klikněte na Dobře.
- Kliknutím na tlačítko Pokročilé, ujistěte se, že je dědictví zakázáno.
- Kliknutím na Dobře, zachovat práva na pobočku.
- Restartujte systém a zkontrolujte, zda budou aplikace Metro spuštěny z účtu domény.
Doufáme, že řešení popsaného problému bude užitečné pro někoho jiného.