.NET Framework Offline Install Windows 11: DISM + 0x800f081f Fix
To install .NET Framework 3.5 offline in Windows 11, run DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:X:\sources\sxs from an elevated Command Prompt, where X: is the drive letter of your mounted Windows 11 ISO or installation USB. But here is the counterintuitive part that explains the entire “offline installer” search ecosystem: there is no standalone offline installer for .NET Framework 3.5 — it is not a download at all. .NET 3.5 is a Windows Feature that lives inside the Windows installation media. The “offline” part refers to pointing DISM at the local \sources\sxs folder instead of letting Windows Update download it. The error 0x800f081f that everyone hits (“the source files could not be found”) is Windows failing to locate that folder — not a missing download, not a corrupted installer, just a path problem. .NET Framework 4.8 is a completely different story: it ships with Windows 11 and updates through Windows Update, and Microsoft does provide a real offline installer for it.
“.NET Framework offline installer” is one of the most-searched Windows phrases, and the search itself reveals the confusion: there is no single “.NET Framework offline installer” file. The .NET Framework family splits into two fundamentally different installation stories. .NET Framework 3.5 (which includes .NET 2.0 and 3.0) is a Windows Feature — a component that Microsoft ships inside the Windows installation media, not as a separate download. You enable it through the Windows Features dialog or the DISM command, and for offline installation, you point at the \sources\sxs folder on the Windows ISO or USB. .NET Framework 4.x (4.5 through 4.8.1) is a runtime download — a real executable installer from Microsoft’s download page, with both web and offline variants. Searching for “.NET Framework offline installer” conflates both, which is why the results are a mess of third-party repack sites offering “all-in-one” bundles that Microsoft never made.
Jake’s customer this week was a parts supplier running a 2014-era inventory program that requires .NET Framework 3.5. The PC lives in a warehouse back room where the Wi-Fi doesn’t reach, and the Windows Optional Features dialog kept trying to download .NET 3.5 from Windows Update — failing with a network error because there is no network. The customer had a Windows 11 installation USB in a drawer. Jake mounted it, ran the DISM command pointing at the USB’s \sources\sxs folder, and .NET 3.5 installed with zero internet. Ethan’s comment: “.NET 3.5 isn’t a download — it’s a feature that’s already in Windows. The offline installer people search for doesn’t exist as a file. The ‘offline’ part means: ‘look at this USB drive, not at the internet.’”
What “Offline Installer” Actually Means for .NET Framework
The .NET Framework family covers more than two decades of versions, and the installation method depends entirely on which version you need:
| Version | What it is | How to install offline |
|---|---|---|
| .NET 3.5 (includes 2.0 and 3.0) | A Windows Feature built into the OS | DISM command with \sources\sxs from the Windows installation media |
| .NET 4.x (4.5 through 4.8.1) | A standalone runtime installer from Microsoft | Download the offline installer executable from Microsoft’s .NET download page |
| .NET (5/6/7/8/9) (modern .NET) | The successor platform (not .NET Framework) | Download from Microsoft’s dotnet.microsoft.com — separate from .NET Framework |
The confusion comes from the fact that .NET 3.5 and .NET 4.x have completely different installation models, but search results for “.NET Framework offline installer” return a mixture of both. A reader looking for the .NET 3.5 offline method gets directed to the .NET 4.8 offline installer download (which is a real file), tries to run it, and it doesn’t solve their .NET 3.5 problem. A reader looking for the .NET 4.8 installer gets directed to DISM tutorials, which don’t apply. This post covers both, clearly separated.
“So .NET 3.5 is a feature, .NET 4.8 is a download, and modern .NET is a whole different thing?” Jake asked. “Three installation models under one family name?”
“And two decades of version history,” Ethan said. “.NET 3.5 shipped with Windows 7 as a built-in component, and Microsoft kept that model through Windows 10 and 11. .NET 4.x arrived as a separate download and stayed that way. Modern .NET (the .NET 5+ platform) is a clean break that replaced .NET Framework entirely — but old Windows apps still need the old framework. Your inventory program doesn’t care about modern .NET. It needs .NET 3.5, and .NET 3.5 is inside the USB drive in that drawer.”
♂️ Jake's Reality Check
"The parts supplier’s PC had no internet, and I installed .NET 3.5 from the installation USB. How is that not an ‘offline installer’?"
The straight answer. It is offline installation, but the “installer” is the Windows installation media itself, not a separate .NET file. When people search “.NET Framework 3.5 offline installer,” they expect a single executable they can download and run. That file doesn’t exist for .NET 3.5 — Microsoft never provided one. What exists is the DISM command that uses the Windows ISO or USB as the source. The distinction matters because third-party sites that promise a “.NET 3.5 offline installer download” are offering repackaged, unsigned files from sources Microsoft doesn’t control. Use the installation media you already own.
Install .NET 3.5 Offline via DISM (The Standard Method)
DISM (Deployment Image Servicing and Management) is the built-in Windows tool for managing features and updates from the command line. This method works on any edition of Windows 11 and Windows 10, and it is the only reliable way to install .NET 3.5 when Windows Update can’t or shouldn’t be used:
Step 1: Get the Source Files
The source for .NET 3.5 is the \sources\sxs folder on the Windows installation media. Three options:
- Mount the Windows 11 ISO — if you downloaded the ISO from Microsoft, double-click it in File Explorer. Windows 11 mounts ISO files natively as a virtual drive (e.g., drive
E:). The source path becomesE:\sources\sxs. - Insert the Windows 11 installation USB — if you created installation media with the Media Creation Tool, plug the USB in. The source path becomes the USB’s drive letter plus
\sources\sxs(e.g.,F:\sources\sxs). - Windows Server — the same DISM command works on Windows Server 2016/2019/2022/2025 with the Server ISO or a shared folder containing the extracted
\sources\sxscontents.
Step 2: Run the DISM Command
- Right-click Start → Terminal (Admin) (or Command Prompt (Admin)). Accept the UAC prompt.
- Type the DISM command, replacing
E:with your actual source drive:
DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:E:\sources\sxs
Each parameter, explained:
/Online— the target is the running Windows installation (not an offline image)./Enable-Feature /FeatureName:NetFx3— enables the .NET Framework 3.5 feature (which includes .NET 2.0 and 3.0)./All— enables all parent dependencies in one operation./LimitAccess— this is the offline switch: prevents DISM from contacting Windows Update or WSUS./Source:E:\sources\sxs— tells DISM exactly where the .NET 3.5 source files are. ReplaceE:with your mounted ISO or USB drive letter.
Step 3: Verify
The command runs for 1–3 minutes and should end with “The operation completed successfully.” To verify, run:
DISM /Online /Get-FeatureInfo /FeatureName:NetFx3
The output should show State: Enabled. Alternatively, open optionalfeatures.exe (Win+R → optionalfeatures) and confirm “.NET Framework 3.5 (includes .NET 2.0 and 3.0)” is checked.
Install .NET 3.5 via Windows Features (The GUI Method, Online)
If the PC has internet access, the GUI method is simpler than DISM but downloads the .NET 3.5 files from Windows Update:
- Press Win + R, type
optionalfeatures.exe, and press Enter. (Or: Settings → System → Optional features → More Windows Features.) - The “Windows Features” dialog opens with a list of optional components.
- Check “.NET Framework 3.5 (includes .NET 2.0 and 3.0)”.
- Click OK. Windows downloads the .NET 3.5 files from Windows Update (requires internet).
- When the download completes, Windows installs the feature and prompts to restart.
- Restart the PC. .NET 3.5 is now available.
This method fails on the no-internet scenario (Windows Update is the source) and fails in enterprise environments where WSUS blocks .NET 3.5 by default. The DISM method with /LimitAccess is the workaround for both.
Fix Error 0x800f081f (The Source Files Could Not Be Found)
Error 0x800f081f is the most common .NET 3.5 installation failure, and it is a specific error with a specific meaning: Windows could not find the .NET 3.5 source files at the path you provided. The error text reads “The source files could not be found. Use the ‘Source’ option to specify the location of the files that are required to restore the feature.”
| Cause | How to check | The fix |
|---|---|---|
| Wrong drive letter | The ISO/USB mounted to a different letter than you typed | Open File Explorer, check the actual drive letter, update the /Source parameter |
| Missing sxs folder | Navigate to the drive and confirm \sources\sxs exists | Use a complete Windows 11 ISO (the full download, not a stripped/partial one) |
| Version mismatch | Using Windows 10 media to install on Windows 11 | Use the same OS version’s media — Windows 11 ISO for Windows 11, Server ISO for Server |
| Corrupted component store | Even with the correct source, DISM fails | Run sfc /scannow, then DISM /Online /Cleanup-Image /RestoreHealth, then retry the NetFx3 install |
| Group Policy blocking | Enterprise PCs where WSUS restricts feature installs | The /LimitAccess + /Source parameters bypass this; or check GPO under Computer Config → Admin Templates → System → “Specify settings for optional component installation” |
The most common cause is the simplest: a typo in the drive letter. Windows mounted the ISO as drive E: but the command was run with D: or F:. Check the actual letter in File Explorer before running the DISM command. The second most common is a stripped ISO — some third-party “lite” or modified Windows ISOs remove the \sources\sxs folder to save space, which breaks offline .NET 3.5 installation. Always use the ISO downloaded directly from Microsoft. For the component store repair, our DISM source-files fix guide covers the full recovery path.
Install .NET 3.5 via PowerShell (The Scripted Method)
For scripted deployments or when you prefer PowerShell over CMD, the equivalent command uses the Enable-WindowsOptionalFeature cmdlet:
# Install .NET 3.5 offline using PowerShell
Enable-WindowsOptionalFeature -Online `
-FeatureName "NetFx3" `
-Source "E:\sources\sxs" `
-LimitAccess `
-All
# Verify the feature is enabled
Get-WindowsOptionalFeature -Online -FeatureName "NetFx3" | Select-Object FeatureName, State
Run PowerShell as Administrator (right-click Start → Terminal (Admin)). The parameters map exactly to the DISM flags: -Source is the sxs path, -LimitAccess prevents Windows Update access, and -All enables dependencies. If PowerShell isn’t recognized as a cmdlet (the error where PowerShell itself doesn’t run), that’s a PATH issue we have a separate guide for.
Install .NET Framework 4.8 Offline (The Real Download)
.NET Framework 4.8 and 4.8.1 are actual downloadable installers — this is the “offline installer” that genuinely exists. Windows 11 ships with .NET Framework 4.8 built in, so you only need to install it if an application requires a newer version or if the built-in runtime is corrupted. Microsoft provides both a web installer (small, downloads during installation) and an offline installer (larger, no internet needed):
- Go to Microsoft’s .NET Framework 4.8 download page (search “download .NET Framework 4.8 offline installer” or navigate from dotnet.microsoft.com).
- Download the offline installer (not the web installer). The offline package is a single executable (approximately 100 MB) that contains the full runtime.
- Run the executable on the target PC. No internet connection is needed during installation.
- Accept the license terms and click Install.
- Restart the PC when prompted.
For silent (unattended) installation, use the /q and /norestart flags: NDP48-x86-x64-AllOS-ENU.exe /q /norestart. This is the standard method for scripted deployments and enterprise rollouts. The 4.8.1 installer follows the same pattern.
The Third-Party “All-in-One” Installer Trap (Why GitHub and TechPowerUp Packages Are bit Risky)
The search results for “.NET Framework offline installer” are dominated by third-party aggregators: GitHub repositories, and mirror sites offering “all-in-one” .NET Framework packages. These packages are not from Microsoft, are not signed by Microsoft, and are not supported by Microsoft. They typically bundle multiple .NET versions into a single archive, sometimes with automated install scripts that modify Windows Features, registry keys, and system files in ways Microsoft never documented.
While few of the ones would be genuine, the risk is specific: a repackaged .NET installer can carry modified executables, outdated versions with known security vulnerabilities, or additional software bundled without disclosure. Microsoft does not host a single “all-in-one .NET Framework offline installer” because the installation models are fundamentally different: .NET 3.5 is a Windows Feature (enabled through DISM or the GUI, sourced from the installation media), .NET 4.x are separate downloads from Microsoft’s page, and modern .NET (5+) is an entirely separate platform. A single installer that claims to handle all of these is doing something Microsoft’s own tooling doesn’t do.
The honest alternative, in every case: for .NET 3.5, use the Windows installation media you already own with the DISM command. For .NET 4.8, download the offline installer directly from Microsoft’s .NET Framework page. Both are free, both are signed, and both are the documented path. If a third-party site is the only place offering a “download,” it’s offering something Microsoft chose not to provide — and that’s not a service, it’s a risk.
Verify the .NET Framework Installation
After installing, verify that Windows recognizes the .NET Framework version you need:
- For .NET 3.5: Run
DISM /Online /Get-FeatureInfo /FeatureName:NetFx3from an elevated Command Prompt — look for “State: Enabled.” Or openoptionalfeatures.exeand confirm the checkbox. - For .NET 4.x: Open
regeditand navigate toHKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full. TheReleaseDWORD tells you the exact version: 528040 or higher = 4.8, 533320 or higher = 4.8.1. - For a quick all-versions check: Run
dir %windir%\Microsoft.NET\Framework\v* /bfrom a Command Prompt — this lists all installed .NET Framework directory versions.
The IT Admin Corner: Deploying .NET 3.5 at Scale
Group Policy: Configure the .NET 3.5 Source
Computer Configuration → Administrative Templates → System → “Specify settings for optional component installation and component repair”. Enable the policy and specify the alternate source file path (a network share containing the extracted \sources\sxs contents). This lets domain-joined machines install .NET 3.5 from the share even when WSUS doesn’t provide it. Check “Download repair content and optional features directly from Windows Update” if you want both the local source and the online fallback.
PowerShell: Remote Installation
# Install .NET 3.5 on a remote PC (requires WinRM)
Invoke-Command -ComputerName "REMOTE-PC" -ScriptBlock {
Enable-WindowsOptionalFeature -Online `
-FeatureName "NetFx3" `
-Source "\\server\share\sxs" `
-LimitAccess -All
}
# Install .NET 3.5 on multiple PCs from a CSV
Import-Csv "computers.csv" | ForEach-Object {
Invoke-Command -ComputerName $_.Name -ScriptBlock {
Enable-WindowsOptionalFeature -Online `
-FeatureName "NetFx3" `
-Source "\\server\share\sxs" `
-LimitAccess -All
}
}
Windows Server 2025/2022/2019
The same DISM and PowerShell commands work on Windows Server. Use the Server ISO’s \sources\sxs folder as the source, or place the contents on a network share accessible to the server. The Group Policy approach is the standard for Server deployments because the share can serve multiple machines simultaneously.
✅ The deployment, compressed
Point DISM at the sxs folder. Use /LimitAccess to block Windows Update. Use the same OS version’s media as the source. For fleets, use the Group Policy source path or the PowerShell Invoke-Command pattern. Error 0x800f081f means the path is wrong or the media is wrong — not that the download is missing.
Frequently Asked Questions
How do I install .NET Framework 3.5 offline in Windows 11?
Mount the Windows 11 ISO (double-click it in File Explorer), open Terminal (Admin), and run: DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:E:\sources\sxs (replace E: with your mounted drive letter). No internet required.
Is there a .NET Framework 3.5 offline installer download?
No. .NET Framework 3.5 is a Windows Feature, not a standalone download. Microsoft does not provide a separate offline installer for it. The “offline installation” uses the DISM command with the Windows installation media as the source. Third-party sites offering a “.NET 3.5 offline installer download” are providing repackaged, unsigned files.
How do I fix error 0x800f081f when installing .NET 3.5?
Error 0x800f081f means Windows can’t find the source files. Check: the drive letter in your /Source path is correct, the \sources\sxs folder exists on the media, the media matches the running Windows version, and the component store isn’t corrupted (run sfc /scannow then DISM /Online /Cleanup-Image /RestoreHealth).
How do I install .NET 3.5 via the command line?
Open Command Prompt as Administrator and run: DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:X:\sources\sxs. Replace X: with the drive letter of your Windows installation media. Add /LimitAccess only when you want to block Windows Update.
What is the sxs folder for .NET 3.5?
The \sources\sxs folder on the Windows installation media contains the .NET Framework 3.5 source files. DISM uses this folder as the installation source when you specify it with the /Source parameter. The folder exists on the full Windows ISO and installation USB, but may be missing from stripped or modified ISOs.
Does .NET Framework 3.5 include .NET 2.0 and 3.0?
Yes. The .NET Framework 3.5 feature in Windows includes .NET 2.0 and 3.0. The Windows Features dialog names it explicitly: “.NET Framework 3.5 (includes .NET 2.0 and 3.0).” Enabling the feature enables all three.
How do I download .NET Framework 4.8 offline installer?
Go to Microsoft’s .NET Framework 4.8 download page and choose the offline installer (not the web installer). The offline package is approximately 100 MB and installs without internet. Windows 11 already includes .NET 4.8, so this is only needed for repair or specific app requirements.
How do I install .NET 3.5 using PowerShell?
Open PowerShell as Administrator and run: Enable-WindowsOptionalFeature -Online -FeatureName "NetFx3" -Source "E:\sources\sxs" -LimitAccess -All. This is the PowerShell equivalent of the DISM command.
How do I install .NET 3.5 without internet?
Use the DISM command with /LimitAccess and /Source parameters pointing at the Windows installation media. The /LimitAccess flag prevents DISM from contacting Windows Update, and /Source provides the local path to the .NET 3.5 files.
Why does .NET 3.5 installation fail on Windows 11?
The most common cause is error 0x800f081f: the source files can’t be found because the /Source path is wrong, the media version doesn’t match, or the sxs folder is missing. The second most common: Windows Update can’t provide the files (no internet, WSUS blocked, or policy restrictions). The DISM /Source method solves both.
How do I check if .NET Framework 3.5 is installed?
Open optionalfeatures.exe (Win+R) and look for “.NET Framework 3.5 (includes .NET 2.0 and 3.0)” — it should be checked. Or run: DISM /Online /Get-FeatureInfo /FeatureName:NetFx3 from an elevated Command Prompt and check for “State: Enabled.”
Can I install .NET 3.5 from a Windows 10 ISO on Windows 11?
It may work, but it is not the documented approach. The /Source files should match the running Windows version. If you get 0x800f081f with a Windows 10 ISO on Windows 11, try a Windows 11 ISO as the source. Always use the matching version’s installation media.
How do I install .NET 3.5 silently (for deployment)?
DISM is already silent — no interaction required. For .NET 4.x offline installers, add /q /norestart flags: NDP48-x86-x64-AllOS-ENU.exe /q /norestart. For PowerShell remote deployment, use Invoke-Command with Enable-WindowsOptionalFeature.
What does DISM /LimitAccess do?
It prevents DISM from contacting Windows Update or WSUS for the feature files. Combined with /Source, it forces DISM to use only the local path you specify. This is what makes the installation “offline” — without /LimitAccess, DISM may try Windows Update first and only fall back to /Source on failure.
How do I install .NET 3.5 on Windows Server 2022 or 2025?
Same DISM command, but use the Windows Server ISO’s \sources\sxs folder as the source. Alternatively, place the sxs contents on a network share and use the Group Policy “Specify settings for optional component installation and component repair” to configure the share as the feature source for all servers.
Is .NET Framework 3.5 already included in Windows 11?
The source files are on the installation media, but the feature is not enabled by default. After a clean Windows 11 install, .NET 3.5 is present as an optional feature that you must enable through the Windows Features dialog or DISM. .NET Framework 4.8, by contrast, is enabled and running out of the box.
Revision note. Updated September 2026, covering Windows 11 25H2 (build 26200.9445), Windows 10 22H2, and Windows Server 2016 through 2025. The .NET 3.5 feature name (NetFx3) and the DISM command syntax have been stable across all versions. The 0x800f081f error is a long-standing DISM behavior, not a version-specific bug. If you have been searching for a “.NET Framework offline installer download” and finding nothing from Microsoft, take heart: the file doesn’t exist because it doesn’t need to — the installer is the Windows media you already have, and the DISM command with /Source and /LimitAccess is the key you’ve been looking for.