Computer >> 컴퓨터 >  >> 문제 해결 >> Windows 오류

Windows 7·8·10에서 DCOM 오류 10016 해결하는 방법 총정리

이벤트 ID 10016이 포함된 DCOM 오류가 발생했다는 것은, 어떤 프로그램이 DCOM 인프라를 통해 DCOM 서버를 시작하려고 시도했지만 해당 사용자에게 필요한 권한이 없다는 의미입니다. 이 오류는 예전 Windows 버전부터 존재해 온 잘 알려진 문제로, 최신 운영체제로 업그레이드해도 자동으로 해결되지 않으며 Windows 8과 Windows 10에서도 동일하게 나타납니다.

이 오류는 시스템 오류 형태로 표시되며, 오류 메시지에는 CLSIDAPPID 값이 함께 포함되어 있습니다. 이 DCOM 오류 자체는 대부분 무해하지만, 이벤트 로그에 계속 나타나고 반복적으로 처리해야 하는 상황은 분명히 불편할 수 있습니다.

본격적인 문제 해결에 들어가기 전에 먼저 다음 사항을 점검하세요. 시스템의 전원 공급 장치가 정상인지 확인하고, 결함이 있다면 교체합니다. CPU, GPU 또는 RAM에 오버클러킹을 적용 중이라면 설정을 낮추거나 기본값으로 되돌리는 것이 좋습니다. 또한 시스템 드라이버, 특히 GPU 드라이버를 최신 버전으로 업데이트한 뒤 오류가 여전히 발생하는지 확인하세요.

아래 소개하는 방법은 많은 사용자에게 실제로 효과가 있었던 검증된 해결책입니다. 진행하려면 오류 메시지에 표시된 CLSIDAPPID 값이 필요하므로, 미리 복사해 두고 아래 단계를 따르시기 바랍니다.

방법 1: 문제를 일으키는 앱에 충분한 권한 부여하기

CLSID와 APPID는 앱마다 고유한 식별자입니다. 두 값을 모두 알면 어떤 앱이 문제를 일으키는지 정확히 파악할 수 있습니다. 문제의 원인이 되는 앱을 이미 알고 있다면, 해당 앱에 충분한 권한을 부여하여 매번 권한 오류가 발생하지 않도록 하면 됩니다. 절차는 생각보다 간단합니다.

  1. 키보드에서 Windows 키와 R 키를 동시에 누른 뒤, 실행(Run) 창에 RegEdit를 입력하고 Enter 키를 누르거나 확인을 클릭하여 레지스트리 편집기를 엽니다.
  2. 레지스트리 편집기에서 HKEY_CLASSES_ROOT 폴더를 확장하고, 그 안에 있는 CLSID 폴더를 엽니다.
  3. 오류 메시지에서 받은 CLSID와 동일한 이름의 폴더를 찾습니다.
  4. 해당 폴더를 마우스 오른쪽 버튼으로 클릭한 후 사용 권한(Permissions)을 선택하고, 고급(Advanced) 버튼을 클릭합니다.
  5. 창 상단에 표시된 소유자(Owner)Administrators 그룹으로 변경합니다.
  6. 소유자 창 하단에서 모든 하위 개체 사용 권한 항목 바꾸기(Replace all child object permission entries)도 함께 체크합니다. 확인을 클릭한 뒤, Windows 보안 경고가 나타나면 를 선택합니다.
  7. 다시 기본 사용 권한 창으로 돌아와 추가(Add)를 클릭하고 Everyone을 입력한 후 확인을 누릅니다. 그런 다음 상단 사용자 목록에서 Everyone을 선택하고, 하단의 허용(Allow) 열에서 모든 권한(Full Control)에 체크한 뒤 확인을 클릭합니다.
  8. 즉, 해당 키에 모든 권한을 적용합니다.
  9. 완료되면 HKEY_LOCAL_MACHINE을 확장하고, 순서대로 SoftwareClassesAppID 폴더를 차례로 엽니다.
  10. 오류 메시지의 APPID와 동일한 이름의 폴더로 이동한 뒤, 마우스 오른쪽 버튼을 클릭해 사용 권한을 선택하고 고급을 클릭합니다.
  11. 앞서 설명한 4~6번 단계와 동일한 방식으로 앱에 충분한 권한을 부여합니다.
  12. 참고로 CLSID 및 APPID 폴더를 살펴보면, 문제를 일으키는 서비스 이름이 적힌 레지스트리 키를 확인할 수 있습니다. 이 이름을 메모해 두면 다음 단계에서 유용합니다.
  13. Windows 키를 누른 뒤 제어판을 검색해 열거나, 사용 중인 Windows 버전에 따라 시작 메뉴에서 직접 제어판을 엽니다.
  14. 오른쪽 상단의 보기 방식을 아이콘 보기로 변경한 후 관리 도구(Administrative Tools)를 엽니다.
  15. 구성 요소 서비스(Component Services)를 실행합니다.
  16. 컴퓨터(Computers)를 클릭한 뒤 내 컴퓨터(My Computer)를 엽니다.
  17. 문제를 일으키는 서비스를 찾아 마우스 오른쪽 버튼으로 클릭하고 속성(Properties)을 선택한 다음, 보안(Security) 탭으로 이동합니다.
  18. 레지스트리 사용 권한이 올바르게 설정되었다면, 이 창의 세 가지 범주(시작 및 활성화 권한, 액세스 권한, 구성 권한) 모두에서 사용자 지정(Customize)을 선택할 수 있어야 합니다. 만약 항목이 회색으로 비활성화되어 있다면, 앞의 레지스트리 권한 설정 단계를 다시 수행하여 설정을 확인하세요.
  19. 세 가지 범주 모두에서 사용자 지정이 가능해지면, 시작 및 활성화 권한(Launch and Activation Permissions)편집(Edit)을 클릭합니다. 이때 "연결된 하나 이상의 사용 권한 항목이 인식할 수 없는 유형입니다"라는 경고가 나타나면 제거(Remove)를 클릭합니다. 이는 레지스트리 권한이 기본값이 아닌 값으로 설정되어 있다는 의미일 뿐이며, 수정을 완료하기 위해 필요한 과정입니다.
  20. 새 창에서 상단 사용자 목록에 System이 있는지 확인합니다. 없다면 추가를 클릭하고 System을 입력한 후 확인을 누릅니다. 목록에서 System을 선택한 뒤, 창 하단의 허용 열에서 로컬 시작(Local Launch)로컬 활성화(Local Activation)에 체크합니다. 항목 이름이 로컬 액세스(Local Access)로 표시될 수도 있는데, 이 경우에도 허용 열에 체크만 되어 있으면 됩니다. 확인을 클릭합니다. 같은 방식으로 액세스 권한(Access Permissions)구성 권한(Configuration Permissions)에도 반복 적용합니다.
  21. 이벤트 로그에 표시된 다른 CLSID 및 AppID 값에 대해서도 위 단계를 반복합니다.
  22. 변경 사항을 적용하려면 위 작업을 마친 뒤 시스템을 재부팅해야 합니다.

다소 길고 번거로운 과정처럼 느껴질 수 있지만, 이 방법은 이 문제를 겪는 대다수 사용자에게 실제로 효과가 있었던 것으로 보고된 해결책입니다. 단계를 하나씩 꼼꼼히 따라가면 DCOM 오류를 빠르게 없앨 수 있습니다.

방법 2: 레지스트리 키 삭제하기

서로 충돌하는 일부 레지스트리 키도 이 문제의 원인이 될 수 있습니다. 레지스트리 키는 시스템이 따라야 할 명령어를 이진(binary) 형태로 저장한 것으로, Microsoft 하위 범주에 속해 있음에도 불구하고 문제를 일으키는 것으로 알려진 키들이 몇 가지 있습니다. 이러한 키를 삭제하면 문제가 해결될 수 있습니다.

주의: 시스템 레지스트리를 수정하려면 전문 지식이 필요하며, 잘못 수정하면 시스템을 복구할 수 없게 손상시킬 수 있습니다. 따라서 본인의 판단과 책임하에 진행하시기 바랍니다. 레지스트리를 변경하기 전에는 반드시 레지스트리 백업을 생성하는 것을 잊지 마세요.

  1. Windows 버튼을 클릭하고 검색 상자에 레지스트리 편집기를 입력합니다. 검색 결과에서 레지스트리 편집기를 마우스 오른쪽 버튼으로 클릭한 후 관리자 권한으로 실행을 선택합니다.
  2. 다음 레지스트리 키로 이동합니다.
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole
  3. 아래의 키들을 삭제합니다.
    1. DefaultAccessPermission
    
    2. DefaultLaunchPermission
    
    3. MachineAccessRestriction
    
    4. MachineLaunchRestriction
  4. 변경 사항을 저장하고 시스템을 재시작합니다.
  5. 위 키들을 삭제하면 시스템이 기본 사용 권한 값을 새로 작성합니다. 그 결과, DCOM 서버에 대한 액세스가 필요한 앱들이 정상적으로 해당 서버에 접근할 수 있게 됩니다.