오류 코드 0x87D00607은 SCCM 또는 클라이언트가 콘텐츠를 찾지 못했음을 의미하며, 그 원인은 경계(Boundary) 또는 경계 그룹(Boundary Group)의 잘못된 구성, 사전 준비된 콘텐츠(Pre-staged Content), 방화벽에 의한 차단 등 다양할 수 있습니다.
이 문제는 사용자가 SCCM을 통해 패키지나 애플리케이션을 배포하려고 할 때 아래와 같은 메시지가 표시되면서 발생합니다.
소프트웨어 변경이 오류 코드 0x87D00607(-2016410105)을 반환했습니다

아래에서 소개하는 해결 방법들을 통해 오류 코드 0x87D00607을 수정할 수 있습니다. 다만, 보다 기술적인 해결책으로 넘어가기 전에 먼저 기본 SCCM 서버를 재부팅하여 문제가 해결되는지 확인해 보세요. 또한 서버와 클라이언트 컴퓨터의 날짜 및 시간이 올바르게 설정되어 있는지, 그리고 SCCM의 모든 업데이트나 핫픽스가 적용되어 있는지도 점검해야 합니다. 추가로 영향을 받는 모든 사용자가 SourceContentLib 디렉터리에 존재하는지 확인하고, 없다면 해당 라이브러리에 사용자를 추가한 후 문제가 해결되는지 살펴보세요.
설치(또는 제거)하려는 패키지나 애플리케이션에 공식 설치 프로그램/제거 프로그램(예: Adobe CC Uninstaller)이 있다면, 이를 사용했을 때 문제가 해결되는지 확인해 보세요. 또한 패키지나 애플리케이션에 종속성(Dependency)이 있는 경우, 해당 종속성이 패키지나 애플리케이션의 소스 파일에 포함되어 있는지 반드시 확인해야 합니다. 클라이언트 컴퓨터에 이미 설치된 애플리케이션(예: MS Office)의 업데이트 버전을 설치하려는 경우라면, 기존 버전을 제거한 후 새 버전을 설치하면 문제없이 진행될 수 있습니다.
1. 클라이언트 컴퓨터의 기본 브라우저 변경
클라이언트 컴퓨터의 기본 브라우저가 Edge나 Internet Explorer로 설정되어 있지 않으면(기업 네트워크 환경에서 OS 간 종속성 차이 때문), 애플리케이션이나 패키지에서 오류 코드 0x87D00607이 표시될 수 있습니다. 이 경우 클라이언트 컴퓨터의 기본 브라우저를 Internet Explorer 또는 Edge로 설정하면 문제가 해결될 수 있습니다. 진행하기 전에 데이터 사용량 제한 연결(예: SIM 카드가 장착된 노트북)을 사용 중이라면, SCCM의 기본 클라이언트 설정에서 이를 허용하는 것도 도움이 될 수 있습니다.
- Windows 버튼을 클릭하고 기본 앱(Default Apps)을 입력한 후 기본 앱을 엽니다.

- 웹 브라우저(Web Browser) 항목(예: Google Chrome)을 클릭하고 Internet Explorer를 선택합니다.

- 클라이언트 컴퓨터를 재부팅한 후, 재부팅이 완료되면 오류 코드 0x87D00607이 사라졌는지 확인합니다.
2단계에서 기본 브라우저가 이미 Internet Explorer로 설정되어 있다면 Microsoft Edge로 변경하고 재부팅한 후 오류가 해결되었는지 확인하세요.
2. IIS 설정에 SMS_DP 경로 추가
SMS_DP는 DP(배포 지점)의 로그 파일, 콘텐츠 유효성 검사용 파일, 사전 준비된 콘텐츠(활성화된 경우)를 호스팅하며, 콘텐츠 라이브러리에 포함되기 전 패키지/애플리케이션의 임시 저장 허브 역할을 합니다. DP의 IIS 설정에서 SMS_DP 경로가 올바르게 구성되어 있지 않으면 오류 0x87D00607이 발생할 수 있습니다. 이 경우 IIS 설정에 SMS_DP 경로를 추가하면 문제가 해결될 수 있습니다. 진행하기 전에 NAP(네트워크 액세스 보호)를 제거해야 합니다. NAP은 Windows Server 2012 R2부터 Microsoft에서 더 이상 지원하지 않으므로, 아직 사용 중이라면 제거하는 것이 문제 해결에 도움이 될 수 있습니다.
- DP 서버에 로그인한 후 IIS 설정으로 이동합니다.
- 서버를 선택하고 ISAPI 및 CGI 제한(ISAPI and CGI Restrictions)을 엽니다.

- SMS_DP 항목이 있는지 확인합니다. 없다면 다음 경로로 새 항목을 추가합니다:
C:\Windows\system32\inetsrv\smsfileisapi.dll
- 변경 사항을 적용한 후 오류 0x87D00607이 해결되었는지 확인합니다.
3. 클라이언트 연결에 HTTP 사용
클라이언트 연결 프로토콜이 잘못 구성되면 이 오류 코드가 발생할 수 있습니다. 일반적으로 클라이언트는 HTTPS 프로토콜을 통해 서버에 연결해야 하지만, 이 경우 클라이언트 연결이 HTTP 프로토콜을 사용하도록 설정하면 문제가 해결될 수 있습니다.
- SCCM을 열고 왼쪽 창에서 사이트 구성(Site Configuration)을 확장합니다.
- 서버 및 사이트 시스템 역할(Servers and Site System Roles)을 선택한 후, 오른쪽 창의 사이트 시스템 역할 섹션에서 관리 지점(Management Point)을 엽니다.
- HTTP를 선택하고 변경 사항을 적용합니다.

- 최소 5분간 대기한 후 오류 0x87D00607이 해결되었는지 확인합니다.
그래도 해결되지 않으면 조직의 DNS 서버가 정상적으로 작동하는지 확인해 보세요.
4. 패키지/애플리케이션 소스 파일 차단 해제
장치의 운영체제가 일부 소스 파일을 신뢰하지 않아 실행을 차단하는 경우 오류 코드 0x87D00607(-2016410105)이 발생할 수 있습니다. 이 경우 소스 파일의 차단을 해제하면 문제가 해결될 수 있습니다.
- 패키지/애플리케이션의 소스 파일 디렉터리로 이동하여 아무 파일이나 마우스 오른쪽 버튼으로 클릭한 후 속성(Properties)을 선택합니다.
- 차단 해제 옵션(체크박스 또는 버튼)이 있는지 확인하고, 있다면 클릭하여 파일 차단을 해제(Unblock)합니다.

- 모든 소스 파일에 대해 동일한 작업을 반복한 후, 오류 코드 0x87D00607(-2016410105)이 사라졌는지 확인합니다.
이 방법은 일부 파일에는 효과적일 수 있지만, 파일 수가 많다면 SysInternals Streams 도구를 사용하여 모든 파일의 차단을 한 번에 해제할 수 있습니다. 그래도 해결되지 않으면 SCCM 서버에서 패키지/애플리케이션을 제거한 후, SCCM 서버에 새 디렉터리를 생성하고 패키지/애플리케이션 소스 파일을 해당 디렉터리로 복사하여 문제가 해결되는지 확인해 보세요.
5. 패키지/애플리케이션의 배포 옵션 변경
패키지/애플리케이션의 배포 옵션이 로컬에서 실행되도록 구성되어 있지 않으면 오류 코드 0x87D00607이 발생할 수 있습니다. 이 경우 배포 옵션을 '콘텐츠 다운로드 후 로컬 실행'으로 설정하면 문제가 해결될 수 있습니다.
- SCCM에서 패키지/애플리케이션의 속성(Properties)을 열고 콘텐츠(Content) 탭으로 이동합니다.
- 배포 옵션(Deployment Options) 드롭다운을 확장하고 배포 지점에서 콘텐츠 다운로드 후 로컬 실행(Download Content from Distribution Point and Run Locally)을 선택합니다.

- 변경 사항을 적용한 후(최소 5분 후) 소프트웨어 변경 오류가 해결되었는지 확인합니다.
6. 배포 지점의 사전 준비된 콘텐츠 비활성화
배포 지점이 사전 준비된 콘텐츠만 사용하도록 구성된 경우(수동으로 복사된 콘텐츠만 허용), SCCM에서 오류 코드 0x87D00607이 발생할 수 있습니다. 이 경우 배포 지점의 사전 준비된 콘텐츠를 비활성화하면 문제가 해결될 수 있습니다.
- SCCM을 열고 배포 지점의 속성(Properties)을 엽니다.
- 이 배포 지점을 사전 준비된 콘텐츠에 사용(Enable This Distribution Point for Prestaged Content) 옵션의 체크를 해제하고 변경 사항을 적용합니다.

- 5분간 대기한 후 오류 코드 0x87D00607이 해결되었는지 확인합니다.
7. 콘텐츠 폴백 위치 활성화
클라이언트 컴퓨터가 기본 배포 지점에 접근할 수 없는 경우, 콘텐츠의 폴백(Fallback) 위치를 활성화하면 다른 소스에서 콘텐츠를 가져올 수 있어 문제가 해결될 수 있습니다.
- 패키지/애플리케이션의 속성(Properties)을 열고 콘텐츠(Content) 탭으로 이동합니다.
- 클라이언트가 콘텐츠의 폴백 소스 위치 사용 허용(Allow Clients to Use a Fallback Source Location for Content) 옵션에 체크하고, 배포 옵션(Deployment Options) 드롭다운이 배포 지점에서 콘텐츠 다운로드 후 로컬 실행으로 설정되어 있는지 확인합니다.

- 변경 사항을 적용한 후(최소 5분 후) 오류 코드 0x87D00607(-2016410105)이 해결되었는지 확인합니다.
8. 사용자 컴퓨터가 배포 지점을 사용하도록 허용
조직에서 SCCM의 배포 지점을 사용하여 패키지/애플리케이션을 배포하는 경우, 클라이언트 컴퓨터가 기본 사이트 경계 그룹의 배포 지점을 사용하도록 허용하면 0x87D00607 오류가 해결될 수 있습니다. 진행하기 전에 배포된 소프트웨어의 유지 관리 기간을 컬렉션으로 설정하면 문제가 해결되는지 먼저 확인해 보세요.
- SCCM에서 해당 패키지/애플리케이션으로 이동하여 속성(Properties)을 엽니다.
- 콘텐츠(Content) 탭으로 이동하여 클라이언트가 기본 사이트 경계 그룹의 배포 지점 사용 허용(Allow Clients to Use Distribution Points from the Default Site Boundary Group) 옵션에 체크합니다.

- 변경 사항을 적용한 후 SCCM 오류 0x87D00607이 해결되었는지 확인합니다.
그래도 해결되지 않으면 클라이언트 컴퓨터가 클라우드 소스/배포 지점에서 다운로드하도록 허용했을 때 문제가 해결되는지 확인해 보세요. 그래도 작동하지 않는다면 DP 서버가 손상되지 않았는지, 또는 DP 서버 그룹에서 누락되지 않았는지 확인해야 합니다.
9. SCCM의 경계 및 경계 그룹 편집
경계와 경계 그룹이 올바르게 구성되어 있지 않거나 클라이언트 컴퓨터의 IP가 여기에 추가되어 있지 않으면 SCCM에서 오류 코드 0x87D00607이 발생할 수 있습니다. 이 경우 경계와 경계 그룹을 편집하면 문제가 해결될 수 있습니다.
- SCCM을 시작하고 다음 경로로 이동합니다:
관리 >> 개요 >> 계층 구성 >> 경계 그룹
- 경계 그룹(Boundary Group)의 참조(Reference) 탭으로 이동하여 (사이트 할당 섹션에서) 이 경계 그룹을 사이트 할당에 사용(Use This Boundary Group for Site Assignment)에 체크합니다.
- 경계 그룹에 서버를 추가하고 변경 사항을 적용한 후 SCCM 문제가 해결되었는지 확인합니다.

- 해결되지 않으면 배포 지점의 속성에서 경계 그룹이 활성화되어 있는지 확인하고, 클라이언트 컴퓨터의 IP 주소(잘못 입력된 IP가 없는지 확인)가 경계 그룹에 포함되어 있는지 점검합니다.
- 10.22.8.0에서 10.22.9.10처럼 IP 범위를 추가한다고 해서 10.22.9.0이 경계 그룹에 자동으로 포함되지 않는다는 점에 유의하세요(네트워킹 세계에서는 작동하지만). 따라서 IP를 적절하게 추가해야 합니다.
- 또한 경계 그룹에서 클라이언트 컴퓨터의 IPv6 IP 범위를 사용했을 때 문제가 해결되는지도 확인해 보세요.
10. 클라이언트 컴퓨터 방화벽에서 SCCM 필수 포트 허용
클라이언트 컴퓨터의 방화벽이 SCCM에 필요한 포트를 차단하면 오류 코드 0x87D00607이 표시될 수 있습니다. 이 경우 클라이언트 컴퓨터의 방화벽에서 SCCM에 필요한 포트를 허용하면 문제가 해결될 수 있습니다. Microsoft 공식 문서에서 프로토콜별 SCCM 필수 포트 목록을 확인한 후, 필요한 포트를 클라이언트 컴퓨터의 방화벽에 추가하세요. 예시로 Global Catalog LDAP 포트를 Windows Defender 방화벽에서 여는 과정을 살펴보겠습니다. 진행하기 전에 SCCM 웹 서버의 포트가 다른 서비스(특히 80번 포트)와 충돌하지 않는지 확인하세요.
주의: 방화벽 설정 편집은 숙련된 작업이며, 잘못 수행하면 데이터/시스템에 의도치 않고 영구적인 손상을 초래할 수 있으므로 각별히 주의하여 자신의 책임하에 진행하세요.
- Windows 버튼을 클릭하고 Windows Defender 방화벽을 입력한 후 실행합니다.

- 왼쪽 창에서 아웃바운드 규칙(Outbound Rules)을 선택하고, 작업(Action) 창에서 새 규칙(New Rule)을 클릭합니다.

- 규칙 유형으로 포트(Port)를 선택하고 TCP 라디오 버튼을 선택합니다.

- 특정 원격 포트(Specific Remote Ports) 입력란에 3268을 입력합니다.

- 다음(Next)을 클릭하고 연결 허용(Allow the Connection) 라디오 버튼을 선택합니다.

- 모든 세 가지 네트워크 유형(도메인, 개인, 공용)을 선택하고 다음(Next)을 클릭합니다.
- 규칙 이름을 원하는 대로 입력하고 마침(Finish)을 클릭합니다.
- 다시 시도하여 SCCM에서 오류 0x87D00607이 사라졌는지 확인합니다.
문제가 지속되면 VPN이나 라우터의 방화벽이 원인이 아닌지 확인해 보세요. 그래도 문제가 남아 있다면 클라이언트 컴퓨터를 도메인에 다시 가입시켜 문제가 해결되는지 확인해 보세요. 그래도 해결되지 않으면 SCCM 서버에 대해 ContentLibraryCleanup.exe를 삭제 모드로 실행하여 문제가 해결되는지 확인할 수 있습니다. 문제가 계속되면 IIS를 다시 설치(BITS 및 ASP.Net 포함)하거나 SCCM(IIS 포함)을 재설치해야 할 수 있습니다. 어떤 해결 방법으로도 문제가 해결되지 않는다면, 문제가 보고되어 해결될 때까지 사용자들에게 패키지/애플리케이션을 직접 공유하는 방법을 고려해 볼 수 있습니다.