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

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

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

Симптомы

При запуске многих приложений 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

Для этого выполните следующие действия:

  1. Щелкните Пуск, затем Выполнить и введите regedit. Затем нажмите ОК.

  2. Открыв редактор реестра, выберите следующий подраздел:

    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

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

  4. В поле данных Value найдите 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

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

  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+ вы получите сообщение об ошибке, описанное в разделе "Симптомы ".

Ссылки

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