Ошибка при запуске многих приложений COM+: ошибка 80080005 -- выполнение сервера не удалось

В этой статье приводится решение проблемы, из-за которой код ошибки 80080005 при запуске многих приложений Microsoft COM+вручную из оснастки консоли управления Microsoft Services (MMC).

Применяется к:   Windows Server 2012 R2
Исходный номер КБ:   870655

Симптомы

При запуске многих приложений Microsoft COM+ вручную из оснастки консоли microsoft Management Console (MMC), где каждое приложение COM+ работает под другой учетной записью пользователя, вы можете получить следующее сообщение об ошибке:

Ошибка каталога. Ошибка произошла при обработке последней операции. Ошибка кода 80080005 - выполнение сервера не удалось. Журнал событий может содержать дополнительные сведения об устранении неполадок.

Вы получите сообщение об ошибке, аналогичное следующему в журнале приложений viewer событий:

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+ работают под разными учетными записями пользователей, указанными в свойстве This User, компьютер не может выделить память для создания новой кучи рабочего стола для нового пользователя. Поэтому процесс не может начаться.

Обходной путь

Важно!

В этот раздел, описание метода или задачи включены действия, содержащие указания по изменению параметров реестра. Однако неправильное изменение параметров реестра может привести к возникновению серьезных проблем. Поэтому следует в точности выполнять приведенные инструкции. Для дополнительной защиты создайте резервную копию реестра, прежде чем редактировать его. Так вы сможете восстановить реестр, если возникнет проблема. Дополнительные сведения о том, как создать и восстановить реестр, см. в этой информации, как создать и восстановить реестр в 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% \ \ system32csrss.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

  3. Щелкните правой кнопкой мыши Windows и нажмите кнопку Изменить. Появится диалоговое окно Edit String.

  4. В поле Значение данных найдите SharedSection, добавьте 512 в SharedSection и нажмите кнопку ОК.

    Недавно измененная Windows читается следующим образом:

    %SystemRoot% \ \ system32csrss.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

Действия по воспроизведению поведения

  1. Создайте 100 различных учетных записей локальных пользователей на компьютере.

  2. Откройте оснастку MMC component Services MMC. Для этого выполните следующие действия:

    1. Нажмите кнопку Пуск, выделите пункт Настройка и выберите Панель управления.
    2. В панели управления дважды щелкните административные средства, а затем дважды щелкните Компонентные службы. Появится оснастка MMC component Services MMC.
    3. В левой области развявем компонентные службы, расширяем компьютеры, а затем расширяем мой компьютер.
  3. Создайте приложение COM+, а затем установите удостоверение приложения com+. Для этого выполните следующие действия:

    1. Щелкните правой кнопкой мыши COM+ Приложения, указать на Новое, а затем нажмите кнопку Приложение. Появится диалоговое окно Welcome to the COM Application Install Wizard.
    2. В диалоговом окне Welcome to the COM Application Install Wizard нажмите кнопку Далее. Появится диалоговое окно Install или Create a New Application.
    3. Нажмите кнопку Создать пустое приложение. Появится диалоговое окно Create Empty Application.
    4. В введите имя для нового окна приложения введите MyCOM1, а затем нажмите кнопку Далее. Отображается диалоговое окно Set Application Identity.
    5. Щелкните этот пользователь, а затем введите имя пользователя, созданное на шаге 1 в поле User.
    6. В диалоговом окне Set Application Identity введите пароль в поле Пароль и в поле Подтвердить пароль, а затем нажмите кнопку Далее. Появится диалоговое окно "Спасибо за использование диалогового окна мастера установки com-приложений".
    7. Нажмите кнопку Готово.
  4. Добавьте компонент в приложение COM+. Для этого выполните следующие действия:

    1. В левом окантовке оснастки MMC component Services разносите MyCom1.
    2. Правой кнопкой мыши Компоненты, указать на Новый, а затем нажмите компонент. Появится диалоговое окно Welcome to the COM Component Install Wizard.
    3. Щелкните кнопку Далее. Появляется диалоговое окно Import или Install a Component.
    4. Нажмите кнопку Импорт компонентов (ы), которые уже зарегистрированы. Отображается диалоговое окно Выбор компонентов для импорта.
    5. В списке Компоненты на: Мой компьютер щелкните компонент, а затем нажмите кнопку Далее. Появится диалоговое окно "Спасибо за использование диалогового окна мастера установки com-приложений".
    6. Нажмите кнопку Готово.
  5. Повторите шаг 3, чтобы создать 100 приложений COM+ для различных учетных записей пользователей.

  6. Повторите шаг 4, чтобы добавить компоненты в приложения 100 COM+, созданные в шаге 5.

  7. В левой области оснастки MMC component Services щелкните правой кнопкой мыши каждое созданное приложение COM+, а затем нажмите кнопку Начните. После запуска некоторых приложений COM+ вы получите сообщение об ошибке, описанное в разделе Симптомы.

Ссылки

Создание нового приложения COM+