- 공유 링크 만들기
- X
- 이메일
- 기타 앱
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
이 글의 목적은 윈도우 기능 업데이트 중 0xC1900208 오류가 발생할 때, “호환되지 않는 앱 또는 드라이버”를 정확히 식별하고 제거하여 업그레이드를 성공시키는 실무 절차를 체계적으로 제공하는 데 있다.
1. 0xC1900208 오류의 의미와 발생 패턴
0xC1900208 오류는 기능 업데이트 또는 인플레이스 업그레이드 과정에서 호환성 검사 결과 “조치가 필요한 차단 항목”이 발견되었음을 의미하는 코드이다.
대부분의 경우 특정 앱, 보안 제품, 가상 오디오·가상 네트워크 구성요소, 게임용 안티치트, 오래된 드라이버 패키지, 잔여 파일이 업그레이드를 차단하는 형태로 나타나다.
오류 메시지는 단순히 “호환되지 않는 앱 제거” 수준으로 끝나는 경우가 많아, 실제 원인 앱을 찾지 못하고 반복 실패하는 경우가 흔하다.
| 구분 | 내용 | 현장 특징 |
|---|---|---|
| 대표 코드 | 0xC1900208 | 호환성 차단 항목 존재를 의미하다 |
| 주요 원인 | 비호환 앱, 비호환 드라이버, 잔여 실행파일·DLL, 보안 소프트웨어 | 제거했는데도 잔여 파일로 재차 차단되기도 하다 |
| 주요 증상 | 기능 업데이트 다운로드 후 설치 단계에서 중단, 롤백 후 동일 코드 재발 | 윈도우 업데이트·설치 도우미·설치 미디어 모두에서 반복되기도 하다 |
주의 : 차단 항목을 우회하려고 강제로 파일을 무작정 삭제하면 앱 손상, 부팅 문제, 업무용 에이전트 장애가 발생할 수 있다. 반드시 “무엇이 차단하는지”를 로그로 확인한 뒤 제거·업데이트·정리 순서로 처리하다.
2. 가장 빠른 해결 흐름
2-1. 설정 화면에서 차단 앱 이름이 표시되는 경우
업그레이드 UI에서 차단 앱 이름이 바로 표시되는 경우가 있다.
이 경우 우선 앱을 정상 제거한 뒤 재부팅하고 업데이트를 다시 시도하는 것이 최단 경로이다.
2-2. 차단 앱 이름이 표시되지 않는 경우
이 경우 호환성 스캔 로그를 확인하여 차단 항목을 특정하는 것이 정답이다.
로그에서 “Hard 차단” 또는 “BlockingApplication=True”로 표시된 항목이 실제 범인이다.
3. 차단 원인을 로그로 특정하는 방법
윈도우 설치 프로그램은 업그레이드 과정에서 호환성 검사 결과를 XML 로그로 남기다.
핵심은 최신 타임스탬프의 로그를 찾아 “차단 속성”을 검색하는 것이다.
| 로그 종류 | 주요 위치 | 확인 포인트 |
|---|---|---|
| CompatData<date-time>.xml | C:\$WINDOWS.~BT\Sources\Panther\ | BlockingType="Hard" 검색으로 차단 앱 식별하다 |
| *_APPRAISER_HumanReadable.xml | 시스템 드라이브 전체 검색 필요 | DT_ANY_FMC_BlockingApplication=True 및 파일 경로 확인하다 |
| 추가 로그 | C:\Windows\Panther\ | 설치 단계별 로그 보강 확인에 활용하다 |
3-1. CompatData XML에서 “Hard 차단” 찾는 절차
CompatData XML은 구조가 비교적 명확하여 차단 앱 이름이 직접 보이는 경우가 많다.
가장 최신 파일을 열고 Programs 섹션에서 BlockingType="Hard"를 찾는 것이 핵심이다.
1) 탐색기에서 숨김 항목 표시를 켜다 2) C:\$WINDOWS.~BT\Sources\Panther\ 로 이동하다 3) CompatData*.xml 중 시간값이 가장 최신 파일을 선택하다 4) 메모장 또는 VS Code로 열고 아래 문자열을 검색하다 BlockingType="Hard" 3-2. HumanReadable XML에서 “잔여 파일 경로”까지 뽑는 절차
차단 앱을 제거했는데도 실패가 반복되는 경우, 잔여 exe·dll 파일이 차단 근거로 남아 있는 경우가 많다.
이때 HumanReadable XML이 “정확한 파일 경로”를 제공하는 경우가 많다.
1) 시스템 드라이브(C:)에서 아래 패턴으로 파일을 검색하다 *_APPRAISER_HumanReadable.xml 2) 가장 최신 파일을 열고 아래 문자열을 검색하다 DT_ANY_FMC_BlockingApplication=True 3) 해당 근처에서 아래 속성을 찾아 경로를 확인하다 LowerCaseLongPathUnexpanded 주의 : HumanReadable XML에 표시된 경로가 곧바로 “수동 삭제 대상”이라는 의미는 아니다. 먼저 해당 경로가 어떤 제품·드라이버에 속하는지 확인하고, 가능하면 제품 제거 기능으로 정리한 뒤 잔여 파일을 처리하다.
4. 호환 앱 제거 실무 절차
4-1. 표준 제거 순서
표준 제거는 “정상 제거 → 재부팅 → 잔여 서비스·드라이버 확인 → 잔여 파일 정리” 순서가 안전하다.
| 단계 | 작업 | 핵심 기준 |
|---|---|---|
| 1 | 설정 > 앱 > 설치된 앱에서 대상 제거하다 | 가능하면 제조사 제거 도구를 우선하다 |
| 2 | 재부팅하다 | 드라이버·서비스 언로드를 확실히 하다 |
| 3 | 잔여 드라이버·서비스를 확인하다 | 보안 제품, 가상 장치, 필터 드라이버를 중점 확인하다 |
| 4 | 로그에 남은 파일 경로를 기준으로 잔여 파일을 정리하다 | 업무용 에이전트 파일은 관리자 검토 후 처리하다 |
4-2. 명령으로 앱을 제거하는 방법(winget 활용)
GUI 제거가 막히거나 대량 장비에서 표준화가 필요하면 winget 제거가 유효하다.
1) 설치 목록 확인하다 winget list 2) 제품명 또는 ID로 제거하다 winget uninstall "제품명" 3) 유사 제품이 여러 개면 ID로 제거하다 winget uninstall --id "제조사.제품ID" 4-3. 흔히 차단을 유발하는 범주
환경마다 다르지만 현장에서 빈도가 높은 범주는 다음과 같다.
보안 제품(백신, EDR, DLP), 가상 오디오 믹서·가상 사운드 드라이버, VPN·가상 NIC, 디스크 암호화·필터, 게임 안티치트, 오래된 주변기기 드라이버가 대표적이다.
주의 : 보안 제품을 제거하면 보호 공백이 발생하다. 업무 장비에서는 제거 대신 “호환 버전 업데이트” 또는 “정책 기반 업그레이드 창구”를 우선하다.
5. “제거했는데도 0xC1900208이 계속 뜨는” 잔여 흔적 처리
차단 앱을 제거했더라도 설치 캐시, 설치 평가 데이터, 잔여 파일 때문에 동일 코드가 재발하다.
이때는 “캐시 정리”와 “동적 업데이트 반영”을 함께 수행하는 것이 효과적이다.
5-1. 설치 관련 캐시 정리
설치 재시도 전에 업데이트 다운로드 캐시와 임시 설치 폴더를 정리하면 재평가가 깔끔해지다.
1) Windows Update 다운로드 캐시를 비우다 C:\Windows\SoftwareDistribution\Download 2) 숨김 폴더 정리하다(불필요한 경우에만) C:\$WINDOWS.~BT 3) 정리 후 재부팅하다 5-2. “파일 경로가 차단으로 찍히는” 케이스 처리
HumanReadable XML이 특정 exe·dll 경로를 지목하는데 이미 앱 제거가 끝난 상태라면, 해당 파일이 잔여물일 가능성이 있다.
다만 파일을 무작정 지우기 전에 해당 파일의 소유 제품을 확인하는 것이 안전하다.
1) 파일 속성에서 제품명/제조사를 확인하다 2) 프로그램 추가/제거에 남은 항목이 있는지 재확인하다 3) 관련 서비스/드라이버가 남았는지 확인하다 4) 최종적으로 잔여 파일을 제거하다 5) 재부팅 후 업그레이드를 재시도하다 6. 업그레이드 재시도 전에 “호환성 스캔만” 돌려 확인하는 방법
전체 업그레이드를 다시 돌리기 전에 호환성 검사만 수행하면 시간을 절약할 수 있다.
설치 미디어 또는 ISO 마운트 환경에서 setup.exe를 사용해 호환성 스캔 전용 실행을 수행하다.
setup.exe /auto upgrade /noreboot /eula accept /compat scanonly /compat ignorewarning 스캔 후 다시 로그를 확인하여 차단 코드가 사라졌는지 판단하다.
차단이 해소되면 기능 업데이트 또는 인플레이스 업그레이드를 재시도하다.
7. 기업 환경에서의 표준 대응 포인트
7-1. 장비군 단위로 차단 원인을 수집하는 접근
기업 환경에서는 단일 PC의 수동 제거보다 “차단 앱 인벤토리화”가 우선이다.
호환성 스캔을 사전 수행하고, 로그에서 Hard 차단 항목을 수집하여 배포 정책(제거, 업데이트, 예외)을 수립하다.
7-2. SetupDiag 기반의 원인 분류
SetupDiag는 설치 로그를 규칙 기반으로 해석하여 차단 원인을 분류하는 데 도움이 되다.
현장에서는 표준 로그 경로를 한 폴더로 모아 결과를 텍스트로 남기는 방식이 운영에 유리하다.
예시 실행 형태이다 SetupDiag.exe /LogsPath "C:\Temp\WindowsSetupLogs" /Output "C:\Temp\SetupDiag-Results.txt" 주의 : 장비 관리 솔루션(EDR, DLP, 자산관리 에이전트)이 차단 원인인 경우가 많다. 무단 제거는 감사·보안 이슈로 이어지기 쉬우므로 사전 승인 절차를 포함하다.
8. 실패를 줄이는 사전 점검 체크리스트
0xC1900208은 결국 “호환성 차단”이므로 사전 점검이 강력한 예방책이다.
| 점검 항목 | 점검 방법 | 판단 기준 |
|---|---|---|
| 보안 제품·필터 드라이버 존재 | 설치된 앱/드라이버 목록 확인하다 | 호환 버전 업데이트 또는 업그레이드 창구 적용하다 |
| 가상 NIC/VPN 구성요소 | 네트워크 어댑터 및 설치 앱 확인하다 | 불필요 구성요소 제거 후 재부팅하다 |
| 가상 오디오/믹서 드라이버 | 사운드 장치 및 관련 앱 확인하다 | 최신 버전으로 업데이트하거나 제거하다 |
| 이전 설치 잔여 폴더 | $WINDOWS.~BT, SoftwareDistribution 상태 확인하다 | 재시도 전 정리로 재평가를 유도하다 |
| 호환성 스캔 선행 | /compat scanonly로 로그를 생성하다 | 차단 항목이 0개가 될 때까지 조치하다 |
FAQ
업데이트 화면에서 “호환 앱 제거”만 뜨고 앱 이름이 안 보이는 이유는 무엇이다?
업그레이드 UI가 차단 항목을 축약 표시하는 경우가 있기 때문이다. 이 경우 CompatData XML과 HumanReadable XML에서 차단 항목을 직접 확인하는 방식이 가장 정확하다.
앱을 제거했는데도 같은 0xC1900208이 반복되는 이유는 무엇이다?
제거 후에도 잔여 파일, 잔여 드라이버 패키지, 평가 데이터가 남아 차단 근거가 유지되는 경우가 있기 때문이다. HumanReadable XML의 파일 경로 확인, 설치 캐시 정리, 재부팅 후 재시도가 유효하다.
보안 제품을 꼭 제거해야만 해결되는가?
반드시 제거만이 답은 아니다. 보안 제품이 차단 원인이라면 호환 버전 업데이트가 우선이며, 정책상 제거가 불가하면 업그레이드 허용 정책이나 제조사 가이드에 따른 업그레이드 모드를 적용하는 접근이 안전하다.
호환성 스캔만 돌려서 차단이 사라졌는지 확인할 수 있는가?
가능하다. setup.exe /compat scanonly를 사용하면 전체 설치 없이도 차단 항목을 재평가하고 로그를 생성할 수 있다. 차단이 해소되면 업그레이드를 재시도하는 방식이 효율적이다.
차단 파일 경로가 시스템 폴더에 있으면 어떻게 처리해야 하는가?
시스템 폴더에 있더라도 특정 제품이 심어놓은 구성요소일 수 있다. 먼저 파일 속성, 설치 목록, 서비스·드라이버를 통해 소유 제품을 확인한 뒤 정상 제거 또는 제조사 도구로 정리하는 것이 원칙이다.