.NET Desktop Runtime

The .NET Desktop Runtime is Microsoft’s official package for running Windows desktop apps built with WPF or Windows Forms. It includes the base .NET Runtime plus the desktop UI libraries, but not the developer tools — install it whenever an app tells you .NET Desktop Runtime is missing.

Always download the .NET Desktop Runtime only from the official Microsoft site (dotnet.microsoft.com) — verified as of 2026.

What is the .NET Desktop Runtime?

The .NET Desktop Runtime is a free, Microsoft-published component that lets Windows run applications built on modern .NET (formerly “.NET Core”) using Windows Presentation Foundation (WPF) or Windows Forms. It is not an app itself and has no interface of its own — it is a background dependency that other programs call on to execute. Many line-of-business tools, accounting software, internal utilities, and open-source Windows apps are compiled against it instead of bundling their own copy of .NET, which keeps the app’s installer smaller.

Per Microsoft’s own documentation, the .NET platform is made up of a runtime (which runs apps) and an SDK (which builds apps), and on Windows there are three separate runtime installers — the .NET Runtime, the .NET Desktop Runtime, and the ASP.NET Core Runtime — each unlocking a different category of app.

How is it different from the .NET Runtime and the SDK?

This is where most confusion happens, because the names look almost identical. Microsoft’s install documentation lays out exactly what each installer contains:

Installer Includes .NET Runtime Includes .NET Desktop Runtime Includes ASP.NET Core Runtime Typical use
.NET Runtime Yes No No Console apps, background services
.NET Desktop Runtime Yes Yes No WPF and Windows Forms desktop apps
ASP.NET Core Runtime No No Yes Web apps, APIs, IIS-hosted sites
.NET SDK Yes Yes Yes Developers building and compiling .NET apps

In short: if you only need to run a desktop program someone else built, the .NET Desktop Runtime is enough — you do not need the full SDK, which is a much larger download aimed at developers. If you plan to write or compile .NET code yourself, install the SDK instead; it already includes all three runtimes.

Why does an app ask me to install it?

If you double-click a Windows desktop app and see a dialog saying something like “To run this application, you must install .NET Desktop Runtime,” it means the app was built with modern .NET and expects the runtime to already be present on your PC — but a matching version isn’t installed. Unlike old-style .NET Framework, modern .NET is not bundled with Windows by default, so any machine that hasn’t previously installed a .NET app of this kind will hit this prompt the first time.

This is normal and expected behavior, not a sign that the app or your PC is broken. The fix is simply to install the requested runtime version once; after that, every other app that needs the same major version will launch without asking again.

Which versions are currently supported?

Microsoft ships a new major .NET version every November, alternating between Long-Term Support (LTS) releases, supported for three years, and Standard-Term Support (STS) releases, supported for 18 months. As of this writing, the officially supported versions are:

Version Support type Status Support ends
.NET 10.0 LTS Active / current recommended release November 14, 2028
.NET 9.0 STS Maintenance November 10, 2026
.NET 8.0 LTS Maintenance November 10, 2026
.NET 7.0 / 6.0 / 5.0 and earlier Out of support Already ended

A .NET 11.0 release was in preview as this page was last checked. Unless an app’s documentation specifies an exact major version, install .NET 10.0 (the current LTS) for the longest support window. If an app explicitly asks for .NET 8 or .NET 9, install that exact major version — .NET Desktop Runtime versions are not automatically backward- or forward-compatible across major numbers, and you can safely have more than one installed side by side (see below).

How do I download and install it?

Always install from Microsoft’s own download page, never a third-party “download manager” or mirror site. Here is the official, current process:

  1. Go to the official download page: dotnet.microsoft.com/download/dotnet.
  2. Choose the major version the app requires (for example .NET 10.0), or use the version-specific page such as dotnet.microsoft.com/download/dotnet/10.0.
  3. On that page, find the box labeled .NET Desktop Runtime (do not pick the plain “.NET Runtime” or “ASP.NET Core Runtime” boxes — they run different app types).
  4. Under the Windows row, pick the installer that matches your processor: x64 for almost all modern 64-bit PCs, x86 only for older 32-bit systems or apps that specifically require 32-bit, and Arm64 for Arm-based Windows devices (e.g. Surface Pro X-class and newer Copilot+ PCs).
  5. Run the downloaded .exe installer and select Install. Installing system-wide requires administrator rights; Windows will show a User Account Control prompt.
  6. Restart the app that originally asked for the runtime. No PC restart is normally required unless the installer explicitly asks for one.

If you are not sure which architecture you need, choose x64 — it covers the large majority of Windows 10/11 PCs sold since 2010. You can also install via WinGet from an elevated terminal, for example winget install Microsoft.DotNet.DesktopRuntime.10, which is convenient if you manage several machines.

After downloading, it’s good practice to confirm the file wasn’t corrupted or tampered with by matching its checksum against the value Microsoft publishes on the same download page, using Get-FileHash in PowerShell or certutil -hashfile in Command Prompt.

How do I check which versions are already installed?

Before downloading anything, it’s worth checking whether the runtime is already on your machine — many PCs already have one or more versions from previously installed apps.

  • Open Command Prompt or PowerShell and run dotnet --list-runtimes. Any line starting with Microsoft.WindowsDesktop.App is a .NET Desktop Runtime version already installed.
  • Alternatively, open Settings > Apps > Installed apps (or “Apps & features” on older Windows builds) and search for “Microsoft .NET Desktop Runtime” — every installed major/minor version is listed as a separate entry.
  • If the dotnet command isn’t recognized at all, no .NET runtime or SDK is currently on your PATH, and you’ll need to install one.

Common install errors and fixes

Symptom Likely cause Fix
“You must install .NET Desktop Runtime to run this application” The exact major version (or architecture) the app needs isn’t installed Install the version and architecture named in the dialog from the official download page
App still won’t launch after installing Wrong architecture installed (e.g. x86 runtime but app is x64, or vice versa) Check the app’s requirements and install the matching x64/x86/Arm64 build; both can coexist
Missing hostfxr.dll, api-ms-win-crt-runtime-l1-1-0.dll, or api-ms-win-cor-timezone-l1-1-0.dll Underlying Visual C++ runtime files are missing, common on older Windows builds Install the Microsoft Visual C++ 2015-2019 Redistributable, then reinstall the .NET Desktop Runtime
Installer reports exit code 3010 Installation succeeded but a restart is required Restart the PC; this is not an error
“No .NET SDK was found” when running dotnet commands Both x86 and x64 versions installed and PATH resolves the wrong one first Edit the system PATH so C:Program Filesdotnet is listed before C:Program Files (x86)dotnet

Honest limitations / what we don’t know

Microsoft revises supported versions, end-of-support dates, and exact patch numbers on a regular Patch Tuesday cadence, and a new major version ships every November. The version numbers and support-end dates on this page were verified against Microsoft’s own download and documentation pages at the time of writing, but they will drift over time — always cross-check the live figures on dotnet.microsoft.com/download/dotnet before you install, especially the exact patch build number, since Microsoft ships monthly security and reliability updates within each supported major version.

Frequently asked questions

What is the .NET Desktop Runtime?

It is Microsoft’s free runtime package for running Windows desktop apps built with WPF or Windows Forms. It contains the base .NET Runtime plus the desktop UI libraries, but no developer tools — it lets you run apps, not build them.

Is the .NET Desktop Runtime safe to install?

Yes, as long as you download it from the official Microsoft domain, dotnet.microsoft.com. It is a legitimate, digitally signed Microsoft product used by thousands of mainstream Windows applications. Avoid third-party “driver updater” or “DLL fixer” sites that repackage it — always use the official link.

Do I need administrator rights to install it?

For a normal system-wide install, yes — Windows will show a User Account Control prompt and you need an administrator account to approve it. Non-admin users can still install a private copy using the manual binary/zip download or the PowerShell install script, without needing elevated rights.

Can I have multiple .NET Desktop Runtime versions installed at once?

Yes. .NET Desktop Runtime versions install side by side, so you can have .NET 8, 9, and 10 Desktop Runtimes on the same PC at the same time without conflicts. Different apps simply load whichever major version they were built against.

.NET Desktop Runtime vs .NET SDK — which one do I need?

If you only want to run an existing desktop app, install the .NET Desktop Runtime. If you are a developer who wants to write, build, or compile .NET applications, install the full .NET SDK instead — it already bundles the Desktop Runtime, the ASP.NET Core Runtime, and the plain .NET Runtime.

Why does an app tell me to install the .NET Desktop Runtime?

Because the app was built with modern .NET and it checks for a matching runtime on launch. If none is found, Windows shows a prompt with a direct link to Microsoft’s download page. Installing the requested version once resolves the prompt permanently for that and any other app needing the same major version.

Which .NET Desktop Runtime version should I download — 8, 9, or 10?

If an app’s documentation names a specific major version, install that exact one. If you’re installing ahead of time with no specific requirement, choose .NET 10.0, the current LTS release, since it has the longest support window through November 2028.

How do I uninstall the .NET Desktop Runtime?

Open Settings > Apps > Installed apps, find the entry named “Microsoft .NET Desktop Runtime” with the version you want to remove, and uninstall it like any other program. Only remove a version if you’re sure no other installed app still depends on it, since removing an in-use version will bring back the “must install” prompt for that app.

You May Also Like