本文提供了一个解决方法,解决在从组件服务 Microsoft 管理控制台手动启动许多 Microsoft COM+ 应用程序时收到错误代码80080005的问题 (MMC) 管理单元。
适用于:
Windows Server 2012 R2
原始 KB 编号:
870655
从组件服务 Microsoft 管理控制台手动启动许多 Microsoft COM+ 应用程序 (MMC) 管理单元,其中每个 COM+ 应用程序都在其他用户帐户下运行时,可能会收到以下错误消息:
目录错误:处理最后一个操作时出错。 错误代码80080005 -- 服务器执行失败。 事件日志可能包含其他故障排除信息。
你将收到一条类似于事件查看器应用程序日志中以下内容的错误消息:
Type: Error
Source: DCOM
Category: None
Event ID: 10010
Date: 31/03/2004
Time: 15:13:30
User: NT AUTHORITY\SYSTEM
Computer: MSHSRMSWEBP0007
Description: The server {F1673109-CF44-468D-9E23-FE4116F84CFA} did not register with DCOM within the required timeout.
如果许多 COM+ 应用程序在 “此用户 ”属性中指定的不同用户帐户下运行,则计算机无法分配内存来为新用户创建新的桌面堆。 因此,进程无法启动。
此部分(或称方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,请务必严格按照这些步骤操作。 为了加强保护,应先备份注册表,再进行修改。 如果出现问题,可以还原注册表。 有关如何备份和还原注册表的详细信息,请参阅如何备份和还原 Windows 中的注册表。
若要解决此问题,请修改以下注册表子项的值:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems\Windows
为此,请按照下列步骤操作:
依次单击“开始”、“运行”,键入 regedit,然后单击“确定”。
在“注册表编辑器”中,找到以下注册表子项:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems
默认情况下,子项中的 Windows 条目具有类似于以下 (一行) 的值:
%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,3072 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16
右键单击 Windows 条目,然后单击 “修改”。 将显示 “编辑字符串 ”对话框。
在 “值”数据 框中,找到 SharedSection,将 512 添加到 SharedSection,然后单击 “确定”。
新更改的 Windows 条目如下所示:
%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,3072,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16
重现行为的步骤
在计算机上创建 100 个不同的本地用户帐户。
打开组件服务 MMC 管理单元。 为此,请按照下列步骤操作:
单击“开始”,指向“设置”,然后单击“控制面板”。
在控制面板中,双击“管理工具”,然后双击“组件服务”。 将显示 组件服务 MMC 管理单元。
在左窗格中,展开 组件服务,展开 “计算机”,然后展开 “我的计算机”。
创建 COM+ 应用程序,然后设置 COM+ 应用程序的应用程序标识。 为此,请按照下列步骤操作:
右键单击 COM+ 应用程序,指向 “新建”,然后单击“ 应用程序”。 随即显示“ 欢迎使用 COM 应用程序安装向导 ”对话框。
在 “欢迎使用 COM 应用程序安装向导 ”对话框中,单击 “下一步”。 将显示 “安装或创建新应用程序 ”对话框。
单击 “创建空应用程序”。 将显示 “创建空应用程序 ”对话框。
在新 应用程序框的“输入名称 ”中键入 MyCOM1,然后单击 “下一步”。 将显示“ 设置应用程序标识 ”对话框。
单击 此用户,然后在“用户”框中键入在步骤 1 中创建的 用户 名。
在 “设置应用程序标识 ”对话框中,在 “密码 ”框和“ 确认密码 ”框中键入密码,然后单击 “下一步”。 随即会显示“ 感谢使用 COM 应用程序安装向导 ”对话框。
单击“完成”。
将组件添加到 COM+ 应用程序。 为此,请按照下列步骤操作:
在 组件服务 MMC 管理单元的左窗格中,展开 MyCom1。
右键单击 “组件”,指向 “新建”,然后单击 “组件”。 随即显示“ 欢迎使用 COM 组件安装向导 ”对话框。
单击下一个。 将显示“ 导入或安装组件 ”对话框。
单击 已注册 () 的导入组件。 将显示“ 选择要导入的组件 ”对话框。
在 “组件:我的计算机 ”列表中,单击组件,然后单击 “下一步”。 随即会显示“ 感谢使用 COM 应用程序安装向导 ”对话框。
单击“完成”。
重复步骤 3,创建在不同本地用户帐户下运行的 100 个 COM+ 应用程序。
重复步骤 4,将组件添加到在步骤 5 中创建的 100 个 COM+ 应用程序。
在 组件服务 MMC 管理单元的左窗格中,右键单击创建的每个 COM+ 应用程序,然后单击 “开始”。 启动一些 COM+ 应用程序后,会收到“ 症状 ”部分中所述的错误消息。
创建新的 COM+ 应用程序
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see: https://aka.ms/ContentUserFeedback.
提交和查看相关反馈