Windows Server와 Windows 10의 상당수 응용 프로그램은 .NET Framework 4.6이 기본 설치되어 있음에도 불구하고 .NET Framework 3.5를 필요로 합니다. 예를 들어 SQL Server Management Studio는 .NET 3.5가 없으면 설치 및 실행조차 불가능합니다. 이 글에서는 Windows Server 2016/2019 및 Windows 10에 .NET Framework 3.5를 설치하는 다양한 방법을 상황별로 자세히 정리해 드리겠습니다.
목차
- Windows Server에 .NET Framework 3.5 설치하기
- 서버 관리자로 .NET Framework 3.5 설치하기
- DISM 또는 PowerShell로 설치하는 방법
- GPO로 선택적 구성 요소 설치 관리하기
- Windows 10에서 .NET Framework 3.5 활성화하기
Windows Server에 .NET Framework 3.5 설치하기
Windows Server가 인터넷에 직접 연결되어 있다면 다음과 같은 여러 방법으로 .NET Framework 3.5를 설치할 수 있습니다.
- 서버 관리자(Server Manager) 이용
- DISM 명령 사용:
DISM /Online /Enable-Feature /FeatureName:NetFx3 /All - PowerShell 사용:
Install-WindowsFeature NET-Framework-Core
이 방식에서는 해당 Windows Server 버전에 필요한 .NET 3.5 배포 파일이 Windows Update 서버에서 다운로드됩니다. 이 설치 방법이 정상적으로 작동하려면 다음 사항을 미리 확인해야 합니다.
- 서버가 로컬 WSUS 서버에서 업데이트를 받도록 구성되어 있지 않아야 합니다(GPO의 업데이트 설정 또는 서버 레지스트리에서 확인).
- 프록시 및 방화벽 설정이 Windows Update 서버 접근을 차단하지 않아야 합니다.
반면 서버가 인터넷에 직접 연결되어 있지 않은 경우, 서버 관리자 콘솔(역할 및 기능 추가 → 기능 → NET Framework 3.5 기능)을 통해 설치를 시도하면 0x800f081f(원본 파일을 찾을 수 없음) 또는 0x800F0950 오류와 함께 설치에 실패합니다.

.NET Framework 3.5는 Windows Server 2016/2019의 기능 목록에는 포함되어 있지만, Windows 구성 요소 저장소에는 바이너리 파일이 없습니다(FOD(Features on Demand) 개념). 이는 디스크에서 Windows가 차지하는 용량을 줄이기 위한 조치입니다. 다음 명령으로 로컬 구성 요소 저장소에 .NET Framework 3.5가 있는지 확인할 수 있습니다.
Get-WindowsFeature *Framework*

실행 결과에서 NET-Framework-Core 기능의 상태가 제거됨(Removed)으로 표시되는 것을 확인할 수 있습니다.
NET-Framework-Core를 설치하려면 ISO 파일, DVD 드라이브 또는 공유 네트워크 폴더에 압축 해제된 형태의 Windows Server 2016/2019 배포본이 필요합니다. Windows Server 설치 이미지가 담긴 ISO 파일을 가상 드라이브(예: D: 드라이브)로 마운트한 뒤, GUI 또는 PowerShell을 사용하여 기능을 설치하면 됩니다.
서버 관리자로 .NET Framework 3.5 설치하기
서버 관리자 그래픽 콘솔을 통해서도 .NET 3.5 기능을 설치할 수 있습니다. 앞서와 같이 .NET Framework 3.5 기능을 선택한 후, 설치 버튼을 클릭하기 전에 화면 하단의 대체 원본 경로 지정 링크를 클릭합니다.

이 창에서 Windows Server 2016 설치 이미지의 구성 요소 저장소(SxS 폴더) 경로를 지정해야 합니다. ISO 이미지를 가상 디스크로 마운트했다면 경로는 D:\sources\sxs와 같은 형태입니다. 배포 파일을 미리 복사해 둔 네트워크 공유 폴더(예: \\fs1\iso\ws2016\sources\sxs)를 지정할 수도 있습니다. 경로 입력 후 확인을 클릭하고 설치를 진행하면 됩니다.

DISM 또는 PowerShell로 .NET Framework 3.5 설치하는 방법
관리자 권한 명령 프롬프트나 PowerShell 콘솔에서 설치하는 것이 훨씬 간편합니다. 다음 명령을 실행하기만 하면 됩니다.
Dism.exe /online /enable-feature /featurename:NetFX3 /All /Source:D:\sources\sxs /LimitAccess
여기서 D:\는 Windows Server 2016 원본 파일이 있는 드라이브입니다. LimitAccess 매개변수는 DISM이 구성 요소 바이너리 파일을 받기 위해 Windows Update 서버에 연결하는 것을 차단하며, 지정된 폴더의 원본 파일만 사용하도록 합니다.

Add-WindowsFeature PowerShell cmdlet을 사용하는 방법도 있습니다.
Add-WindowsFeature NET-Framework-Core -Source d:\sources\sxs
구성 요소 설치가 완료된 후에는 서버를 재시작할 필요가 없습니다.
또한 Windows Server 설치 이미지의 \sources\sxs 폴더에서 cab 파일 2개(microsoft-windows-netfx3...)를 수동으로 복사한 뒤, 다음 명령으로 설치할 수도 있습니다.
dism /online /Add-Package /PackagePath:C:\distrib\net35\microsoft-windows-netfx3-ondemand-package~31bf3856ad364e35~amd64~~.cab
GPO로 선택적 구성 요소 설치 관리하기
그룹 정책 설정 선택적 구성 요소 설치 및 구성 요소 복구에 대한 설정 지정(GPO 섹션 컴퓨터 구성 → 관리 템플릿 → 시스템에 위치)을 사용하면 WSUS 환경에서도 로컬 원본 또는 Windows Update를 통해 Windows 구성 요소를 설치하도록 세부 설정을 구성할 수 있습니다.
여기서 Windows 구성 요소를 설치하거나 복구할 때 로컬 WSUS 서버 대신 항상 Windows Update 서버(인터넷)에서 파일을 다운로드하도록 지정할 수 있습니다("Windows Server Update Services 대신 Windows Update에서 직접 복구 콘텐츠 및 선택적 기능 다운로드" 옵션). 또한 기능 설치 시 사용할 Windows Server 구성 요소(또는 wim 파일)가 있는 디렉터리 경로를 "대체 원본 파일 경로" 매개변수에 지정할 수도 있습니다.

Windows 10에서 .NET Framework 3.5 활성화하는 방법
Windows 10에서는 제어판의 Windows 기능 창을 통해 .NET Framework 3.5를 설치할 수 있습니다.
optionalfeatures.exe명령을 실행합니다.- 구성 요소 목록에서 .NET Framework 3.5(.NET 2.0 및 3.0 포함)를 선택하고 확인을 클릭합니다.
- 컴퓨터가 인터넷에 직접 연결되어 있다면 다음 창에서 "Windows 업데이트에서 파일을 다운로드하도록 허용"을 선택합니다. 그러면 최신 버전의 .NET Framework 3.5가 Microsoft 서버에서 다운로드되어 자동으로 설치됩니다.
동일한 DISM 및 PowerShell 명령으로도 .NET Framework 3.5를 온라인 다운로드 및 설치할 수 있습니다.
DISM /online /Enable-Feature /FeatureName:"NetFx3"
또는Enable-WindowsOptionalFeature -Online -FeatureName "NetFx3"
인터넷에 연결되어 있지 않은 환경이라면 다음 두 가지 방법으로 Windows 10에 .NET 3.5를 설치할 수 있습니다.
- 오프라인 설치 관리자 – 최신 버전의 .NET Framework 3.5 SP1 Runtime(dotnetfx35.exe)을 공식 사이트(https://dotnet.microsoft.com/download/dotnet-framework/net35-sp1)에서 다운로드하여 설치합니다.
- Windows 10 설치 디스크나 ISO 이미지(버전과 빌드가 일치해야 함)가 있다면 예를 들어 D: 드라이브에 연결/마운트한 후, DISM 명령(
DISM /online /enable-feature /featurename:NetFX3 /All /Source:D:\sources\sxs /LimitAccess) 또는 PowerShell(Add-WindowsCapability -Online -Name NetFx3~~~~ -Source D:\Sources\SxS)을 사용하여 설치합니다.
.NET Framework가 성공적으로 설치되었는지 확인하려면 다음 명령을 실행합니다.
Get-WindowsCapability -Online -Name NetFx3~~~~
Name : NetFX3~~~~
State : Installed
DisplayName : .NET Framework 3.5 (includes .NET 2.0 and 3.0)
DownloadSize : 72702771
InstallSize : 247885750

레지스트리를 조회하는 다음 명령으로도 .NET Framework 3.5의 설치 여부와 버전을 확인할 수 있습니다.
(Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5").Version

같은 방식으로 레지스트리 경로의 버전을 바꿔가며 다른 .NET Framework 버전의 설치 여부도 확인할 수 있습니다.