윈도우 폰트 설치 오류 0x80070005(액세스 거부) 해결 방법: 시스템 폴더 권한·FontCache·복구 명령까지

이 글의 목적은 Windows에서 폰트 설치 중 0x80070005(액세스 거부) 오류가 발생할 때, 원인을 빠르게 분류하고 시스템 폴더 권한과 폰트 캐시(FontCache) 문제를 안전한 절차로 해결하여 현장에서 바로 복구할 수 있도록 돕는 것이다.

1. 오류 0x80070005의 의미와 폰트 설치에서 자주 발생하는 지점

오류 코드 0x80070005는 Windows가 작업을 수행할 권한이 부족하다고 판단할 때 반환하는 대표적인 “액세스 거부” 오류이다.

폰트 설치 과정에서는 폰트 파일을 등록하고 시스템 폴더에 복사하며 레지스트리와 캐시를 갱신하는 동작이 함께 수행되기 때문에, 권한·서비스·정책 중 하나라도 막히면 같은 코드로 실패하는 경우가 많다.

1-1. 실제로 막히는 대표 경로이다

구분 막히는 대상 증상 대표 원인
시스템 폴더 C:\Windows\Fonts 설치 중 “액세스 거부”, 0x80070005로 실패하다 관리자 권한 미상승, 폴더 ACL 변경, 소유권 꼬임, 보안 제품 차단이다
사용자 캐시 FontCache 폴더 및 FNTCACHE.DAT 설치된 폰트가 보이지 않거나 일부 앱에서만 안 보이다 폰트 캐시 손상, 관련 서비스 정지/오작동이다
정책/보안 WDAC, AppLocker, 기업 보안 정책 특정 형식/서명/경로의 폰트만 설치가 실패하다 실행/드라이버/파일 신뢰 정책으로 차단되다
시스템 무결성 Windows 구성 요소 저장소 여러 관리자 작업이 연쇄적으로 실패하다 시스템 파일 손상, 구성 요소 오류이다
주의 : C:\Windows\Fonts 폴더의 권한을 “Everyone 전체 허용”처럼 과도하게 열면 보안이 약화되거나 업데이트/복구 과정에서 문제가 커질 수 있다. 본문에서는 기본 동작을 최대한 유지하면서 필요한 범위만 점검하는 절차로 안내하다.

2. 가장 먼저 하는 빠른 해결: “모든 사용자용 설치”로 권한 상승을 확실히 하다

같은 폰트라도 설치 방식에 따라 권한 상승(UAC)이 제대로 걸리지 않아 0x80070005가 발생하는 경우가 많다.

2-1. 파일 우클릭 메뉴에서 올바른 항목을 선택하다

다운로드한 폰트 파일(ttf, otf)을 탐색기에서 우클릭하고 “모든 사용자용 설치(Install for all users)”를 선택하다.

이 방식은 관리자 권한이 필요한 작업을 전제로 진행되므로, 단순 “설치(Install)”보다 0x80070005가 줄어드는 편이다.

2-2. 설정 앱의 폰트 설치 경로를 활용하다

Windows 설정의 개인 설정 폰트 화면에서 폰트 파일을 끌어다 놓아 설치를 시도하다.

환경에 따라 탐색기 우클릭 설치보다 정책 충돌이 적게 발생하는 경우가 있다.

2-3. 폰트 파일 자체 문제를 배제하다

동일 PC에서 다른 폰트는 설치되는데 특정 파일만 실패한다면, 폰트 파일 손상 또는 비정상 테이블 구조 가능성이 있다.

같은 폰트를 다른 출처의 원본 파일로 다시 받아 재시도하여 파일 이슈를 먼저 배제하다.

3. 시스템 파일 복구로 기반을 정리하다: SFC와 DISM을 순서대로 실행하다

권한 문제처럼 보이더라도, 시스템 구성 요소 손상으로 폰트 등록 단계가 실패하는 경우가 있다.

관리자 권한 터미널(명령 프롬프트 또는 PowerShell)을 열고 아래 순서로 실행하다.

sfc /scannow

SFC가 완료된 뒤 아래 명령을 실행하다.

DISM /Online /Cleanup-Image /ScanHealth DISM /Online /Cleanup-Image /RestoreHealth
주의 : DISM 복구는 환경에 따라 시간이 길어질 수 있으며, 중간에 강제 종료하면 상태가 더 악화될 수 있다. 전원 정책을 “절전 안 함”으로 두고 안정적으로 완료되게 하다.

4. FontCache 재구성으로 “설치되었는데 안 보이는” 문제까지 같이 잡다

폰트 설치 실패가 0x80070005로 끝나거나, 설치는 된 것 같지만 앱에서 보이지 않는다면 폰트 캐시 손상 가능성이 있다.

아래 절차는 Windows가 폰트 캐시를 다시 만들도록 유도하는 정석적인 방법이다.

4-1. 관련 서비스를 중지하다

실행 창에서 services.msc를 열고 아래 서비스를 찾아 중지하다.

서비스 이름 설명 처리
Windows Font Cache Service 시스템 전반의 폰트 캐시를 관리하다 중지하다
Windows Presentation Foundation Font Cache 3.0.0.0 WPF 기반 앱의 폰트 캐시를 관리하다 중지하다

4-2. 캐시 파일을 삭제하다

탐색기에서 숨김 항목 표시를 켜고 아래 폴더로 이동하다.

C:\Windows\ServiceProfiles\LocalService\AppData\Local\FontCache

해당 폴더 안의 파일을 삭제하다.

그 다음 아래 파일도 삭제를 시도하다.

C:\Windows\System32\FNTCACHE.DAT

삭제가 거부되면, 서비스가 완전히 중지되지 않았거나 파일이 사용 중인 상태이다.

이 경우 재부팅 후 다시 서비스를 중지하고 삭제를 재시도하다.

4-3. 서비스를 다시 시작하고 재부팅하다

앞에서 중지한 서비스를 시작하다.

이후 시스템을 재부팅하여 캐시가 정상적으로 재생성되게 하다.

주의 : 캐시 파일 삭제는 정상 절차이지만, 경로를 잘못 지정하면 다른 시스템 파일을 건드릴 수 있다. 반드시 경로를 정확히 확인하고 FontCache 관련 파일만 삭제하다.

5. 시스템 폴더 권한 점검: “수정”이 아니라 “정상 상태 확인”을 우선하다

0x80070005가 반복되는 환경에서는 C:\Windows\Fonts의 권한 또는 소유권이 비정상으로 바뀐 사례가 존재하다.

다만 폰트 폴더는 Windows가 특수하게 관리하는 영역이므로, 무작정 소유권을 바꾸거나 권한을 넓히는 방식은 권장되지 않다.

5-1. 관리자 권한으로 폰트 폴더 접근이 가능한지 확인하다

관리자 권한으로 실행한 탐색기 또는 관리자 터미널에서 폰트 폴더를 열어 접근 가능 여부를 확인하다.

관리자 권한에서도 접근이 거부되면 ACL/소유권 꼬임 가능성이 커지다.

5-2. 권한을 확인하는 명령을 사용하다

관리자 PowerShell 또는 명령 프롬프트에서 아래 명령으로 현재 권한을 확인하다.

icacls C:\Windows\Fonts

출력 결과가 비정상적으로 단순하거나, 예상과 다르게 특정 계정만 과도 권한을 갖는다면 과거 수동 변경 이력이 있을 수 있다.

주의 : icacls로 확인은 안전한 진단이지만, /grant /reset 같은 변경 명령을 즉시 적용하면 시스템 동작에 영향을 줄 수 있다. 변경이 필요하다면 변경 전 백업과 복구 경로를 확보한 뒤, 조직 표준 절차에 따라 진행하다.

6. 보안 정책(WDAC/AppLocker/기업 보안)로 인한 차단을 분리 진단하다

기업 환경에서는 폰트 파일의 설치 행위가 보안 정책으로 통제될 수 있다.

특히 WDAC 또는 AppLocker가 적용된 장비에서는 서명되지 않은 설치 경로, 사용자 다운로드 폴더에서의 실행, 특정 확장자 처리 등이 제한될 수 있다.

6-1. 증상으로 정책 차단을 의심하는 기준이다

증상 의심 포인트 우선 조치
일부 PC만 동일 폰트 설치가 실패하다 그 PC에만 정책이 강하게 적용되다 동일 OU/정책 적용 여부를 확인하다
관리자 계정으로도 설치가 막히다 관리자 권한이 아니라 정책 기반 차단이다 이벤트 로그에서 차단 흔적을 확인하다
특정 설치 방식만 실패하다 설치 트리거 경로/프로세스가 차단되다 “모든 사용자용 설치”와 설정 앱 설치를 교차 시도하다

6-2. 이벤트 로그에서 단서를 찾다

정책 차단은 보통 이벤트 로그에 흔적이 남다.

현장에서는 “응용 프로그램 및 서비스 로그” 범주에서 코드 무결성 또는 AppLocker 관련 로그를 우선 확인하는 방식이 실무적으로 빠르다.

7. 실패를 줄이는 실무 팁: 설치 전 체크리스트로 재발을 막다

체크 항목 권장 기준 이유
설치 방식 우클릭 “모든 사용자용 설치”를 우선 사용하다 권한 상승이 명확하여 0x80070005를 줄이다
폰트 파일 보관 위치 바탕화면/임시 폴더 대신 짧은 경로를 사용하다 보안 정책과 경로 제약 영향을 줄이다
캐시 상태 폰트가 안 보이면 FontCache 재구성을 수행하다 설치 성공처럼 보여도 앱 반영이 안 되는 문제를 해소하다
시스템 무결성 SFC 후 DISM 복구를 순서대로 수행하다 권한 문제로 위장된 구성 요소 오류를 제거하다
권한 변경 확인 후 최소 변경 원칙을 지키다 Fonts 폴더의 과도 변경은 더 큰 장애를 만들다

8. 문제 유형별로 바로 적용하는 해결 루트이다

8-1. “설치 버튼 누르자마자 0x80070005”인 경우이다

우클릭 “모든 사용자용 설치”로 재시도하다.

실패하면 SFC와 DISM으로 시스템 무결성을 먼저 복구하다.

8-2. “설치는 된 것 같은데 프로그램에서 폰트가 안 보임”인 경우이다

FontCache 서비스를 중지하고 캐시 파일을 삭제한 뒤 재부팅하여 캐시를 재구성하다.

8-3. “특정 PC/특정 부서만 반복 발생”인 경우이다

정책(WDAC/AppLocker) 또는 보안 제품 예외 여부를 우선 확인하다.

관리자 권한에서도 동일하면 폴더 권한 문제보다 정책 차단 가능성이 더 크다.

FAQ

TTF는 설치되는데 OTF만 0x80070005로 실패하다

환경에 따라 보안 정책이나 폰트 처리 모듈이 특정 형식을 더 엄격히 다루는 경우가 있다. “모든 사용자용 설치”로 형식을 바꿔 재시도하고, 동일 파일이 다른 PC에서 설치되는지 비교하여 정책/환경 차이를 먼저 확인하다.

Fonts 폴더 권한을 초기화하면 바로 해결되다

일시적으로 해결될 수 있으나, 폴더 권한을 무리하게 변경하면 업데이트, 복구, 보안 기준에서 문제가 확산될 수 있다. 본문 절차처럼 설치 방식 변경, SFC/DISM, FontCache 재구성으로 먼저 해결하고, 권한은 “확인 후 최소 변경” 원칙으로 접근하다.

FontCache 삭제가 무섭다

FontCache 파일은 재생성되는 캐시 데이터이므로 올바른 경로에서 올바른 파일만 삭제하면 안전한 편이다. 다만 서비스 중지 여부와 경로 확인이 핵심이므로, 절차를 생략하지 않고 수행하다.

관리자 계정인데도 계속 0x80070005가 뜨다

관리자 권한 문제보다 정책 기반 차단 또는 시스템 무결성 문제 가능성이 커지다. 이때는 “모든 사용자용 설치”로도 실패하는지 확인하고, SFC/DISM 복구를 수행한 뒤에도 동일하면 정책 로그를 확인하는 쪽이 효율적이다.

: