Tech

Download .NET Framework: The Complete Guide

NET Framework

What .NET Framework Actually Is

.NET Framework is Microsoft’s original Windows-only software platform for building and running desktop apps, Windows services, and older web applications built with ASP.NET Web Forms. If you’ve ever gotten a popup saying an app “requires .NET Framework to run,” this is what it’s asking for.

It’s not the same thing as the modern, cross-platform “.NET” (sometimes called .NET Core) that Microsoft now recommends for new projects β€” more on that distinction below, because mixing the two up is where most people get stuck.

Do You Even Need to Download It? (Check First)

Before downloading anything, it’s worth checking whether you already have the version you need β€” a huge share of “install failed” reports online happen because someone tries to install a version that’s already present.

The fastest reliable check:

  1. Press Windows key + R, type regedit, and press Enter.
  2. Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full.
  3. Look at the Release value (a number like 528040 or 533320).
  4. Compare that number against Microsoft’s official release-key table to identify your exact version.

If you’d rather use PowerShell, this one-liner does the same lookup:

Get-ItemPropertyValue -LiteralPath ‘HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full’ -Name Release

A Release value of 528040, for example, indicates .NET Framework 4.8, the latest version supported on Windows 10 21H2. If the Full subkey isn’t there at all, you don’t have .NET Framework 4.5 or later installed, and you’ll need to grab it.

One important note: don’t confuse this with dotnet –version in a terminal β€” that command reports the modern .NET/.NET Core runtime version, not the classic .NET Framework version, so it will give you a misleading answer if you’re troubleshooting an old desktop app.

Which .NET Framework Version Should You Download?

This is the part most download pages skip. Here’s the short version:

Your situationWhat to get
An app told you it needs “.NET Framework” with no version numberGet .NET Framework 4.8.1 β€” it’s the current, in-place update that covers virtually all .NET Framework 4.x app requirements
An app specifically asks for .NET Framework 3.5Get the 3.5 standalone installer β€” it’s a separate branch, not covered by 4.8.1
You’re on Windows 10/11 (recent builds)You likely already have 4.8 or 4.8.1 built in β€” check first using the steps above
You’re a developer targeting an old 4.x version in Visual StudioGet the matching Developer Pack, not just the runtime
You just need apps to run, not buildGet the runtime, not the SDK/Developer Pack

The reason 4.8.1 covers “most” .NET Framework 4 requests is that each 4.x release from 4.0 through 4.8.1 is an in-place update β€” installing 4.8.1 satisfies anything that asks for 4.0–4.8 as well. 3.5 (and earlier) is architecturally separate and needs its own install.

Official Download Links by Version

Always download from Microsoft’s own domains (dotnet.microsoft.com, microsoft.com, or go.microsoft.com redirect links) rather than third-party mirror sites β€” installers from unofficial sites are a common malware vector, and there’s no upside since Microsoft’s downloads are free and unrestricted.

  • .NET Framework 4.8.1 (current version, includes Arm64 support): available as both offline and web installer.
  • .NET Framework 4.8: still offered directly for systems that specifically need this exact release rather than 4.8.1.
  • .NET Framework 3.5 (includes 2.0 and 3.0): on Windows 11 26H1 and later, this must be downloaded as a standalone installer rather than enabled as a built-in Windows feature.
  • Older versions (4.0–4.7.2): still archived on Microsoft’s support site for legacy compatibility testing, though Microsoft recommends moving off them where possible.
  • Language packs: separate downloads that add translated error messages and UI text for non-English languages β€” you need the matching English base version installed first.
  • Developer Packs: used by software developers to build applications that target a specific .NET Framework version, typically through Visual Studio, and distinct from the runtime-only installer.

If you’re setting up a web server rather than a desktop machine, don’t use the standalone .NET Framework installer alone β€” Microsoft recommends web developers and administrators use the Web Platform Installer, and IIS with current security updates should be installed before .NET Framework when you plan to run ASP.NET.

Official links:

Download .NET Framework (Microsoft)

.NET Framework 4.8.1

.NET Framework 4.8

How to Install It (Step-by-Step)

  1. Pick web installer vs. offline installer. The web installer is smaller and downloads components as needed (requires an active internet connection throughout setup); the offline/standalone installer is a larger single file that works without internet access mid-install.
  2. Run the installer as administrator. Right-click β†’ “Run as administrator” avoids most permission-related failures.
  3. Let it finish, then restart if prompted. Framework installs frequently require a reboot to finalize registry and file changes.
  4. Re-verify the version using the registry check above to confirm the install actually took.
  5. For server installs, confirm IIS and any required roles are installed before .NET Framework, not after.

.NET Framework vs. .NET (Core) β€” What’s the Real Difference?

This is the single biggest source of confusion in this space, so here’s the plain version:

  • .NET Framework is Windows-only, hasn’t received new feature versions since 4.8/4.8.1, and exists mainly to keep older apps running.
  • .NET (formerly .NET Core, now just “​.NET,” e.g. .NET 8, .NET 9) is Microsoft’s actively developed, cross-platform successor β€” it runs on Windows, macOS, and Linux, and is what Microsoft recommends for anything new.

Microsoft’s own guidance is explicit: new product development should target .NET 8 or later rather than .NET Framework, since the newer versions are cross-platform, support more application types, and deliver higher performance.

Practically speaking: if you’re just trying to get an existing app or game to run, you almost certainly want .NET Framework. If you’re a developer starting a new project, you almost certainly want .NET (the current numbered version).

They can be installed side by side without conflict β€” installing one doesn’t remove or replace the other.

Common Install Problems and How to Fix Them

β€œA certificate chain was processed, but terminated in a root certificate which is not trusted”

This is a Windows root-certificate/date issue, not a corrupt installer. It shows up most often on older Windows 7 systems whose certificate stores are out of date. Fully updating Windows before retrying the install usually resolves it.

Installer says a newer version is already present, but the app still won’t run

Check whether the app actually needs .NET Framework 3.5 specifically β€” a 4.x install won’t satisfy a 3.5 requirement, since they’re separate branches.

Install hangs or fails with no clear error

Try the offline/standalone installer instead of the web installer β€” flaky connections during a web install are a frequent cause of silent failures.

β€œThis feature has been removed” when trying to enable 3.5 via Windows Features (Windows 11 26H1+)

Starting with this build, .NET Framework 3.5 can no longer be added as a built-in Windows component and must be installed via the standalone installer instead β€” this isn’t a bug, it’s an intentional platform change.

32-bit app can’t find the Framework even though it’s installed

64-bit Windows keeps a separate registry path for 32-bit compatibility (HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\…). Check both locations before assuming it isn’t installed.

Is .NET Framework Still Supported?

Yes, but with an important nuance: .NET Framework is updated machine-wide automatically through Windows Update, and as long as it’s installed on a supported version of Windows, .NET Framework 4.8 (and by extension 4.8.1) will continue to be supported. In other words, its support lifecycle is tied to the Windows OS it’s running on rather than having its own independent expiration date.

That said, older individual versions have already been cut off: support for .NET Framework versions 4.5.2, 4.6, and 4.6.1 ended on April 26, 2022, meaning no further security fixes, updates, or technical support are provided for those versions. If you’re still running one of those, upgrading to 4.8.1 costs nothing and closes that gap.

FAQs

Is .NET Framework free?

Yes. All versions, including offline installers, developer packs, and language packs, are free downloads from Microsoft.

Does installing a newer .NET Framework version remove the old one?

For the 4.x line, no removal happens β€” each release is an in-place update, so 4.8.1 supersedes 4.0–4.8 automatically. 3.5 remains separate and isn’t touched by a 4.x install.

Can I have .NET Framework and modern .NET installed at the same time?

Yes, they run independently side by side with no conflicts.

Why does an old app still ask me to install .NET Framework if I have the “latest” .NET?

Because “the latest .NET” (like .NET 9) and “.NET Framework” are different platforms. The app was built against .NET Framework specifically and needs that runtime, regardless of what modern .NET version you have.

Do I need to reinstall .NET Framework after a Windows reinstall?

Usually yes for anything beyond what ships built into that Windows version β€” a clean Windows 10/11 install typically includes 4.8 or 4.8.1, but a clean Windows 7/8.1 install will need it added manually.

Final Recommendation

If you’re not sure what to do: check your installed version first using the registry method above, and only download something if you’re missing it. Most modern Windows 10/11 systems already carry 4.8 or 4.8.1. If an older app specifically demands .NET Framework 3.5, grab the standalone 3.5 installer separately β€” it won’t come from a 4.x download. And always pull installers from Microsoft’s own domains, never a third-party mirror.