Windows 10 SDK

The Windows 10 SDK for Fall Creators Update (10.0.16299.91) provides the latest headers, libraries, metadata, and tools for building Windows 10 apps. When used in conjunction with the latest version of Visual Studio 2017, the Windows 10 SDK provides the optimum experience for building apps for Windows 10.

Note: Windows 10 development targeting Windows 10 Creators Update (or later) requires Visual Studio 2017. This SDK will not be discovered by previous versions of Visual Studio.

This SDK, originally released in September 2017, has received the following updates:

QFE Build: 10.0.16299.91 - Released November 2017

  • Updated the Application Certification Kit API list
  • Addressed issue where previous contract versions were updated with APIs introduced in the Windows 10 Fall Creators Update

Getting started

The latest Visual Studio 2017 RTM already includes this copy of the Windows 10 SDK. By enabling the Universal Windows Platform development work stream in the Visual Studio installer, the Windows SDK will be installed.

Before you install this SDK:

  1. Review all system requirements in this topic.
  2. Exit Visual Studio 2017 RTM prior to installation. If Visual Studio is running, it is possible the SDK Setup will fail. Learn more about common tool issues.
  3. Review the Known Issues in this topic.

System requirements

The Windows SDK has the following minimum system requirements:

Supported operating systems
  • Windows 10 App Development (UWP)

    • Windows 10 version 1507 or higher: Home, Professional, Education, and Enterprise (LTSB and S are not supported)
    • Windows Server 2012 R2 (Command line only) Windows Server 2016 (Command Line only)
  • Win32 Development

    • Windows 10 version 1507 or higher
    • Windows Server 2016: Standard and Datacenter
    • Windows 8.1
    • Windows Server 2012 R2
    • Windows 7 SP1

    (Not all tools are supported on earlier operating systems)

Hardware requirements
  • 1.6 GHz or faster processor
  • 1 GB of RAM
  • 4 GB of available hard disk space
Additional SDK requirements

Installation on Windows 8.1 and earlier operating systems requires KB2999226. To install through Windows Update, make sure you install the latest recommended updates and patches from Microsoft Update before you install the Windows SDK.

What's new

The Windows 10 Fall Creators Update SDK exposes a number of exciting new APIs and platforms for developing your Universal Windows apps. Learn more about the about the new features in Windows 10, version 1710.

Breaking changes

Ecmangen.exe removal from the SDK

Ecmangen.exe will no longer ship with the Windows SDK. Developers who rely on ecmangen for event manifest creation are advised to install the Windows Creators Edition of the SDK to obtain the file. Developers may also use notepad or other XML editor of choice for manifest creation. A schema file is available provided, see:

\Program Files (x86)\Windows Kits\10\Include\10.0.16299.0\um\eventman.xsd

Learn more

WinRT type header generation moving from MIDL to MIDLRT

Header generation for WinRT types generation is moving from the MIDL tool to the MIDLRT tool. This change will enable significant performance enhancements and will also enable a number of new features.

The most common issue developers are likely to encounter is the addition of deprecation support to the generated WinRT headers. With this change, if you consume a deprecated API, the C++ compiler will now generate a warning indicating that your code is accessing a deprecated type.

Consider the following when evaluating how your code will be impacted:

  1. The WinMDIDL tool used to emit cpp_quote directives to work around a MIDL header generation limitation. Those cpp_quote directives are incompatible with the new header generation logic and need to be removed (or the IDL file needs to be regenerated).
  2. WinRT types that are marked as [deprecated] are now also marked as [[deprecated]] in the generated C++ headers. This means that you may encounter C4996 warnings indicating that you are accessing a deprecated type. To resolve this issue, you can define DISABLE_WINRT_DEPRECATION in the preprocessor definitions for your project to ignore the deprecations.
Windows Runtime enumeration definitions are now compliant with C++ standard

To further align Visual C++ with the ISO standard for C++, enumerations for Windows Runtime types are now standards-compliant. If you develop software with the Windows 10 SDK, this change might affect you.

Specifically, variables in operations with enumerations that are marked as flags must be cast as unsigned integers. An operation that uses a signed integer with an enumeration constant will result in a compiler error, because enumeration constants are now unsigned integers. The affected enumerations are flags enumerations supplied by the SDK and enumerations that you cast with the [flags] attribute.

For example, the following code casts bit as an integer:

GamePadReading->get_Buttons(&NewButtonMask); for(int index=0;index<32;index++) { int bit = 1 << index; if( ((NewButtonMask & bit) == bit) && ((CurrentButtonMask & bit) != bit)) { JustPressedButtonMask |= (GamepadButtons)bit;

However, because this code relies on GamepadButtons, which has the attribute System.FlagsAttribute, bit must instead be cast as unsigned:

unsigned int bit = 1 << index;

Samples

Windows 10 app samples are now available through GitHub. You can browse the code on GitHub, clone a personal copy of the repository using Git, or download a zipped archive of all the samples. We welcome feedback, so feel free to open an issue within the repository if you have a problem or question. These samples are designed to run on desktop, mobile, and future devices that support the Universal Windows Platform. You can find other examples in the MSDN Code Gallery.

Windows 10 Mobile Emulator

The Emulator for Windows 10 Mobile is a desktop application that emulates a device running Windows 10 for Mobile Emulator. It provides a virtualized environment in which you can debug and test your Windows apps without a physical device. It also provides an isolated environment for your application prototypes. Learn more about the Windows 10 Mobile Emulator.

Previous SDK versions

The previously released SDKs and emulators, including update details, can be found on the archive page.

Known issues

Exit Visual Studio first

The Windows SDK may fail to install and report Fatal Error if Visual Studio is currently running. Please exit Visual Studio prior to installation.

API Light Up

When targeting using new APIs, consider writing your app to be adaptive in order to run correctly on the widest number of Windows 10 devices. Please see Dynamically detecting features with API contracts (10 by 10) for more information.

Learn more about common tool issues.

For the latest release notes, see the Windows Developer Forum.

Was this page helpful?
Additional feedback?
Thank you! We appreciate your feedback.