What Is Microsoft .NET Desktop Runtime? How to Install, Check Version & Fix “Runtime Required” Errors
The Microsoft .NET Desktop Runtime is a Windows component required to run many desktop applications built with modern .NET technologies such as: Windows Form...
The Microsoft .NET Desktop Runtime is a Windows component required to run many desktop applications built with modern .NET technologies such as:
- Windows Forms;
- Windows Presentation Foundation (WPF);
- other Windows desktop applications targeting .NET.
If a program displays an error such as:
You must install or update .NET to run this application
or:
The framework 'Microsoft.WindowsDesktop.App' was not found
the application may require a specific version and architecture of the .NET Desktop Runtime.
The quick answer is:
If you only want to run a normal Windows desktop application built with .NET, install the .NET Desktop Runtime version requested by the application.
You normally do not need the full .NET SDK unless you are developing software.
Quick Answer: Which .NET Package Do I Need?
Microsoft provides several different .NET packages.
Microsoft currently documents that the .NET Desktop Runtime includes the .NET Runtime, so if your Windows desktop application requires the Desktop Runtime, you normally do not need to install the base Runtime separately.
What Is .NET?
.NET is Microsoft’s modern development platform for building applications.
Developers can use it to create:
- Windows desktop applications;
- web applications;
- cloud services;
- command-line tools;
- APIs;
- background services;
- mobile applications;
- cross-platform software.
Different application types require different runtime components.
For Windows desktop software built with WPF or Windows Forms, the relevant package is usually the:
.NET Desktop Runtime
What Is Microsoft .NET Desktop Runtime?
The .NET Desktop Runtime provides the libraries and runtime environment required to run Windows desktop applications built with supported modern .NET versions.
Microsoft specifically identifies the Desktop Runtime as the package used to run applications built with:
- Windows Presentation Foundation (WPF);
- Windows Forms.
A simple model is:
Windows Desktop Application
↓
.NET Desktop Runtime
↓
.NET Runtime
↓
Windows
The application uses the runtime rather than carrying every .NET component inside the program itself—unless it was published as a self-contained application.
What Does Microsoft.WindowsDesktop.App Mean?
When a modern .NET desktop application runs, it may depend on a shared framework named:
Microsoft.WindowsDesktop.App
This framework contains Windows desktop components required by WPF and Windows Forms applications.
If the required version is missing, you may see an error referring to:
Microsoft.WindowsDesktop.App
This is a strong indication that the application needs the .NET Desktop Runtime.
Is .NET Desktop Runtime the Same as .NET Runtime?
No.
They are related but not identical.
.NET Runtime
The base .NET Runtime provides the components required to run many standard .NET applications.
.NET Desktop Runtime
The Desktop Runtime includes the base .NET Runtime plus Windows desktop libraries, including support for WPF and Windows Forms. Microsoft documents this distinction explicitly.
Therefore:
If an application requires Microsoft.WindowsDesktop.App, install the Desktop Runtime—not only the basic .NET Runtime.
Is .NET Desktop Runtime the Same as .NET Framework?
No.
This is one of the most common points of confusion.
.NET Framework
Older Microsoft Windows applications may require versions such as:
.NET Framework 3.5
.NET Framework 4.8
Modern .NET
Modern .NET releases use version families such as:
.NET 6
.NET 7
.NET 8
.NET 9
.NET 10
and include separate packages such as:
.NET Runtime
.NET Desktop Runtime
ASP.NET Core Runtime
.NET SDK
Installing modern .NET Desktop Runtime does not automatically replace every .NET Framework requirement.
An older application that specifically requires .NET Framework 3.5 may still require that Windows feature.
Is .NET Desktop Runtime the Same as Windows App Runtime?
No.
These names are easy to confuse.
.NET Desktop Runtime is part of the Microsoft .NET platform.
Windows App Runtime / Windows App SDK Runtime belongs to Microsoft’s Windows App SDK ecosystem.
They serve different purposes.
A program asking for:
Microsoft.WindowsDesktop.App
normally needs .NET Desktop Runtime.
A program asking for Windows App Runtime or Windows App SDK components may require a different package.
Why Does an Application Need .NET Desktop Runtime?
Developers commonly publish .NET applications in one of two ways.
Framework-Dependent Application
The application expects the required .NET Runtime to already be installed on Windows.
Advantages may include:
- smaller application size;
- shared runtime;
- centralized runtime servicing.
If the required runtime is missing, the application may refuse to start.
Self-Contained Application
The application includes the required .NET runtime components with the software.
This often makes the application larger, but it may run without a separate system-wide runtime installation.
Therefore:
Not every .NET application requires the user to manually install .NET Desktop Runtime.
It depends on how the developer published the application.
Common Error: “You Must Install or Update .NET to Run This Application”
A typical error may say that .NET must be installed or updated.
It may show information such as:
Framework:
Microsoft.WindowsDesktop.App
Version:
8.0.0
Architecture:
x64
This information is important.
You need to match:
- runtime family;
- major version;
- architecture.
Do not simply install the newest random .NET package and assume the application will work.
How to Know Which .NET Desktop Runtime Version You Need
Read the application error carefully.
Look for a version such as:
6.0
8.0
9.0
10.0
and an architecture such as:
x64
x86
Arm64
For example:
Microsoft.WindowsDesktop.App 8.0.x
x64
normally indicates that you need an appropriate .NET 8 Desktop Runtime x64 installation.
Why the Correct Major Version Matters
Modern .NET applications generally target a specific runtime family.
An application compiled for .NET 8 may request:
Microsoft.WindowsDesktop.App 8.0
Installing only .NET 10 does not necessarily mean that the exact requested runtime family is available to that application.
Multiple .NET runtime versions can coexist on the same Windows computer.
For example:
.NET Desktop Runtime 6
.NET Desktop Runtime 8
.NET Desktop Runtime 9
.NET Desktop Runtime 10
may all exist side by side.
This is normal.
Why Architecture Matters: x64 vs x86 vs Arm64
The architecture of the runtime can also matter.
Microsoft currently publishes Desktop Runtime installers for architectures including:
- x64;
- x86;
- Arm64.
x64
Used by most modern 64-bit Windows PCs.
x86
Required by some 32-bit applications.
Arm64
Used by Windows on ARM devices.
An x64 computer may sometimes need both:
x64 Runtime
x86 Runtime
if it runs both 64-bit and 32-bit .NET applications.
How to Check Whether Windows Is x64, x86 or ARM64
Open:
Settings → System → About
Check:
System type
You may see something similar to:
64-bit operating system, x64-based processor
Most modern Intel and AMD PCs use x64.
How to Download .NET Desktop Runtime Safely
Use Microsoft’s official .NET website.
Do not download runtime installers from random software-download websites.
Choose:
- the required .NET version;
- Desktop Runtime;
- the correct architecture;
- the Windows installer.
Microsoft’s current download pages clearly separate:
- SDK;
- ASP.NET Core Runtime;
- Desktop Runtime;
- base .NET Runtime.
How to Install .NET Desktop Runtime
Step 1: Close the Affected Application
Close the application that displayed the .NET error.
Step 2: Download the Correct Runtime
Choose the version and architecture required.
Step 3: Run the Installer
Double-click the downloaded installer.
Step 4: Approve Administrator Permission
For system-wide installation, administrative privileges may be required. Microsoft’s Windows installation guidance notes that system-wide .NET installation should be performed with administrator privileges.
Step 5: Complete Installation
Follow the installer instructions.
Step 6: Reopen the Application
Try the application again.
A Windows restart is not always required, but restarting can be useful if the program still does not detect the newly installed runtime.
How to Check Installed .NET Runtimes Using Command Prompt
Open Command Prompt and run:
dotnet --list-runtimes
Microsoft documents this as the standard command to list installed .NET runtimes.
Example output:
Microsoft.AspNetCore.App 8.0.20
Microsoft.NETCore.App 8.0.20
Microsoft.WindowsDesktop.App 8.0.20
Microsoft.NETCore.App 9.0.9
Microsoft.WindowsDesktop.App 9.0.9
For desktop applications, look specifically for:
Microsoft.WindowsDesktop.App
How to Interpret dotnet --list-runtimes
Suppose the program needs:
Microsoft.WindowsDesktop.App 8.0
and the command shows:
Microsoft.WindowsDesktop.App 8.0.20
Then the .NET 8 Desktop Runtime is installed.
But if you only see:
Microsoft.NETCore.App 8.0.20
and no:
Microsoft.WindowsDesktop.App
then you may have only the base .NET Runtime installed.
Installing the Desktop Runtime may be required.
How to Check .NET Installation Details
Run:
dotnet --info
This displays more detailed .NET environment information.
Microsoft documents dotnet --info, dotnet --version and dotnet --list-runtimes as standard .NET CLI environment commands.
Why dotnet --version Can Be Misleading
Users sometimes run:
dotnet --version
and assume it shows the installed Desktop Runtime.
It does not.
Microsoft documents that:
dotnet --version
reports the .NET SDK version used by the CLI.
To check runtimes, use:
dotnet --list-runtimes
That is the more useful command for this troubleshooting task.
How to Check Installed Runtime From Windows Apps
You can also inspect:
Settings → Apps → Installed apps
or:
Control Panel → Programs and Features
Depending on the installed version, entries may appear similar to:
Microsoft .NET Runtime
Microsoft Windows Desktop Runtime
Microsoft ASP.NET Core
Microsoft .NET SDK
However, the CLI method is usually clearer when multiple versions are installed.
Where Is .NET Installed?
Microsoft states that .NET is normally installed system-wide under:
C:\Program Files\dotnet
unless another installation method uses a different location.
On 64-bit Windows, 32-bit components may also involve:
C:\Program Files (x86)\dotnet
depending on architecture and installation.
Why Does My Program Still Say .NET Is Missing After Installation?
Common causes include:
- wrong major runtime version;
- wrong architecture;
- base Runtime installed instead of Desktop Runtime;
- application is 32-bit but only x64 runtime exists;
- application requires an older runtime family;
- corrupted installation;
- application was not restarted;
- PATH or installation-detection issue;
- application is using a private/runtime-specific configuration.
Check:
dotnet --list-runtimes
before installing multiple random runtime packages.
Example: Application Requires .NET 8 Desktop Runtime
Suppose an application error says:
Framework:
Microsoft.WindowsDesktop.App
Version:
8.0.0
Architecture:
x64
First run:
dotnet --list-runtimes
If no entry beginning with:
Microsoft.WindowsDesktop.App 8.
appears for the correct architecture, install the .NET 8 Desktop Runtime x64 from Microsoft.
Example: 32-Bit App Fails on 64-Bit Windows
A 64-bit Windows computer can still run 32-bit applications.
Suppose:
Windows: x64
Application: x86
Required Runtime: .NET Desktop Runtime 8
The application may require the x86 Desktop Runtime even though Windows itself is 64-bit.
This is why architecture should be checked carefully.
Do I Need to Install Every .NET Desktop Runtime Version?
No.
Install only the versions required by the software you use.
However, multiple major runtime versions can legitimately coexist because different applications may target different .NET generations.
Do not uninstall an older runtime simply because a newer one exists unless you know no application depends on it and the version is no longer required or supported.
Can .NET 10 Replace .NET 8?
Not necessarily.
A newer major version does not automatically serve as a universal replacement for every older runtime requirement.
Applications can target specific .NET runtime families.
Therefore a system may legitimately need:
.NET 8 Desktop Runtime
.NET 9 Desktop Runtime
.NET 10 Desktop Runtime
simultaneously.
Do Patch Versions Matter?
Modern .NET servicing normally updates within a major/minor runtime family.
For example, an installed supported patch within .NET 8 may satisfy an application targeting the compatible .NET 8 runtime family.
However, exact roll-forward behaviour depends on application configuration and .NET runtime policy.
For ordinary users:
Install the current supported patch release for the required major runtime family unless the application vendor specifies otherwise.
Should I Install Preview Versions?
Usually no.
Microsoft labels preview releases as early-access builds and states that preview releases are generally not intended as normal production-supported releases.
For business computers, production servers and normal end users, prefer stable supported releases unless a developer specifically requires a preview.
What Is .NET SDK?
The .NET SDK is primarily for software development.
It contains tools used to:
- compile applications;
- create projects;
- restore packages;
- build software;
- publish software;
- run development commands.
Microsoft notes that the SDK includes the runtimes as well.
Therefore a developer workstation with the SDK installed may already have the corresponding Desktop Runtime.
Do Normal Users Need the .NET SDK?
Usually no.
If your only requirement is:
“I need to run this Windows application.”
install the required Runtime instead of the SDK.
The SDK is larger and includes development tools that normal application users generally do not need.
What Is ASP.NET Core Runtime?
The ASP.NET Core Runtime is used for running web/server applications built with ASP.NET Core.
It is different from the Desktop Runtime.
Microsoft’s installation guidance distinguishes them:
- Desktop Runtime → Windows desktop applications;
- ASP.NET Core Runtime → ASP.NET Core web/server applications.
Do not install ASP.NET Core Runtime just because a Windows desktop application says it needs Microsoft.WindowsDesktop.App.
What Is the Hosting Bundle?
The ASP.NET Core Hosting Bundle is mainly relevant to Windows servers running ASP.NET Core applications behind IIS.
It is not the normal package for a WPF or WinForms desktop application.
Can .NET Desktop Runtime Be Installed With Winget?
Yes.
Microsoft supports installing .NET through Windows Package Manager (WinGet).
For example, administrators can search available packages with:
winget search Microsoft.DotNet
Then install the correct Microsoft package for the required runtime family.
Because package identifiers can change between releases, verify the current package name before automating deployment.
Can .NET Desktop Runtime Be Installed With PowerShell?
Yes.
Microsoft supports automated .NET installation methods, including PowerShell-based installation options.
This can be useful for:
- technicians;
- administrators;
- lab systems;
- automated deployment;
- RDS servers;
- software prerequisites.
For large environments, prefer managed deployment rather than manually installing runtimes one PC at a time.
.NET Desktop Runtime on RDS and Windows Server
The Desktop Runtime can also be required on:
- Windows Server;
- Remote Desktop Session Hosts;
- Terminal Servers;
- multi-user business systems.
If a line-of-business application requires .NET Desktop Runtime, install the required runtime system-wide using administrative privileges.
Then test the application using a normal non-admin user session.
Important RDS Consideration
On an RDS server, determine:
- whether the application is x86 or x64;
- which .NET major version it requires;
- whether all users use the same application version;
- whether vendor upgrades change the prerequisite;
- whether the application ships a self-contained runtime.
A single missing runtime can affect many users simultaneously.
Should I Install Both x86 and x64 on an RDS Server?
Sometimes yes.
If the server hosts both:
- 64-bit .NET desktop applications;
- 32-bit .NET desktop applications;
both x64 and x86 runtimes may be required.
Do not install extra architectures purely by habit; check the software requirements.
Can I Uninstall Old .NET Desktop Runtime Versions?
Possibly, but be careful.
Older applications may still depend on them.
Before uninstalling:
- check installed applications;
- check vendor requirements;
- run:
dotnet --list-runtimes
- identify which runtime families are installed;
- verify whether any software requires the older version.
Uninstalling the wrong runtime can cause applications to stop launching.
Why Are There So Many Microsoft .NET Entries in Installed Apps?
This is often normal.
You may have:
- multiple .NET major versions;
- x64 runtimes;
- x86 runtimes;
- Desktop Runtime;
- ASP.NET Core Runtime;
- SDK versions;
- servicing updates.
For example:
Microsoft .NET Runtime 8
Microsoft Windows Desktop Runtime 8
Microsoft ASP.NET Core 8
Microsoft Windows Desktop Runtime 9
Microsoft .NET SDK 10
These are different components.
Do not delete them simply because they appear redundant.
Is .NET Desktop Runtime Safe?
Yes, when installed from Microsoft.
It is a legitimate Microsoft software component used by many Windows applications.
Download it from:
- Microsoft’s official .NET website;
- Microsoft-supported package channels;
- trusted enterprise deployment sources.
Avoid unknown third-party “runtime download” sites.
Does Windows 11 Already Include .NET Desktop Runtime?
Do not assume that every modern .NET Desktop Runtime version required by every application is already present.
Windows includes various Microsoft frameworks and components, but applications targeting modern .NET may still require installation of a specific supported Desktop Runtime version.
If the application says a runtime is missing, check:
dotnet --list-runtimes
rather than assuming Windows already includes it.
Does Windows Update Install .NET Desktop Runtime Automatically?
Not in every deployment scenario.
How .NET is installed and serviced can depend on:
- installer method;
- Windows servicing;
- Microsoft Update configuration;
- enterprise management;
- Visual Studio;
- application-bundled runtime;
- package manager deployment.
Therefore it is better not to make the blanket claim that every .NET Desktop Runtime is automatically installed or updated through Windows Update.
Can Installing .NET Desktop Runtime Damage Windows?
Normally no.
It is designed to install side by side with supported .NET runtime versions.
The bigger risk is uninstalling or modifying required runtime components without understanding application dependencies.
Does .NET Desktop Runtime Slow Down Windows?
Simply having the runtime installed generally does not mean it continuously consumes significant CPU or RAM.
The runtime is used when a .NET application runs.
If a specific .NET application is consuming excessive resources, troubleshoot the application and its workload rather than assuming the installed runtime itself is permanently using those resources.
How to Repair a Broken .NET Desktop Runtime Installation
If the required runtime is installed but an application still fails:
1. Check installed runtimes
dotnet --list-runtimes
2. Confirm version
Make sure the required:
Microsoft.WindowsDesktop.App
major version exists.
3. Confirm architecture
Check whether the application is x64 or x86.
4. Reinstall the matching Desktop Runtime
Download the current supported installer for that runtime family from Microsoft.
5. Restart Windows if necessary
6. Test the application again
If only one particular application fails, investigate that application before repeatedly reinstalling .NET.
What If the dotnet Command Is Not Recognized?
If:
dotnet --list-runtimes
returns:
'dotnet' is not recognized...
possible explanations include:
- .NET is not installed system-wide;
- PATH is incorrect;
- only an application-private runtime exists;
- installation is damaged;
- wrong shell/environment.
Check whether:
C:\Program Files\dotnet
exists.
Then verify your application’s exact runtime requirement.
What If Only One Application Has the Error?
If every other .NET application works but one application fails, possible causes include:
- application-specific runtime version requirement;
- application architecture mismatch;
- damaged application files;
- incorrect runtimeconfig file;
- vendor packaging issue;
- incomplete update;
- plugin/add-on issue.
Check the error text and application vendor documentation.
What Is runtimeconfig.json?
Framework-dependent .NET applications commonly use configuration information that tells .NET which runtime/framework the application expects.
You may see a file similar to:
MyApplication.runtimeconfig.json
near the application executable.
Advanced technicians can inspect it to identify runtime requirements.
Do not edit it casually.
Example runtimeconfig.json
A simplified example might resemble:
{
"runtimeOptions": {
"tfm": "net8.0-windows",
"framework": {
"name": "Microsoft.WindowsDesktop.App",
"version": "8.0.0"
}
}
}
This would indicate that the application expects a Windows Desktop framework based on .NET 8.
Common .NET Desktop Runtime Errors
Common symptoms include:
“You must install or update .NET”
Usually indicates that the required runtime family is missing.
“Microsoft.WindowsDesktop.App was not found”
Usually indicates the Desktop Runtime is missing or incompatible.
Application Opens and Immediately Closes
Could be runtime-related, but may also be an application error.
Error After Software Update
The vendor may have changed the application's target from one .NET version to another.
Works on One PC but Not Another
Compare installed runtimes using:
dotnet --list-runtimes
on both computers.
Recommended Technician Workflow
When a program reports a .NET runtime error:
- Read the exact error.
- Identify the framework name.
- Identify the requested version.
- Identify the architecture.
- Run:
dotnet --list-runtimes
- Check for:
Microsoft.WindowsDesktop.App
- Install the matching stable Desktop Runtime from Microsoft.
- Restart the application.
- If still failing, investigate application-specific issues.
This is much safer than installing every .NET package you can find.
.NET Runtime Troubleshooting Example
Suppose:
Application: AccountingTool.exe
Error: Microsoft.WindowsDesktop.App 8.0.0 x86 not found
Windows: 64-bit
You run:
dotnet --list-runtimes
and find:
Microsoft.WindowsDesktop.App 8.0.20 [x64]
but the application is 32-bit.
Installing the correct x86 Desktop Runtime may resolve the problem.
The key lesson is:
Same version number does not always mean correct architecture.
Can Developers Just Install the SDK?
Yes, developers often use the SDK because it includes the required runtime components. Microsoft states that the SDK includes the .NET Runtime, Desktop Runtime and ASP.NET Core Runtime.
But for customer computers:
Install only the runtime required to run the software unless development tools are actually needed.
Should Software Vendors Bundle the Runtime?
Developers have several deployment choices.
They can publish applications as:
- framework-dependent;
- self-contained.
A self-contained build can reduce end-user runtime prerequisites but increases application size and changes servicing/deployment considerations.
A framework-dependent build is smaller but relies on an appropriate installed runtime.
Both are valid approaches.
.NET Desktop Runtime vs SDK vs ASP.NET Core Runtime
| Feature | Desktop Runtime | Base Runtime | ASP.NET Core Runtime | SDK |
|---|---|---|---|---|
| Run WPF apps | Yes | No | No | Yes |
| Run Windows Forms apps | Yes | No | No | Yes |
| Run console apps | Yes | Yes | Not its main role | Yes |
| Run ASP.NET Core apps | No by itself | No | Yes | Yes |
| Build .NET apps | No | No | No | Yes |
| Typical end-user install | Windows desktop apps | Console/service apps | Web/server apps | Developers |
Frequently Asked Questions
1. What is Microsoft .NET Desktop Runtime?
It is the Microsoft .NET runtime package used to run Windows desktop applications built with technologies such as WPF and Windows Forms.
2. Do I need .NET Desktop Runtime?
You need it if a framework-dependent Windows desktop application requires it.
3. Is .NET Desktop Runtime safe?
Yes, when obtained from Microsoft.
4. Is it already included in Windows?
Do not assume the exact modern .NET version required by an application is preinstalled. Check your installed runtimes.
5. How do I check installed .NET Desktop Runtime versions?
Run:
dotnet --list-runtimes
and look for:
Microsoft.WindowsDesktop.App
Microsoft documents this command for detecting installed runtimes.
6. What is Microsoft.WindowsDesktop.App?
It is the shared .NET desktop framework used by Windows Forms and WPF applications.
7. What is the difference between .NET Runtime and Desktop Runtime?
Desktop Runtime includes the base .NET Runtime plus Windows desktop libraries such as WPF and Windows Forms support.
8. Do I need both .NET Runtime and Desktop Runtime?
Usually not for a Windows desktop application, because Microsoft states that Desktop Runtime includes the base .NET Runtime.
9. What is the .NET SDK?
It is the development toolkit used to build .NET applications.
10. Do normal users need the SDK?
Usually no.
11. Why are multiple .NET versions installed?
Different applications may target different runtime families, and .NET supports side-by-side installations.
12. Can .NET 10 replace .NET 8?
Not universally. An application may specifically target the .NET 8 runtime family.
13. Do I need x64 or x86?
Install the architecture required by the application.
14. Can I install x86 Runtime on 64-bit Windows?
Yes, when a 32-bit application requires it.
15. What is Arm64 Desktop Runtime?
It is the runtime build for Windows computers using ARM64 processors.
16. Why does the application still say .NET is missing?
You may have installed the wrong version, wrong architecture or wrong runtime type.
17. Is Desktop Runtime the same as .NET Framework?
No.
18. Is Desktop Runtime the same as Windows App Runtime?
No.
19. Does Desktop Runtime include WPF?
Yes.
20. Does Desktop Runtime include Windows Forms?
Yes.
21. Should I uninstall old .NET versions?
Only after confirming no software still depends on them.
22. Does .NET Desktop Runtime use lots of RAM?
The installed runtime does not simply consume large resources continuously. Resource use mainly occurs when applications using it are running.
23. Can .NET Desktop Runtime be installed on Windows Server?
Yes, when supported applications require it.
24. Can RDS servers use .NET Desktop Runtime?
Yes. Install the required system-wide runtime and test with standard user sessions.
25. What is the safest solution when an application asks for .NET?
Install the exact supported .NET Desktop Runtime major version and architecture requested by the application from Microsoft.
Quick Command Reference
List installed runtimes
dotnet --list-runtimes
Show .NET environment details
dotnet --info
List installed SDKs
dotnet --list-sdks
Show the selected SDK version
dotnet --version
Remember:
dotnet --versionis mainly about the SDK.
dotnet --list-runtimesis the command you want when troubleshooting missing runtime errors.
Final Recommendation
When a Windows application reports a missing .NET runtime, do not blindly install every available Microsoft .NET package.
Use this process:
Read the application error
↓
Identify Microsoft.WindowsDesktop.App
↓
Check required major version
↓
Check x64 / x86 / ARM64
↓
Run dotnet --list-runtimes
↓
Install matching .NET Desktop Runtime
↓
Restart application
The most important distinction is:
.NET Desktop Runtime = run WPF/Windows Forms desktop applications
.NET Runtime = run other .NET applications
ASP.NET Core Runtime = run ASP.NET Core web/server applications
.NET SDK = develop and build applications
For most ordinary Windows users who receive a missing Microsoft.WindowsDesktop.App error, the correct solution is the .NET Desktop Runtime, not the SDK.
Technical Disclaimer
.NET releases, supported versions, patch levels and installation methods change over time.
Always verify:
- the application vendor’s requirements;
- supported .NET version;
- required architecture;
- current Microsoft support status;
- the current stable Microsoft installer.
For production servers and business-critical systems, test application compatibility before removing existing .NET runtimes.
What Is .NET Desktop Runtime? Install, Check Version & Fix Errors
Learn what Microsoft .NET Desktop Runtime is, which version you need, x64 vs x86, how to check installed runtimes and fix Microsoft.WindowsDesktop.App or “install .NET” errors.
Was this guide useful?
Your answer helps us keep BISONKB accurate and practical.