The Windows Software Development Kit is the toolkit Microsoft publishes so that developers can build applications that call Windows APIs directly. It contains the C and C++ header files, import libraries (files that tell the linker where Windows functions live), Windows Runtime metadata (machine-readable descriptions of modern Windows APIs) and command-line tools that a compiler needs to produce a native Windows program, plus utilities for signing, packaging and debugging that program.
Most people meet the Windows SDK in one of two ways: a developer sees a build error saying a specific SDK version is missing, or a regular user spots several “Windows Software Development Kit” entries in the installed apps list and wonders whether they are safe to remove. Teams that hire us for custom .NET and Windows app development usually hit a third problem: nobody on the project is sure which SDK version the code should target, so builds behave differently on different machines.
This guide answers all three questions with the version data Microsoft publishes for 2026. If you are new to the general concept, our explainer on what a software development kit is covers SDKs across platforms.
What is the Windows Software Development Kit?
The Windows Software Development Kit is a free Microsoft package that gives developers compile-time access to the Windows platform: Win32, COM and Windows Runtime (WinRT) APIs. It does not run your app and is not shipped to end users. It sits on the developer’s machine or build server and tells the compiler which Windows functions exist and how to call them.
Microsoft describes the current release as containing “the latest platform headers, libraries, WinRT metadata, and build tools required to develop Windows applications” for both UWP and Win32 development. Each SDK release maps to a Windows version, so an SDK built for Windows 11 version 24H2 exposes every API introduced up to that release.
The kit changed its name several times, which is why older forum answers still mention the “Platform SDK” or “Win32 SDK”. The key milestones:
- 1999: Microsoft ships the Platform SDK with compilers, headers, libraries and samples.
- Windows Vista era: separate kits for .NET Framework, Tablet PC and Windows Media merge into one Windows SDK.
- 2012, Windows 8: the DirectX SDK is folded into the Windows SDK.
- 2013: the .NET Framework SDK splits back out, and the name settles on “Windows SDK”.
On disk, the Windows SDK installs to C:\Program Files (x86)\Windows Kits\10, even on Windows 11. Each version gets its own subfolder under Include, Lib and bin, which is why several versions can sit side by side without conflict.
What does the Windows SDK include?
The Windows SDK includes four groups of components: headers and libraries for the compiler, Windows Runtime metadata for modern APIs, build and packaging tools, and diagnostic tools. Visual Studio and MSBuild pick the right pieces automatically once a project names an SDK version.
| Component | What it is for | Examples |
|---|---|---|
| Headers and import libraries | Declare Win32 and COM functions so C and C++ code can compile and link against them | windows.h, kernel32.lib, user32.lib |
| WinRT metadata | Describe Windows Runtime APIs for C++/WinRT, C# and other projections | .winmd files, API contracts |
| Build tools | Compile resources and interfaces, embed manifests | rc.exe, midl.exe, mt.exe |
| Packaging and signing tools | Create MSIX packages (Microsoft’s modern app installer format) and sign binaries so Windows and SmartScreen trust them | makeappx.exe, makepri.exe, signtool.exe |
| Debugging and performance tools | Inspect crashes and profile CPU, memory and disk use | Debugging Tools for Windows (WinDbg), Windows Performance Toolkit |
| Certification tools | Check an app against Microsoft Store and platform requirements | Windows App Certification Kit |
The installer lets you pick features individually. A build server that only compiles and signs a WPF app does not need the debuggers or the certification kit, so trimming the selection keeps images smaller and installs faster.
Do I need the Windows Software Development Kit?
You need the Windows Software Development Kit only if you compile, package or sign Windows software. If you just use Windows, play games or run business apps, you do not need it, even if some program installed it alongside other tools.
| Your situation | Do you need the Windows SDK? |
|---|---|
| Building native C or C++ desktop apps (Win32, MFC, DirectX) | Yes, it is mandatory |
| Building WinUI 3 or UWP apps | Yes, for WinRT metadata and packaging |
| Building WPF or Windows Forms apps on modern .NET | Usually yes, when you target a Windows TFM or sign and package with MSIX |
Signing installers or executables with signtool | Yes, signtool ships in the SDK |
| Web, mobile or cloud backend development only | No |
| Using Windows for office work or gaming | No; removing it will not affect normal apps |
Why is the Windows SDK on my PC if I never installed it?
The Windows SDK usually arrives as a dependency of Visual Studio, Visual Studio Build Tools, game engines, driver kits or developer utilities. Visual Studio workloads such as “Desktop development with C++” and “WinUI application development” select a Windows SDK version by default, and upgrading Visual Studio can add a newer one without removing the old version. That is why many machines show two or three SDK entries.
Which Windows SDK version should you use in 2026?
Use the latest stable Windows SDK for new projects: in November 2026 that means the 10.0.26100 family for broad compatibility or the 10.0.28000 family if you need APIs from Windows 11 version 26H1. A newer SDK only widens what your code can see at compile time; the minimum Windows version your app supports is set separately.
Windows SDK version numbers follow the pattern 10.0.BBBBB.x. The middle number matches the Windows build the SDK was made for, and the last number marks a monthly servicing update with fixes but no new APIs. Support status as published by Microsoft:
| SDK family | Matches Windows version | Latest build listed (2026) | Status |
|---|---|---|---|
| 10.0.28000 | Windows 11, version 26H1 | 10.0.28000.2957 (September 2026) | Supported |
| 10.0.26100 | Windows 11, version 24H2 (and 25H2, delivered as an enablement package) | 10.0.26100.9457 (September 2026) | Supported |
| 10.0.22621 | Windows 11, versions 22H2 and 23H2 | 10.0.22621.5040 | Out of support since 12 November 2025 |
| 10.0.22000 | Windows 11, version 21H2 | – | Out of support |
| 10.0.19041 | Windows 10, version 2004 | 10.0.19041.5609 | Out of support since 14 October 2025 |
The SDK ships in two channels. The stable channel is meant for production and includes a limited set of experimental APIs. The preview channel follows Windows Insider builds and exposes upcoming APIs earlier. Microsoft’s own guidance is to never ship production apps built against preview SDKs.
What are the Windows SDK system requirements?
The Windows SDK runs on modest hardware: a 1.6 GHz processor, 1 GB of RAM and 4 GB of free disk space. Supported hosts include Windows 11 version 21H2 or later, Windows 10 version 1507 or later and, for command-line builds only, Windows Server 2012 R2 through 2022. LTSC editions and S mode are not supported for UWP development.
What is the difference between the Windows SDK, Windows App SDK, .NET SDK and WDK?
The Windows SDK is the low-level platform kit; the Windows App SDK is a separate app framework that builds on top of it; the .NET SDK compiles C# and F#; and the Windows Driver Kit (WDK) is for drivers. Most modern desktop projects use the first three together, and confusing them is the most common source of version questions.
| Windows SDK | Windows App SDK | .NET SDK | Windows Driver Kit | |
|---|---|---|---|---|
| Purpose | Platform headers, libraries, WinRT metadata, tools | WinUI 3, windowing, app lifecycle, notifications | C#/F# compilers, runtime, dotnet CLI | Kernel and user-mode driver development |
| Version format | 10.0.26100.x | 2.6.5 (SemVer since 2.0) | 10.0.x | Matches SDK build |
| How you get it | Visual Studio Installer, standalone installer, ISO or NuGet | NuGet package Microsoft.WindowsAppSDK | Installer or Visual Studio | Separate download, needs matching SDK |
| Ships with your app? | No, build-time only | Yes, runtime is framework-dependent or self-contained | Runtime yes, SDK no | No |
| Minimum Windows for apps | Set by your project | Windows 10 version 1809 | Depends on .NET version | Depends on driver model |
The Windows App SDK moves fastest. Version 2.0 shipped on 29 April 2026 as the first major release since 1.0 and switched to semantic versioning, and the latest stable release listed by Microsoft is 2.6.5 from 2 November 2026. Microsoft states plainly that the Windows App SDK does not replace the Windows SDK: you need both, and you can update the Windows App SDK without changing your Windows SDK version.
How do you install the Windows SDK?
The easiest way to install the Windows SDK is through the Visual Studio Installer, which adds the right version for each workload. Standalone installers, ISO images and NuGet packages cover build servers and machines without Visual Studio.
- Visual Studio Installer. Open the installer, choose Modify, select a workload such as “Desktop development with C++” or “WinUI application development”, then confirm the Windows SDK version on the Individual components tab.
- Standalone installer. Download the installer for the exact build you need from Microsoft’s Windows SDK downloads page and select only the features you use.
- ISO image. Use the ISO for offline or air-gapped build agents, then run the same feature selection.
- NuGet for CI. Reference the Windows SDK build tools packages from Microsoft’s NuGet feed so build agents restore a pinned SDK version with the code, instead of relying on whatever is installed on the image.
- Verify. Check that
C:\Program Files (x86)\Windows Kits\10\Include\<version>exists and that your project builds without SDK warnings.
On Windows 8.1 and earlier, the installer also needs the Universal C Runtime update from Windows Update. For any team larger than one developer, pin the SDK version in source control rather than in each person’s head, because “works on my machine” build failures often trace back to different SDK versions on different machines.
How do you target a Windows SDK version in your project?
You target a Windows SDK version through MSBuild properties: C# projects put it in the target framework moniker (TFM), C++ projects set WindowsTargetPlatformVersion. A second property sets the oldest Windows version your app supports, and the gap between the two is where runtime checks are required.
A WinUI 3 or WPF project on .NET 10 typically looks like this:
<PropertyGroup>
<TargetFramework>net10.0-windows10.0.26100.0</TargetFramework>
<SupportedOSPlatformVersion>10.0.19041.0</SupportedOSPlatformVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.WindowsAppSDK" Version="2.6.5" />
</ItemGroup>
For C++ the equivalent properties are WindowsTargetPlatformVersion and WindowsTargetPlatformMinVersion. A practical rule set for new projects:
- compile against the latest stable SDK, such as 10.0.26100.0;
- set the minimum version by audience: managed enterprise fleets can match the company baseline, consumer apps often use 10.0.19041.0 or 10.0.17763.0;
- always use the latest stable Windows App SDK, since it supports back to Windows 10 version 1809;
- guard APIs newer than your minimum with
ApiInformation.IsApiContractPresentorIsTypePresentchecks; - move projects still on .NET 8 or .NET 9 to .NET 10, because their support ended on 10 November 2026.
Skipping the runtime checks is the classic mistake: the app compiles cleanly against the new SDK, then throws TypeLoadException or MissingMethodException on a customer’s older Windows build. Our .NET software development guide explains how we audit an existing codebase before a framework upgrade.
Can you safely uninstall the Windows Software Development Kit?
Yes, you can safely uninstall the Windows Software Development Kit if you do not build Windows software, and you can remove individual SDK versions that no project targets. Uninstalling it does not affect ordinary programs, because apps never load the SDK at runtime.
Before removing a version on a developer machine, check three things:
- Project targets. Search your repositories for the version string (for example
10.0.22621.0) in.csprojand.vcxprojfiles. - Visual Studio components. If Visual Studio installed the SDK, remove it through the Visual Studio Installer so the installer state stays consistent.
- Other tools. Driver kits, game engines and some packaging tools expect a matching SDK; keep it if you use them.
To uninstall, open Settings > Apps > Installed apps, find the “Windows Software Development Kit” entry with the version you want to remove, and choose Uninstall. If you remove a version by mistake, Visual Studio or the standalone installer can put it back in a few minutes, and a build will tell you exactly which version it expects.
How do you fix common Windows SDK errors?
Most Windows SDK errors come from a mismatch between the version a project asks for and the versions installed on the machine. The fix is either installing the requested version or retargeting the project, then keeping the version pinned for everyone.
| Error or symptom | Likely cause | Fix |
|---|---|---|
MSB8036: The Windows SDK version X was not found | Project targets an SDK that is not installed | Install that version, or retarget via project properties to an installed one |
windows.h or other headers not found | SDK missing or C++ workload not installed | Add the C++ workload and a Windows SDK in Visual Studio Installer |
signtool or makeappx not recognized | SDK bin folder is not on the PATH | Use the Developer Command Prompt or call the tool from Windows Kits\10\bin\<version>\x64 |
| Builds pass locally but fail in CI | Build agent image has a different SDK | Pin the version in the project and restore it through NuGet or the agent image |
| App crashes on older Windows only | New API called without a runtime check | Add ApiInformation checks or raise the minimum supported version |
When does a Windows app need more than the SDK?
The Windows SDK solves compilation, not product decisions: which UI framework to use, how to package and update the app, how to sign it, and how to keep it working across Windows releases. Those decisions decide most of the cost of a desktop product.
A typical modern Windows app combines five layers:
- Interface: WinUI 3, WPF or .NET MAUI;
- App framework: the Windows App SDK for windowing and notifications;
- Distribution: MSIX or a classic installer;
- Trust: code signing so SmartScreen does not block the app;
- Build: a CI pipeline that compiles against a pinned Windows SDK.
Our desktop software development guide compares those framework options in detail. If you are weighing which tools your team needs overall, see our roundup of the best software development tools for 2026.
For budgeting, YuSMP Group quotes .NET and Windows builds at fixed scope: a first app or internal dashboard from $4,100, a multi-role business app or B2B portal from $8,100, a multi-tenant SaaS platform from $13,800, and marketplace or high-load systems from $28,700. The final number depends on the number of user roles, integrations, hardware access and how much legacy code has to be ported.
Sources for this Windows SDK guide
- Microsoft Learn, Windows SDK overview, updated March 2026.
- Microsoft Learn, Windows SDK downloads, updated September 2026.
- Microsoft Learn, Windows versions and SDK overview, updated August 2026.
- Microsoft Learn, Latest Windows App SDK downloads, updated November 2026.
- Microsoft Q&A, Can I uninstall one of the Windows software development kits if 2 are installed.
- Wikipedia, Microsoft Windows SDK (history).
Frequently asked questions
What is the Windows Software Development Kit?
The Windows Software Development Kit is a free Microsoft toolkit with the headers, libraries, Windows Runtime metadata and command-line tools needed to build native Windows applications. It also includes tools for signing, packaging and debugging apps. It is used only at build time and is never shipped to the people who run your software.
Do I need the Windows Software Development Kit?
You need the Windows Software Development Kit only if you compile, package or sign Windows software, for example C++, WinUI or MSIX-packaged .NET apps. Regular users, gamers and web or mobile developers do not need it. It often appears on a PC because Visual Studio or another developer tool installed it.
What is the latest Windows SDK version in 2026?
In November 2026, Microsoft lists two supported stable families: 10.0.26100, whose latest build is 10.0.26100.9457, and 10.0.28000, whose latest build is 10.0.28000.2957, both from September 2026. The 26100 family matches Windows 11 version 24H2; the 28000 family can target Windows 11 version 26H1.
Can I uninstall the Windows Software Development Kit?
Yes. If you do not develop Windows software, uninstalling the Windows Software Development Kit will not affect your other programs. Developers can remove versions that no project targets; check your project files and Visual Studio components first, and reinstall through Visual Studio if a build later asks for that version.
What is the difference between the Windows SDK and the Windows App SDK?
The Windows SDK provides platform headers, libraries and tools for compiling against Windows APIs and is used only at build time. The Windows App SDK is a separate NuGet-delivered framework with WinUI 3, windowing and app lifecycle features whose runtime ships with your app. Modern desktop projects use both, and each is versioned independently.
Is the Windows SDK free?
Yes. The Windows SDK is free to download and use, with no licensing fee, from Microsoft’s website, through the Visual Studio Installer or from NuGet. You only pay for the development tools or services you choose around it, such as paid Visual Studio editions or code-signing certificates.