How to Install .NET Framework 3.5 on Windows Server 2012 Core Using DISM and Offline Sources


2 views

When working with Windows Server 2012 Core edition, you'll quickly notice that the traditional .NET 3.5 installation methods don't work. The server core environment presents unique challenges because:

  • GUI-based installers fail with the "Role Management Tool" requirement message
  • The standard DISM feature name (NetFx3-ServerCore) from Server 2008 R2 doesn't exist
  • Online installation requires Internet access which isn't always available

Before proceeding, ensure you have:

1. Administrative privileges on the server
2. Either:
   - Internet connectivity OR
   - Windows Server 2012 installation media (ISO/DVD)
3. At least 1GB free disk space

If your server has Internet access, use this single-command solution:

DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:wim:d:\sources\install.wim:4

Note: Replace "d:\" with your actual installation media drive letter if using local sources.

For environments without Internet access, mount your Windows Server 2012 ISO and run:

DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:E:\sources\sxs

Where "E:" represents your mounted ISO drive. Verify the path contains these files:

  • Microsoft-Windows-NetFx3-OnDemand-Package.cab
  • Microsoft-Windows-NetFx3-OnDemand-Package~.cab

After installation, verify success with:

DISM /Online /Get-Features | find "NetFx3"

Common issues and fixes:

Error 0x800f0906: 
Solution: Specify the correct source path or enable Windows Update

Error 0x800f081f: 
Solution: Ensure you're using the exact Server 2012 media version matching your OS

For large deployments, create this PowerShell script:

$sourcePath = "\\fileserver\share\sxs"
$feature = "NetFx3"

Try {
    $result = DISM /Online /Enable-Feature /FeatureName:$feature /All 
             /LimitAccess /Source:$sourcePath
    if ($LASTEXITCODE -eq 0) {
        Write-Output ".NET 3.5 installed successfully"
    } else {
        Throw "Installation failed with error $LASTEXITCODE"
    }
}
Catch {
    Write-Error $_.Exception.Message
}

If you're coming from Windows Server 2008 R2 Core, you'll notice the NetFx3-ServerCore feature name no longer works in Server 2012. The installation process has changed, and attempting to use the legacy installer gives you that frustrating "use Role Management Tool" message.

For Server 2012 Core, you have two primary methods to install .NET 3.5:

Method 1: Using DISM with Online Source

The most straightforward approach when your server has internet access:

DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:wim:sourcesxs

Or alternatively:

DISM /Online /Enable-Feature /FeatureName:NetFx3 /All

Method 2: Offline Installation with Installation Media

When working in air-gapped environments, mount your installation ISO and run:

DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:D:sourcessxs

Where D: is your mounted installation media drive.

For those who prefer PowerShell, here's the equivalent command:

Install-WindowsFeature NET-Framework-Core -Source D:sourcessxs

Error 0x800f0906 typically means Windows Update can't download the files. Solutions include:

  • Using the /LimitAccess parameter
  • Pointing to local sources with /Source
  • Ensuring proper Group Policy settings for Windows Update

After installation, verify with:

DISM /Online /Get-Features | find "NetFx3"

Or in PowerShell:

Get-WindowsFeature NET-Framework-Core

Remember that .NET 3.5 installation on Core requires:

  • Approximately 200MB disk space
  • Server restart for full functionality
  • Potential Windows Update dependencies