V této poznámce ukážu, jak opravit chybu c ID události 10016 ze zdroje DistributedCOM v počítači se systémem Windows 10 / Windows Server 2012 R2. Chyba DCOM 10016 je v klientských i serverových verzích Windows docela běžná, počínaje časem Windows XP a je opravena stejným způsobem, bez ohledu na verzi systému Windows.
Problém se projevuje následujícím způsobem: Při spuštění počítače nebo při pokusu o spuštění / instalaci aplikace se v protokolu systémových událostí objeví následující chyba:
Název protokolu: Systém
Zdroj: DistributedCOM
ID události: 10016
Úroveň: Chyba
Uživatel: SYSTEM
Popis: Nastavení oprávnění specifických pro aplikaci neudělují povolení Local Launch pro serverovou aplikaci COM s CLSID 1CCB96F4-B8AD-4B43-9688-B273F58E0910 a APPID AD65A69D-3831-40D7-9629-9B0B50A93843 NT AUTHORITY \ system with SID ( S-1-5-18) a LocalHost adresa (pomocí LRPC). Toto oprávnění zabezpečení lze změnit pomocí obslužného programu Component Services Management Utility..
V anglických verzích Windows je popis chyby:
Výchozí nastavení oprávnění stroje neudělují oprávnění k místní aktivaci pro aplikaci COM Server s CLSID
000209FF-0000-0000-C000-00000000004646 a APPID nedostupné pro uživatele IIS APPPOOL \ appIISPool SID (S-1-5-82-3351576649-1006875745-771203599-42452693-1279824824) z adresy LocalHost (pomocí LRPC) kontejner aplikace Unavailable SID (Unavailable). Toto oprávnění zabezpečení lze upravit pomocí nástroje pro správu služby Component Services.
Soudě podle popisu chyby: uživatel (například IIS Apppool) nebo systém (NT AUTHORITY \ system) se pokouší spustit určitou komponentu COM pomocí infrastruktury DCOM a nemůže tak učinit z důvodu chybějícího práva na místní spuštění nebo místní aktivaci ( Povolení k místní aktivaci). Kód chyby obsahuje pouze kódy třídy komponenty COM a aplikace. Pokusme se určit, ke které aplikaci identifikátor patří, a poskytnout práva nezbytná pro její spuštění.
Zkopírujte CLSID a APPID z popisu události. V mém případě to tak je
CLSID: 000209FF-0000-0000-C000-000000000046
APPID: AD65A69D-3831-40D7-9629-9B0B50A93843
(v některých případech nemusí být určen identifikátor aplikace - APPID není k dispozici).
Také věnujte pozornost tomu, jaká oprávnění chybí (povolení k místní aktivaci) a pro jaký účet (NT AUTHORITY \ SYSTEM nebo IIS APPPOOL \ appIISPool SID - S-1-5-82-3351576649-1006875745-771203599-42452693-1279824824).
V každém případě se identifikátory třídy, aplikace, účtu a typu přístupu mohou lišit.- Spusťte editor registru (regedit.exe);
- Přejít na větev registru odpovídající vašemu CLSID. Mám to HKEY_CLASSES_ROOT \ CLSID \000209FF-0000-0000-C000-000000000046; V některých případech je třeba vyhledat klíč registru [HKEY_CLASSES_ROOT \ Wow6432Node \ CLSID \. Při vzdáleném připojení k registru bude umístěn v části HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ AppID.
- Parametr třídy musí mít název. Mám tuto aplikaci Microsoft Word, nejčastěji se tento problém vyskytuje u součástí:
Ponořená skořápka
CLSID: C2F03A33-21F5-47FA-B4BB-156362A2F239
APPID: 316CDED5-E4AE-4B15-9113-7055D84DCC97
Runtime broker
CLSID: D63B10C5-BB46-4990-A94F-E40B9D520160
APPID: 9CA88EE3-ACB7-47C8-AFC4-AB702511C276 - Klepněte pravým tlačítkem myši na klíč registru a vyberte oprávnění;
- Klikněte na tlačítko Pokročilé
- V sekci Majitel (Vlastník) bude označen Služba NT \ TrustedInstaller nebo Systém;
- Stiskněte tlačítko Změnit a zadejte název účtu správce. Uložte změny;
- Jméno majitele pobočky se změnilo na váš účet. Dejte si tlamu Vyměňte vlastníka na subdodavatelích a objektech (Vyměňte vlastníka subkontejnerů a objektů) a klikněte na „OK“;
- V seznamu oprávnění přidejte účet správce a udělte mu plný přístup (Úplná oprávnění);
- Udělili jste práva větvi s CLSID. Nyní musíte zopakovat předchozí kroky a udělit administrátorskému účtu práva k větvi s vaším APPID z chybového textu (například, HKEY_CLASSES_ROOT \ AppID \AD65A69D-3831-40D7-9629-9B0B50A93843;
- Nyní spusťte konzolu pro správu součástí dcomcnfg s právy správce (Ovládací panely \ Všechny položky ovládacího panelu \ Nástroje pro správu \ Služby komponent);
- V konzole komponent přejděte do větev Komponentní služby -> Počítače -> Můj počítač -> Konfigurace DCOM. V seznamu součástí vyhledejte název komponenty, kterou jste definovali ve druhém kroku (hodnota ve sloupci ID aplikace by měla odpovídat vašemu CLSID z chyby). Vlastnosti otevřené komponenty; Pokud v seznamu nenajdete svoji součást, pravděpodobně máte 64bitovou verzi systému Windows a spuštěná součást je 32bitová. V tomto případě musíte spustit konzolu DCOM příkazem:
mmc comexp.msc / 32
- Přejděte na kartu Zabezpečení. Všechny ovládací prvky musí být upravitelné; Pokud otevřete konzolu dcomcnfg před změnou oprávnění ve větvi registru, všechna nastavení na kartě Zabezpečení budou zablokována (nelze změnit), přestože jste konzoli spustili jako správce.
- V mém případě aplikace neměla dostatečná práva na povolení k místní aktivaci. V sekci Spouštěcí a aktivační oprávnění vyberte Přizpůsobit a klikněte na tlačítko Upravit;
- Do seznamu přístupů musíte přidat účet, který nemá oprávnění ke spuštění. Název účtu byl uveden v textu chyby: v závislosti na textu chyby DCOM 10016 to může být Systém, konkrétní uživatel nebo účet, pod kterým je spuštěn fond IIS (v tomto případě je třeba přidat přístup pro místní skupinu IIS_IUSR).Tip. Pokud byl v úvodním protokolu chyb zadán NT AUTHORITY \ NETWORK SERVICE namísto NT AUTHORITY \ system, musíte pro účet NetworkService zadat místní práva pro spuštění a aktivaci..
- Udělte požadovaná oprávnění pro účet. Například místní aktivace -> Povolit a místní spuštění -> Povolit;
- Restartujte počítač a zkontrolujte protokoly událostí. Chyba DCOM 10016 by měla zmizet.