핵심 답변 3줄
① 0x800F0954는 .NET Framework 3.5에 필요한 기능 파일을 지정된 원본에서 가져오지 못할 때 확인해야 하는 오류입니다.
② 개인 PC는 Windows Update 접근을, 회사·학교 PC는 WSUS·그룹 정책을 먼저 구분합니다.
③ 온라인 설치가 계속 실패하면 현재 Windows와 대응하는 공식 설치 미디어의 sources\sxs를 원본으로 지정합니다.
0x800F0954 오류는 무엇인가요?
Windows 11에서 구형 업무 프로그램·게임·CAD 보조도구 등을 실행할 때 .NET Framework 3.5(.NET 2.0 및 3.0 포함) 설치를 요구할 수 있습니다. Windows 기능에서 체크했는데 “요청한 변경 내용을 완료할 수 없습니다”와 함께 0x800F0954가 나온다면 프로그램 자체보다 선택적 기능의 원본 획득 경로부터 확인하는 편이 빠릅니다.
특히 회사 PC는 인터넷이 정상이어도 Windows Update가 아니라 사내 WSUS를 사용하도록 정책이 잡혀 있을 수 있습니다. Microsoft는 Windows 11 22H2 이후 온프레미스 UUP에서 Features on Demand 콘텐츠를 WSUS로 제공할 수 있다고 설명하며, 24H2부터 관련 정책 옵션도 일부 변경했습니다. 오래된 해결글의 레지스트리 변경을 무조건 적용하지 않는 이유입니다.
0x800F0954와 0x800F081F 차이
0x800F0954는 업데이트·정책·원본 경로를 우선 확인하고, 0x800F081F는 지정한 원본에서 필요한 파일을 찾지 못하는 경우를 먼저 봅니다. ISO의 sources\sxs를 지정한 뒤 0x800F081F로 바뀌었다면 ISO가 현재 Windows와 대응하는 버전인지 확인하세요.
가장 빠른 확인 순서
1. Windows 기능에서 .NET Framework 3.5 상태 확인

Win + R → optionalfeatures를 입력하고 .NET Framework 3.5(.NET 2.0 및 3.0 포함)를 체크합니다. 정상적인 개인 PC라면 필요한 파일을 Windows Update에서 받아 설치할 수 있습니다.
명령어로 현재 상태 확인
DISM /Online /Get-FeatureInfo /FeatureName:NetFx3
Enabled라면 .NET 3.5 자체는 이미 켜진 상태입니다. 기능이 꺼져 있거나 payload가 로컬에 없다면 다음 단계로 진행합니다.
2. 관리자 권한 DISM으로 설치

DISM /Online /Enable-Feature /FeatureName:NetFx3 /All
Microsoft 공식 문서가 안내하는 온라인 설치 방식입니다. /All은 필요한 상위 기능까지 함께 활성화합니다. 여기서도 0x800F0954가 반복된다면 단순 인터넷 연결보다 Windows Update 원본 정책을 확인합니다.
회사·학교 PC라면 WSUS와 그룹 정책 확인

관리형 PC에서는 임의로 UseWUServer 값을 바꾸기 전에 전산 담당자에게 확인하세요. Windows 11 22H2 이후와 24H2 이후는 Features on Demand 처리 방식이 과거 Windows 10과 다릅니다.
실제로 적용된 정책 확인
gpresult /h %USERPROFILE%\Desktop\gpresult.html
생성된 보고서에서 Windows Update와 선택적 구성요소 관련 정책을 확인합니다. 로컬 그룹 정책 편집기를 제공하는 에디션에서는 컴퓨터 구성 → 관리 템플릿 → 시스템 → 선택적 구성 요소 설치 및 구성 요소 복구 설정 지정도 확인할 수 있습니다. Windows 11 24H2부터 Microsoft가 일부 옵션을 제거했기 때문에 예전 화면과 다를 수 있습니다.
가장 확실한 방법: 동일 버전 ISO의 sources\sxs 사용

온라인 원본에서 파일을 받지 못한다면 설치 미디어를 직접 원본으로 지정할 수 있습니다. 현재 설치된 Windows와 대응하는 버전의 설치 미디어를 써야 합니다. Microsoft도 버전이 맞지 않는 원본을 사용하면 지원되지 않거나 서비스하기 어려운 상태가 될 수 있다고 경고합니다.
ISO가 없다면 윈도우11 공식 다운로드 및 설치방법에서 Microsoft 공식 설치 미디어 준비 과정을 확인할 수 있습니다.
ISO 마운트 후 DISM 실행
ISO를 더블클릭해 마운트한 뒤 파일 탐색기에서 드라이브 문자를 확인합니다. 아래 예시는 D:인 경우이며 실제 PC에서는 E:·F: 등으로 달라질 수 있습니다.
DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:D:\sources\sxs
/LimitAccess는 DISM이 Windows Update/WSUS에 접근하지 않도록 하고 /Source는 필요한 파일 위치를 직접 지정합니다. 완료 후 재부팅하고 optionalfeatures에서 .NET Framework 3.5가 체크됐는지 확인합니다.
그래도 설치되지 않을 때 고급 진단
Windows 구성요소 저장소와 시스템 파일 검사
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow
Windows Update 자체 오류가 함께 나타난다면 윈도우 업데이트 0x8007000d 캐시 초기화·DISM·SFC 해결방법도 함께 확인하면 원인 분리에 도움이 됩니다.
CBS.log와 DISM.log 확인
notepad C:\Windows\Logs\CBS\CBS.log
notepad C:\Windows\Logs\DISM\dism.log
실패 직후 로그에서 0x800F0954, NetFx3, source, payload를 찾아보면 원본 접근 실패인지 구성요소 저장소 문제인지 좁힐 수 있습니다. 다른 오류코드가 함께 나온다면 마지막 코드만 보지 말고 바로 앞의 실패 원인도 확인하세요.
초기화·롤백·복구는 언제 하나요?
0x800F0954 하나만으로 Windows 초기화나 포맷부터 할 필요는 없습니다. Windows 기능 → DISM 온라인 설치 → 관리 정책 확인 → 동일 버전 ISO 원본 설치 → DISM/SFC 순서가 데이터 손실 위험이 낮습니다.
부팅 자체가 불안정하다면 포맷 없이 USB 부팅 복구방법을 참고하고, 최근 업데이트 직후 여러 구성요소 오류가 동시에 시작됐다면 Windows 업데이트 설치 오류와 DISM 복구 사례처럼 업데이트 문제와 기능 설치 문제를 분리해서 확인하세요.
재발 방지와 상황별 추천
개인 PC는 Windows Update를 막는 최적화 프로그램·프록시·방화벽 설정을 확인하고 공식 ISO를 사용합니다. 회사 PC는 로컬 레지스트리를 임의 수정하지 말고 WSUS/UUP와 조직 정책을 관리자가 확인합니다. 오프라인 PC는 동일 버전 설치 미디어의 sources\sxs를 준비해 두는 방식이 재현성이 높습니다.
자주 묻는 질문 FAQ
0x800F0954가 뜨면 .NET Framework 3.5 파일이 손상된 건가요?
반드시 그렇지는 않습니다. Windows가 기능 파일을 가져올 업데이트 원본에 접근하지 못하거나 조직 정책·WSUS 경로가 맞지 않을 때도 발생할 수 있습니다.
인터넷이 되는데도 0x800F0954가 발생할 수 있나요?
가능합니다. 웹 접속과 Windows 선택적 기능이 허용된 업데이트 원본에 접근하는 것은 별개이며, 회사 PC는 WSUS와 그룹 정책을 확인해야 합니다.
UseWUServer 값을 0으로 바꾸면 무조건 해결되나요?
권장하지 않습니다. 조직 관리 정책을 임의로 우회할 수 있고 Windows 11 버전에 따라 Features on Demand 처리 방식도 다릅니다.
sources\sxs 폴더만 다른 PC에서 복사해도 되나요?
피하는 것이 좋습니다. Microsoft는 Windows Update가 아닌 원본을 사용할 때 현재 Windows와 대응하는 설치 미디어를 사용하라고 안내합니다.
DISM 실행 후 0x800F081F로 바뀌었습니다
드라이브 문자와 sources\sxs 경로, ISO의 Windows 버전·언어·에디션이 현재 설치 환경과 맞는지 먼저 확인합니다.
.NET Framework 4.x가 있는데 3.5도 필요한가요?
일부 구형 프로그램은 .NET Framework 3.5 계열 구성요소를 직접 요구하므로 최신 4.x가 있다고 자동 대체되지 않을 수 있습니다.
설치 후 ISO를 계속 연결해 둬야 하나요?
정상적으로 기능 활성화와 재부팅이 완료됐다면 ISO를 계속 마운트해 둘 필요는 없습니다.
공식 확인처
Microsoft Learn - DISM으로 .NET Framework 3.5 배포
Microsoft Learn - WSUS 및 Features on Demand·언어팩
결론
0x800F0954는 .NET 3.5를 무작정 재설치하기보다 Windows가 필요한 기능 파일을 어디에서 가져오도록 설정돼 있는지 확인해야 빠릅니다. 개인 PC는 Windows Update 접근을, 관리형 PC는 WSUS·그룹 정책을 먼저 보고, 계속 실패하면 현재 Windows와 대응하는 공식 ISO의 sources\sxs를 지정해 DISM으로 설치하는 순서를 권장합니다.
댓글
댓글 쓰기