여러 COM+ 애플리케이션을 시작할 때 오류: 오류 코드 80080005 -- 서버 실행 실패

이 문서에서는 MMC(Component Services MMC) 스냅인에서 많은 Microsoft COM+ 애플리케이션을 수동으로 시작할 때 오류 코드 80080005 수신하는 문제에 대한 해결 방법을 제공합니다.

적용 대상: Windows Server 2012 R2
원래 KB 번호: 870655

증상

각 COM+ 애플리케이션이 다른 사용자 계정으로 실행되고 있는 구성 요소 서비스 MMC(Microsoft Management Console) 스냅인에서 많은 Microsoft 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. 값 데이터 상자에서 SharedSection을 찾아 SharedSection에 512를 추가한 다음 확인을 클릭합니다.

    새로 변경된 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. Component Services MMC 스냅인을 엽니다. 이렇게 하려면 다음과 같이 하십시오.

    1. 시작을 클릭하고 설정을 가리킨 후에 제어판을 클릭합니다.
    2. 제어판 관리 도구를 두 번 클릭한 다음 구성 요소 서비스를 두 번 클릭합니다. Component Services MMC 스냅인이 나타납니다.
    3. 왼쪽 창에서 구성 요소 서비스를 확장하고 컴퓨터를 확장한 다음 내 컴퓨터를 확장합니다.
  3. COM+ 애플리케이션을 만든 다음 COM+ 애플리케이션의 애플리케이션 ID를 설정합니다. 이렇게 하려면 다음과 같이 하십시오.

    1. COM+ 애플리케이션을 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 애플리케이션을 클릭합니다. COM 애플리케이션 설치 마법사 시작 대화 상자가 나타납니다.
    2. COM 애플리케이션 설치 마법사 시작 대화 상자에서 다음을 클릭합니다. 새 애플리케이션 설치 또는 만들기 대화 상자가 나타납니다.
    3. 빈 애플리케이션 만들기를 클릭합니다. 빈 애플리케이션 만들기 대화 상자가 나타납니다.
    4. 새 애플리케이션의 이름 입력 상자에 MyCOM1을 입력하고 다음을 클릭합니다. 애플리케이션 ID 설정 대화 상자가 나타납니다.
    5. 이 사용자를 클릭한 다음 사용자 상자에 1단계에서 만든 사용자 이름을 입력합니다.
    6. 애플리케이션 ID 설정 대화 상자의 암호 상자에 암호를 입력하고 암호 확인 상자에 다음을 클릭합니다. COM 애플리케이션 설치 마법사를 사용해 주셔서 감사합니다 대화 상자가 나타납니다.
    7. 마침을 클릭합니다.
  4. COM+ 애플리케이션에 구성 요소를 추가합니다. 이렇게 하려면 다음과 같이 하십시오.

    1. Component Services MMC 스냅인의 왼쪽 창에서 MyCom1을 확장합니다.
    2. 구성 요소를 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 구성 요소를 클릭합니다. COM 구성 요소 설치 마법사 시작 대화 상자가 나타납니다.
    3. 다음을 클릭합니다. 구성 요소 가져오기 또는 설치 대화 상자가 나타납니다.
    4. 이미 등록된 구성 요소 가져오기를 클릭합니다. 가져올 구성 요소 선택 대화 상자가 나타납니다.
    5. 구성 요소 켜기: 내 컴퓨터 목록에서 구성 요소를 클릭한 다음 다음을 클릭합니다. COM 애플리케이션 설치 마법사를 사용해 주셔서 감사합니다 대화 상자가 나타납니다.
    6. 마침을 클릭합니다.
  5. 3단계를 반복하여 다른 로컬 사용자 계정으로 실행되는 100개의 COM+ 애플리케이션을 만듭니다.

  6. 4단계를 반복하여 5단계에서 만든 100개의 COM+ 애플리케이션에 구성 요소를 추가합니다.

  7. Component Services MMC 스냅인의 왼쪽 창에서 만든 각 COM+ 애플리케이션을 마우스 오른쪽 단추로 클릭한 다음 시작을 클릭합니다. 일부 COM+ 애플리케이션을 시작하면 증상 섹션에 설명된 오류 메시지가 표시됩니다.

참조

새 COM+ 애플리케이션 만들기