Error 10016 de DistributedCOM en Windows: la configuración de permisos específicos de la aplicación no otorga permiso de activación local

En esta publicación, le mostraré cómo corregir el error con EventID. 10016 desde el DistributedCOM fuente en una computadora con Windows 10 o Windows Server 2012 R2. El evento DCOM 10016 es bastante común en las versiones de Windows tanto del cliente como del servidor, a partir de Windows XP y puede corregir este error de la misma manera independientemente de la versión de Windows.

El problema se manifiesta de la siguiente manera: aparece el siguiente error en el Visor de eventos de Windows en la sección Sistema cuando la computadora arranca o intenta iniciar o instalar alguna aplicación:

Nombre de registro: Sistema
Fuente: DistributedCOM
ID de evento: 10016
Nivel: Error
Usuario: SISTEMA
Descripción: La configuración de permisos predeterminada de la máquina no otorga permiso de activación local para la aplicación del servidor COM con CLSID {000209FF-0000-0000-C000-000000000046} y APPID no disponible para el usuario IIS APPPOOL appIISPool SID (S-1-5-82 -3351576649-1006875745-771203599-42452693-1279824824) desde la dirección LocalHost (usando LRPC) que se ejecuta en el contenedor de la aplicación SID no disponible (no disponible). Este permiso de seguridad se puede modificar mediante la herramienta administrativa de Servicios de componentes.

Fuente: DistributedCOM ID de evento: 10016 La configuración de permisos predeterminada de la máquina no otorga permiso de activación local para la aplicación del servidor COM

De acuerdo con la descripción del error: algún usuario (por ejemplo, IIS Apppool) o un sistema (NT AUTHORITY SYSTEM) intenta iniciar algún componente COM utilizando la infraestructura DCOM y no puede hacerlo debido a la falta de «Lanzamiento local» o «Local Permiso de activación ”. El código de error contiene solo los códigos de las clases para el componente COM y la aplicación. Intentemos determinar a qué aplicación en particular pertenece el identificador y otorgar los permisos necesarios para iniciarlo y activarlo con éxito.

Copie el CLSID y APPID de la descripción del evento. En mi caso es:

CLSID: {000209FF-0000-0000-C000-000000000046}
APPID: {AD65A69D-3831-40D7-9629-9B0B50A93843}

(en algunos casos, es posible que no se especifique el identificador de la aplicación; APPID no disponible).

También tenga en cuenta qué permisos faltan (permiso de activación local) y para qué cuenta (NT AUTHORITY SYSTEM o IIS APPPOOL appIISPool SID – S-1-5-82-3351576649-1006875745-771203599-42452693-1279824824).

En cada caso, la clase, la aplicación, los identificadores de cuenta y el tipo de acceso pueden diferir.

  1. Ejecute el Editor del registro (regedit.exe);
  2. Vaya a la clave de registro correspondiente a su CLSID. En mi caso es HKEY_CLASSES_ROOT CLSID {000209FF-0000-0000-C000-000000000046};En algunos casos, debe verificar también la clave de registro HKEY_CLASSES_ROOT Wow6432Node CLSID . Cuando se conecte de forma remota al registro, se ubicará en la sección de registro HKEY_LOCAL_MACHINE SOFTWARE Classes AppID.
  3. En el parámetro de clase se debe especificar el nombre de la aplicación (en mi caso es Aplicación de Microsoft Word);La mayoría de las veces, el error DCOM 10016 ocurre con los siguientes componentes: Caparazón inmersivo
    CLSID: {C2F03A33-21F5-47FA-B4BB-156362A2F239}
    APLICACIÓN: {316CDED5-E4AE-4B15-9113-7055D84DCC97}
    RuntimeBroker
    CLSID: {D63B10C5-BB46-4990-A94F-E40B9D520160}
    APLICACIÓN: {9CA88EE3-ACB7-47C8-AFC4-AB702511C276}

    HKEY_LOCAL_MACHINE SOFTWARE Classes AppID - nombre de la aplicación

  4. Haga clic con el botón derecho en la clave de registro y seleccione Permisos; permisos de clave de registro
  5. Clickea en el Avanzado botón; permisos de registro avanzados
  6. Servicio NT TrustedInstaller o SISTEMA se especificará en el Dueño sección; cambiar el propietario de la clave de registro
  7. Haga clic en el Cambio y especifique el nombre de su cuenta de administrador. Guarde los cambios; seleccione el nombre de usuario para establecer el propietario en la clave de registro
  8. Tenga en cuenta que el nombre del propietario actual de la clave de registro ha cambiado a su cuenta. Revisa la caja Reemplazar propietario en subcontenedores y objetos y haga clic en «Aceptar»; registro: Reemplazar propietario en subcontenedores y objetos
  9. Agregue su cuenta de administrador a la lista de permisos y otorgue Control total permisos para ello; permisos de control total en la clave de registro
  10. Ha otorgado los permisos a la clave de registro con CLSID. Ahora debe repetir los pasos anteriores y cambiar la propiedad y los permisos de la cuenta de administrador en la clave de registro de su APPID de la descripción del error (por ejemplo, HKEY_CLASSES_ROOT AppID {AD65A69D-3831-40D7-9629-9B0B50A93843};
  11. Ahora ejecute la consola de administración de componentes (dcomcnfg) como administrador (Panel de control -> Todos los elementos del panel de control -> Herramientas administrativas -> Servicios de componentes); dcomcnfg ejecutar como administrador
  12. En la consola de componentes vaya a la sección Servicios de componentes -> Ordenadores -> Mi computadora -> Configuración DCOM. En la lista de componentes COM, busque el nombre del componente que definió en el segundo paso (el valor en la columna ID de la aplicación debe coincidir con su CLSID de la descripción del error DCOM 10016); Propiedades del componente COMSi no puede encontrar su componente en la lista, probablemente use una versión de Windows de 64 bits y el componente que desea ejecutar sea de 32 bits. En este caso, debe iniciar la consola DCOM con el comando: mmc comexp.msc /32.
  13. Haga clic en el Seguridad pestaña. Todos los controles de formulario deben ser accesibles para cambiar; permisos de inicio y activación de dcom
    Si abre la consola dcomcnfg antes de cambiar los permisos en la clave de registro del componente, todas las configuraciones en la pestaña Seguridad se bloquearán (no se pueden cambiar), a pesar de que inició la consola como administrador. no se puede cambiar la configuración en la seguridad de dcom
  14. En mi caso, la aplicación no tenía el permiso de activación local. En el Permisos de lanzamiento y activación sección, seleccione Personalizar y haga clic en el Editar botón;
  15. Debe agregar a la ACL una cuenta que se especificó en la descripción del error. Dependiendo del texto en el error DCOM 10016, este podría ser SYSTEM, un usuario específico o la cuenta bajo la cual se ejecuta el grupo IIS (en este caso, debe agregar acceso para el grupo IIS_IUSR local);Si NT AUTHORITY NETWORK SERVICE se especificó en el error inicial en lugar de NT AUTHORITY SYSTEM, debe asignar los permisos de inicio y activación local para la cuenta NetworkService.
  16. Otorgue los permisos necesarios para la cuenta. Por ejemplo, Lanzamiento local = Permitir y Activación local = Permitir.
  17. Reinicie la computadora y verifique los registros de eventos. El error DCOM 10016 debería desaparecer.

Artículos Interesantes