当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] Windows 中的 DistributedCOM 错误 10016:应用程序特定的权限设置未授予本地激活权限

作者:精品下载站 日期:2024-12-14 20:00:59 浏览:15 分类:玩电脑

Windows 中的 DistributedCOM 错误 10016:应用程序特定的权限设置未授予本地激活权限


在这篇文章中,我将向您展示如何在运行 Windows 10 或 Windows Server 2012 R2 的计算机上修复来自 DistributedCOM 源的 EventID 10016 错误。 DCOM 10016 事件在客户端和服务器 Windows 版本中都很常见,从 Windows XP 开始,无论 Windows 版本如何,您都可以以相同的方式修复此错误。

问题如下:当计算机启动或尝试启动或安装某些应用程序时,Windows 事件查看器的“系统”部分中出现以下错误:

日志名称:系统
来源:DistributedCOM
事件 ID:10016
级别:错误
用户:SYSTEM
描述:计算机默认权限设置未向 CLSID 为 {000209FF-0000 的 COM 服务器应用程序授予本地激活权限-0000-C000-000000000046} 和 APPID 对用户 IIS APPPOOL ppIISPool SID (S-1-5-82-3351576649-1006875745-771203599-42452693-1279824824) 从在地址 LocalHost (使用 LRPC) 中运行的不可用应用程序容器不可用 SID(不可用)。可以使用组件服务管理工具修改此安全权限。

[玩转系统] Windows 中的 DistributedCOM 错误 10016:应用程序特定的权限设置未授予本地激活权限

根据错误描述:某些用户(例如IIS Apppool)或系统(NT AUTHORITY\SYSTEM)尝试使用DCOM基础结构启动某些COM组件,但由于缺少“本地启动”或“本地激活”权限而无法执行此操作。错误代码仅包含 COM 组件和应用程序的类代码。让我们尝试确定标识符属于哪个特定应用程序,并授予成功启动和激活它所需的权限。

从事件描述中复制 CLSID 和 APPID。就我而言,它是:

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

(在某些情况下,可能未指定应用程序标识符 - APPID 不可用)。

另请注意缺少哪些权限(本地激活权限)以及哪个帐户(NT AUTHORITY\SYSTEM 或 IIS APPPOOL ppIISPool SID — S-1-5-82-3351576649-1006875745-771203599-42452693-1279824824)。

在每种情况下,类、应用程序、帐户标识符和访问类型可能不同。

  1. 运行注册表编辑器(regedit.exe);

  2. 转到与您的 CLSID 对应的注册表项。就我而言,它是 HKEY_CLASSES_ROOT\CLSID\{000209FF-0000-0000-C000-000000000046};

    在某些情况下,您还需要检查注册表项 HKEY_CLASSES_ROOT\Wow6432Node\CLSID\。当您远程连接到注册表时,它将位于注册表部分 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID 中。

  3. 在类参数中,必须指定应用程序名称(在我的例子中是 Microsoft Word 应用程序);

    DCOM 错误 10016 最常见于以下组件:

    Immersive Shell
    CLSID: {C2F03A33-21F5-47FA-B4BB-156362A2F239}
    APPID: {316CDED5-E4AE-4B15-9113-7055D84DCC97}
    RuntimeBroker
    CLSID: {D63B10C5-BB46-4990-A94F-E40B9D520160}
    APPID : {9CA88EE3-ACB7-47C8-AFC4-AB702511C276}

    [玩转系统] Windows 中的 DistributedCOM 错误 10016:应用程序特定的权限设置未授予本地激活权限

  4. 右键单击注册表项并选择权限;

    [玩转系统] Windows 中的 DistributedCOM 错误 10016:应用程序特定的权限设置未授予本地激活权限

  5. 点击高级按钮;

    [玩转系统] Windows 中的 DistributedCOM 错误 10016:应用程序特定的权限设置未授予本地激活权限

  6. NT Service\TrustedInstallerSYSTEM 将在 Owner 部分中指定;

    [玩转系统] Windows 中的 DistributedCOM 错误 10016:应用程序特定的权限设置未授予本地激活权限

  7. 单击更改按钮并指定您的管理员帐户的名称。保存更改;

    [玩转系统] Windows 中的 DistributedCOM 错误 10016:应用程序特定的权限设置未授予本地激活权限

  8. 请注意,当前注册表项所有者的名称已更改为您的帐户。选中替换子容器和对象的所有者复选框,然后单击“确定”;

    [玩转系统] Windows 中的 DistributedCOM 错误 10016:应用程序特定的权限设置未授予本地激活权限

  9. 将您的管理员帐户添加到权限列表中,并授予其完全控制权限;

    [玩转系统] Windows 中的 DistributedCOM 错误 10016:应用程序特定的权限设置未授予本地激活权限

  10. 您已向具有 CLSID 的注册表项授予权限。现在您需要重复前面的步骤并更改管理员的所有权和权限 错误描述中您的 APPID 的注册表项上的帐户(例如,HKEY_CLASSES_ROOT\AppID\{AD65A69D-3831-40D7-9629-9B0B50A93843};

  11. 现在以管理员身份运行组件管理控制台(dcomcnfg)(控制面板 -> 所有控制面板项 -> 管理工具 -> 组件服务);

    [玩转系统] Windows 中的 DistributedCOM 错误 10016:应用程序特定的权限设置未授予本地激活权限

  12. 在组件控制台中,转到组件服务 -> 计算机 -> 我的计算机 -> DCOM 配置部分。在 COM 组件列表中找到您在第二步中定义的组件名称(应用程序 ID 列中的值必须与 DCOM 10016 错误描述中的 CLSID 匹配);

    [玩转系统] Windows 中的 DistributedCOM 错误 10016:应用程序特定的权限设置未授予本地激活权限

    如果您在列表中找不到您的组件,则您可能使用的是 64 位版本的 Windows,而您要运行的组件是 32 位版本。在这种情况下,您需要使用以下命令启动 DCOM 控制台:

    mmc comexp.msc /32

  13. 单击安全选项卡。所有表单控件均可更改;

    [玩转系统] Windows 中的 DistributedCOM 错误 10016:应用程序特定的权限设置未授予本地激活权限

    如果您在更改组件注册表项的权限之前打开 dcomcnfg 控制台,则“安全”选项卡上的所有设置都将被锁定(无法更改),尽管您是以管理员身份启动控制台的。

    [玩转系统] Windows 中的 DistributedCOM 错误 10016:应用程序特定的权限设置未授予本地激活权限

  14. 就我而言,该应用程序没有本地激活的权限。在启动和激活权限部分中,选择自定义并单击编辑按钮;

  15. 您需要将错误描述中指定的帐户添加到 ACL。根据 DCOM 10016 错误中的文本,这可能是 SYSTEM、特定用户或运行 IIS 池的帐户(在这种情况下,您需要添加本地 IIS_IUSR 组的访问权限);

    如果在初始错误中指定了 NT AUTHORITY\NETWORK SERVICE 而不是 NT AUTHORITY\SYSTEM,则必须为 NetworkService 帐户分配本地启动和激活权限。

  16. 授予帐户必要的权限。例如,本地启动=允许本地激活=允许

    [玩转系统] Windows 中的 DistributedCOM 错误 10016:应用程序特定的权限设置未授予本地激活权限

  17. 重新启动计算机并检查事件日志。错误 DCOM 10016 应该消失。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯