I dalje dijelimo zanimljive slučajeve. Prije nekoliko dana stigao je e-mail od našeg čitatelja Vitalij. Ispod je tekst pisma:
"Pozdrav! Nisi naišao na problem: nakon što je računalo sa sustavom Windows 8 uključeno u AD domenu, Metro aplikacije prestale su raditi na njemu? Početni zaslon Metroa je učitan, ikone na njemu su prikazane, ali ako kliknete ikonu bilo koje Metro aplikacije, to je 2 -5 sekundi se pojavljuje velika ikona aplikacije, nakon čega nestaje i korisnika baca na početni zaslon.
U zapisnicima su takve pogreške ID događaja: 5961 Aktiviranje aplikacije za Windows. Ugovor nije pokrenut s pogreškom: aplikacija se nije pokrenula.
Primijetili smo i da se takav problem uočava samo kod računa domene, ako se prijavite u sustav pod lokalnim računom - sve je točno, pokrenite bilo koje Metro aplikacije.
Postoje ideje u što m. problem?
Unaprijed hvala! "
Problemom smo se bavili prilično dugo: odmah smo pretpostavili da se problem može nalaziti u pogrešnim parametrima koje postavljaju pravila grupe domena. Odlučili smo stroj i korisnički račun staviti u odvojene testne OU (AD kontejnere) i blokirali upotrebu domena GPO na ovim OU - i to je pomoglo, nakon ponovnog pokretanja Metroa, aplikacije su se počele pokrenuti! To je značilo da je izvor problema bila neka vrsta grupne politike. Uzastopnim razvrstavanjem pravila utvrdili smo da je za ovakvo ponašanje suvremenih aplikacija krivo - politika koja omogućuje svima (svima) da čitaju prava u ogranku HKEY_CLASSES_ROOT (pomalo čudna politika, ali to treba koristiti iz nekog razloga). Odlučili smo detaljnije otkriti razloge..
Jedan od članaka u Microsoftovoj bazi znanja http://support.microsoft.com/kb/2798317 kaže da je čest razlog zašto se Windows 8 Metro aplikacije možda ne pokreću nestandardna prava pristupa mape ili podružnice registra.
Činjenica je da se u sustavu Windows 8 pojavila posebna skupina Svi aplikacijski paketi (u ovoj skupini ima unaprijed definirani SID - S-1-15-2-1) koji za moderni Apps radi ispravno u sustavu Windows 8 mora imati pristup određenim objektima registra i datotečnom sustavu
Konkretno, svi aplikacijski paketi moraju imati pristup za čitanje (prava čitanja, izvršavanja i popisa mape Sadržaj) do sljedećih direktorija datotečnog sustava:
- Programske datoteke i programske datoteke (x86)
- Windows
- % userprofile% \ AppData \ Local \ Microsoft \ Windows \ WER
U registru, grupa svih programskih paketa mora imati prava čitanja na sljedeće grane:
- HKEY_CLASSES_ROOT
- HKEY_LOCAL_MACHINE \ Vozači
- HKEY_LOCAL_MACHINE \ HARDWARE
- HKEY_LOCAL_MACHINE \ SAM
- HKEY_LOCAL_MACHINE \ SOFTWARE (posebice HKEY_LOCAL_MACHINE \ Software \ Microsoft \ NET Framework Setup \ NDP, HKEY_LOCAL_MACHINE \ Software \ Microsoft \ RFC1156Agent \ CurrentVersion \ Parametri, HKEY_LOCAL_MACHINE \ Software \ Microsoft \ SQLKALKALCALKALKALJU \ SQLMCL
- HKEY_LOCAL_MACHINE \ SYSTEM
- HKEY_USERS
U našem se slučaju pokazalo da su prava na granu HKEY_CLASSES_ROOT prepisana pravilima domena, a zbog toga što grupa All Application Packages iz nekog razloga ne pripada konceptu Every, nema pristup ovoj grani. Stoga se Metro-aplikacije i ne mogu pokrenuti. Izmijenili smo pravilo postavljanjem dozvola za čitanje podružnice HKEY_CLASSES_ROOT u lokalnu grupu All Application Packages.
U slučaju da izvor problema s pokretanjem Metro aplikacija u sustavu Windows 8 nije pravilo, već su pogrešne promjene u registru / datotečnom sustavu - pristup se može odobriti ručno.
Vrlo važno! Ni u kojem slučaju ne prepisujte (ne nasljeđujte) prava na podređene objekte datotečnog sustava ili podružnice registra. Činjenica je da se dječjim objektima mogu dodijeliti vlastita prava pristupa, osim roditeljskih, koja se mogu izbrisati tijekom nasljeđivanja i tako narušiti rad sustava ili aplikacija.U našem primjeru slijedi:
- Otvoreni uređivač registra (regedit.eXE),
- Kliknite upravljačku ploču u grani HKEY_CLASSES_ROOT i odaberite stavku izbornika dozvole (Rezolucija)
- Na donjoj snimci zaslona vidi se da se grupa aplikacija svih paketa ne nalazi na popisu pristupa. Kliknite gumb za dodavanje (dodati), u drugom polju (s ove lokacije) navedite područje pretraživanja - lokalno računalo (prema zadanim postavkama pretražite cijelu domenu) i navedite naziv grupe - Svi aplikacijski paketi. Zatim kliknite U redu.
- Klikom na gumb napredan, provjerite je li nasljeđivanje onemogućeno.
- Klikom na U redu, zadržati prava na podružnicu.
- Ponovno pokrenite sustav i provjerite hoće li se Metro-aplikacije pokrenuti s računa domene.
Nadamo se da će rješenje opisanog problema biti korisno i nekom drugom.