您启动许多 COM+ 应用程序时,您可能会收到错误消息"错误代码 80080005--服务器运行失败"。

症状:当您启动许多 Microsoft COM+ 应用程序手动从组件服务 Microsoft 管理控制台 (MMC) 管理单元中的每个 COM+ 应用程序是在不同用户帐户下运行,您可能会收到以下错误信息:


目录错误: 处理在上次操作时出错。 错误代码 80080005--服务器执行失败。 在事件日志可能包含其他疑难解答的信息。

您将收到类似于以下应用程序日志的事件查看器中的错误消息:


类型: 错误
源: DCOM
类别: 无
事件 ID: 10010
日期: 31 / 03 / 2004
时间: 15:13:30
用户: NT AUTHORITY/SYSTEM
计算机: MSHSRMSWEBP0007
说明: 在服务器 {F1673109 CF44 468 D-9E23-FE4116F84CFA} 没有用 DCOM 注册所需的超时时间内。
原因:如果在 此用户 属性中指定的其他用户帐户下运行的多个 COM+ 应用程序,计算机无法分配内存来创建新的桌面堆,为新用户。 因此,无法启动进程。
替代方法:重要 此部分、 方法,或任务包含告诉您如何修改注册表的步骤。 但是,如果错误地修改注册表,就可能发生严重的问题。 因此,请确保认真执行这些步骤。 添加的保护注册表之前先备份您修改它。 然后,发生问题时可以还原注册表。 有关如何备份和还原在注册表的详细信息,单击下面的文章编号,以查看 Microsoft 知识库中相应:
322756  (http://support.microsoft.com/kb/322756/ ) 如何备份和还原在 Windows 注册表


要解决此问题,修改下面的注册表子项的值:
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/Session Manager/SubSystems/Windows
要这样做,请按下列步骤操作:
  1. 单击 开始 ,单击 运行 ,键入 regedit ,然后单击 确定
  2. 在注册表编辑器找到在下面的注册表子项:
    HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/Session Manager/SubSystems
    默认情况下, 子项中的, Windows 项具有类似于以下 (所有同一行上) 的值:
    %SystemRoot%/system32/csrss.exe ObjectDirectory = / Windows SharedSection = 1024,3072 Windows = SubSystemType = Windows ServerDll = basesrv,1 ServerDll = winsrv:UserServerDllInitialization,3 ServerDll = winsrv:ConServerDllInitialization,2 ProfileControl = 关闭 MaxRequestThreads = 16
  3. 右键单击 Windows 项,然后单击 修改 编辑字符串 对话框。
  4. 数值数据 框中,请找到 SharedSection、 将 512 向 SharedSection,并单击 确定

    新更改的 Windows 条目如下所示:
    %SystemRoot%/system32/csrss.exe ObjectDirectory = / Windows SharedSection = 1024 个,3072,512 Windows = SubSystemType = Windows ServerDll = basesrv,1 ServerDll = winsrv:UserServerDllInitialization,3 ServerDll = winsrv:ConServerDllInitialization,2 ProfileControl = 关闭 MaxRequestThreads = 16

    更多信息:重现该问题的步骤

    <script type="text/javascript"></script>
    1. 您计算机上,请创建 100 个不同的本地用户帐户。
    2. 打开在组件服务 MMC 管理单元。 要这样做,请按下列步骤操作:
      1. 单击 开始 ,指向 设置 ,然后单击 控制面板
      2. 在控制面板中双击 管理工具 ,并双击 组件服务 。 将显示 组件服务 MMC 管理单元。
      3. 在左的窗格中展开 组件服务 ,展开 计算机 ,依次和 我的电脑
    3. 创建 COM+ 应用程序,并将 COM+ 应用程序的该应用程序标识。 要这样做,请按下列步骤操作:
      1. 右键单击 COM+ 应用程序 ,指向 新建 ,然后单击 应用程序 。 出现 欢迎 COM 应用程序安装向导 的对话框。
      2. 欢迎 COM 应用程序安装向导 对话框中,单击 下一步 。 出现 安装或新的应用程序 对话框。
      3. 单击 创建空应用程序 创建空应用程序 对话框。
      4. 输入新应用程序的名称 框中,键入 MyCOM1 ,然后单击 下一步 设置应用程序标识 对话框。
      5. 单击 此用户 ,然后键入您在步骤 1 在 用户 框中的用户名称。
      6. 设置应用程序标识 对话框密码在 密码 框和中键入该 确认密码 框,然后单击 下一步 感谢您使用 COM 应用程序安装向导 对话框。
      7. 单击 完成
    4. 将一个组件添加到 COM+ 应用程序。 要这样做,请按下列步骤操作:
      1. 组件服务 MMC 管理单元的左窗格中, 展开 MyCom1
      2. 右键单击 组件 ,指向 新建 ,然后单击 组件 。 出现 欢迎 COM 组件安装向导 的对话框。
      3. 单击 下一步 。 出现 导入或安装组件 对话框。
      4. 单击 导入组件的已注册 选择要导入的组件 对话框。
      5. 在该 上的组件: 我的电脑 列表单击一个的组件,单击 下一步 感谢您使用 COM 应用程序安装向导 对话框。
      6. 单击 完成
    5. 重复步骤 3 创建在不同的本地用户帐户下运行的 100 个 COM+ 应用程序。
    6. 重复步骤 4 将组件添加到 100 个 COM+ 应用程序在第 5 步中创建。
    7. 组件服务 MMC 管理单元的左窗格中, 右键单击您创建,每个 COM+ 应用程序,然后单击 开始 。 在启动某些 COM+ 应用程序后,您将收到"症状"一节中描述错误信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值