Resolving 0x800f0954 Error When Installing .NET Features on Windows Server 2022

NET feature. Check WSUS or policy-controlled servicing first, then validate the feature source path and Windows Update reachability before forcing repair steps.

Quick Read

  • Symptom: NET feature. Check WSUS or policy-controlled servicing first, then validate the feature source path and Windows Update reachability before forcing repair steps.
  • Check first: Confirm OS build, domain or workgroup state, local admin rights, and whether the host is managed by GPO, Intune, or another baseline.
  • Risk: Changes system state

Symptoms

The 0x800f0954 error occurs when attempting to install .NET features on Windows Server 2022, indicating that the required files cannot be downloaded from Windows Update.

Environment

Windows Server 2022

Most Likely Causes

This error typically arises due to network configuration issues, Group Policy settings that disable Windows Update, or the absence of the necessary Windows Update components.

What to Check First

  1. Confirm OS build, domain or workgroup state, local admin rights, and whether the host is managed by GPO, Intune, or another baseline.
  2. Collect the exact error code, Event Viewer entries, and the command or UI action that triggers the failure.
  3. Check whether the issue follows the user profile, machine, network, or application package.

Fix Steps

  1. Check Windows Update Service Status

    Ensure that the Windows Update service is running, as it is required for downloading .NET installation files.

    Changes system state: review before running

    Get-Service wuauserv
    Start-Service wuauserv
  2. Verify Network Connectivity

    Confirm that the server has internet access to reach Windows Update servers.

    Example pattern only. Adjust for your environment before running.

    ping www.microsoft.com
    Test-NetConnection -ComputerName www.microsoft.com -Port 443
  3. Configure Group Policy Settings

    Check Group Policy settings that may prevent Windows Update from functioning correctly.

    Example pattern only. Adjust for your environment before running.

    gpedit.msc
    Navigate to Computer Configuration -> Administrative Templates -> Windows Components -> Windows Update
    Ensure 'Configure Automatic Updates' is set to 'Not Configured' or 'Enabled'
  4. Set Windows Update Source to Local Media

    If the server cannot access the internet, set the source for .NET installation files to a local Windows Server installation media.

    Changes system state: review before running

    DISM /Online /Set-TargetImage /Source:D:\sources\install.wim /LimitAccess
  5. Install .NET Features Using DISM

    Use the Deployment Image Servicing and Management (DISM) tool to install the required .NET features directly.

    Example pattern only. Adjust for your environment before running.

    DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:D:\sources\sxs
  6. Check for Pending Updates

    Ensure there are no pending updates that could be blocking the installation process.

    Safe to run: read-only

    Get-WindowsUpdate
  7. Restart the Server

    After making changes, restart the server to ensure all settings are applied correctly.

    Changes system state: review before running

    Restart-Computer

Validation

  • The failing Windows action completes after reboot or service restart if the remediation requires one.
  • Event Viewer stops logging the same error ID for the same component during a retest.
  • The fix works for the affected standard user context, not only for an elevated administrator session.

Logs to Check

  • Event Viewer: System, Application, Setup, WindowsUpdateClient, TerminalServices, or PowerShell logs as relevant.
  • CBS.log, DISM.log, or WindowsUpdate.log when servicing or feature installation is involved.
  • Security, RDP, or application-specific logs for authentication and session failures.

Rollback and Escalation

  • Record the original registry, service, feature, policy, or firewall value before changing it.
  • Undo temporary local policy, firewall, or service changes after validation.
  • Use a restore point, VM snapshot, or exported configuration when changing servicing, boot, or security settings.

Escalate When

  • Escalate if the same error persists after rollback and a clean retry from the original failing path.
  • Escalate if logs show authorization, data loss, certificate, replication, or production availability risk outside the local service owner scope.

Edge Cases

  • If the server is part of a domain, ensure that domain policies are not overriding local settings.
  • Check for firewall rules that may block access to Windows Update servers.

Notes from the Field

  • If the machine is domain-managed, local fixes can be overwritten. Check the winning GPO or MDM policy before repeating the same change.
  • Prefer read-only collection first on Windows incidents because many repair commands change component store, services, or user profile state.