V tej opombi bom prikazal, kako popraviti napako c ID ID 10016 iz vira DistributedCOM v računalniku z operacijskim sistemom Windows 10 / Windows Server 2012 R2. Napaka DCOM 10016 je dokaj pogosta v odjemalcih in strežniški različici sistema Windows, začenši s časom Windows XP in je odpravljena na enak način, ne glede na različico sistema Windows.
Težava se kaže takole: naslednja napaka se prikaže v dnevniku sistemskih dogodkov, ko se računalnik zažene ali ko poskušate zagnati / namestiti aplikacijo:
Ime dnevnika: Sistem
Vir: DistributedCOM
ID dogodka: 10016
Raven: Napaka
Uporabnik: SISTEM
Opis: Nastavitve dovoljenj za posamezne aplikacije ne omogočajo lokalnega zaganjanja za aplikacijo strežnika COM s CLSID 1CCB96F4-B8AD-4B43-9688-B273F58E0910 in APPID AD65A69D-3831-40D7-9629-9B0B50A93843 NT AUTHORITY \ sistem s SID ( S-1-5-18) in LocalHost naslov (z uporabo LRPC). To varnostno dovoljenje lahko spremenite s pripomočkom za upravljanje komponentnih storitev..
V angleških različicah sistema Windows je napaka opis napake:
Privzete nastavitve za računalniško dovoljenje ne dovoljujejo dovoljenja za lokalno aktivacijo za program COM Server s CLSID
000209FF-0000-0000-C000-000000000046 in APPID ni na voljo uporabniku IIS APPPOOL \ appIISPool SID (S-1-5-82-3351576649-1006875745-771203599-42452693-1279824824) z naslova LocalHost (Uporaba LRPC), ki deluje v vsebnik aplikacije Unavailable SID (Ni na voljo). To varnostno dovoljenje lahko spremenite s skrbniškim orodjem Component Services.
Sodeč po opisu napake: uporabnik (na primer IIS Apppool) ali sistem (NT ORHORITY \ sistem) poskuša zagnati določeno COM komponento s pomočjo infrastrukture DCOM in tega ne more storiti zaradi pomanjkanja pravice lokalnega zagona ali lokalne aktivacije ( Lokalno dovoljenje za aktivacijo). Koda napake vsebuje samo klasne razrede komponente COM in aplikacije. Poskusimo ugotoviti, kateri aplikaciji pripada identifikator in zagotoviti pravice, potrebne za zagon.
Kopirajte CLSID in APPID iz opisa dogodka. V mojem primeru je tako
CLSID: 000209FF-0000-0000-C000-000000000046
APPID: AD65A69D-3831-40D7-9629-9B0B50A93843
(v nekaterih primerih identifikator aplikacije morda ni določen - APPID ni na voljo).
Bodite pozorni tudi na to, katera dovoljenja manjkajo (dovoljenje za lokalno aktivacijo) in za kateri račun (NT ORHORITY \ SYSTEM ali IIS APPPOOL \ appIISPool SID - S-1-5-82-3351576649-1006875745-771203599-42452693-1279824824).
V vsakem primeru se lahko identifikatorji razreda, aplikacije, računa in vrste dostopa razlikujejo.- Zaženite urejevalnik registra (regedit.exe);
- Pojdite v podružnico registra, ki ustreza vašem CLSID. Imam ga HKEY_CLASSES_ROOT \ CLSID \000209FF-0000-0000-C000-000000000046; V nekaterih primerih morate pogledati tudi registrski ključ [HKEY_CLASSES_ROOT \ Wow6432Node \ CLSID \. Če se na daljavo povežete z registrom, bo lociran v razdelku HKEY_LOCAL_MACHINE \ SOFTWARE \ Razredi \ AppID.
- Parameter razreda mora imeti ime. Imam to aplikacijo Microsoft Word; najpogosteje se ta težava pojavi pri komponentah:
Potopna lupina
CLSID: C2F03A33-21F5-47FA-B4BB-156362A2F239
APPID: 316CDED5-E4AE-4B15-9113-7055D84DCC97
Runtime posrednik
CLSID: D63B10C5-BB46-4990-A94F-E40B9D520160
APPID: 9CA88EE3-ACB7-47C8-AFC4-AB702511C276 - Z desno tipko miške kliknite registrski ključ in izberite Dovoljenja;
- Kliknite na gumb Napredno
- V razdelku Lastnik (Lastnik) bo navedeno NT storitev \ TrustedInstaller ali Sistem;
- Pritisnite gumb Spremeni se in vnesite ime svojega skrbniškega računa. Spremembe shranite;
- Upoštevajte, da se je ime lastnika podružnice spremenilo v vaš račun. Daj davo Zamenjajte lastnika na podkontejnerjih in predmetih (Zamenjajte lastnika podkontejnerjev in predmetov) in kliknite »V redu«;
- Na seznamu dovoljenj dodajte skrbniški račun in mu omogočite popoln dostop (polna dovoljenja);
- Pravici do podružnice ste odobrili s CLSID. Zdaj morate ponoviti prejšnje korake, tako da skrbniškemu računu dodelite pravice do podružnice s svojim APPID-om iz besedila napake (npr., HKEY_CLASSES_ROOT \ AppID \AD65A69D-3831-40D7-9629-9B0B50A93843;
- Zdaj zaženite konzolo za upravljanje komponent dcomcnfg s skrbniškimi pravicami (Nadzorna plošča \ Vse postavke nadzorne plošče \ Skrbniška orodja \ Komponentske storitve);
- V konzoli komponent pojdite na podružnico Storitve komponent -> Računalniki -> Moj računalnik -> DCOM Config. Na seznamu komponent poiščite ime komponente, ki ste jo definirali v drugem koraku (vrednost v stolpcu ID aplikacije se mora ujemati z vašim CLSID iz napake). Lastnosti odprtih komponent; Če svoje komponente ne najdete na seznamu, imate verjetno 64-bitno različico sistema Windows in zagnana komponenta je 32-bitna. V tem primeru morate konzolo DCOM zagnati z ukazom:
mmc comexp.msc / 32
- Pojdite na zavihek Varnost. Vsi nadzori morajo biti urejeni; Če konzolo dcomcnfg odprete pred spreminjanjem dovoljenj na veji registra, bodo vse nastavitve na zavihku Varnost blokirane (ni jih mogoče spremeniti), kljub temu da ste konzolo začeli kot skrbnik.
- V mojem primeru aplikacija ni imela dovolj pravic do lokalnega dovoljenja za aktivacijo. V razdelku Dovoljenja za zagon in aktiviranje izberite Prilagodi in kliknite gumb Uredi;
- Na seznamu za dostop morate dodati račun, ki nima dovoljenj za zagon. Ime računa je bilo navedeno v besedilu napake: odvisno od besedila v napaki 10016 DCOM je to lahko Sistem, določenega uporabnika ali računa, pod katerim se zažene zbirka IIS (v tem primeru morate dodati dostop za lokalno skupino IIS_IUSR).Namig. Če je bila v prvotnem dnevniku napak namesto sistema NT ORHORITY \ NT AUTHORITY \ NETWORK SERVICE namesto NT AUTHORITY \ NETWORK SERVICE podana lokalna zagonska in aktivacijska pravica za račun NetworkService.
- Dodelite potrebna dovoljenja za račun. Na primer, Lokalno aktiviranje -> Dovoli in lokalni zagon -> Dovoli;
- Znova zaženite računalnik in preverite dnevnike dogodkov. Napaka DCOM 10016 bi morala oditi.