none
Updated Hardware Dev Kits for Windows 10 version 1607 are now available! (August 2016)

    General discussion

  • Install the latest hardware development tools to build, test and deploy drivers, test and measure your hardware running Windows, and customize, assess, and deploy Windows 10 on your hardware.

    Hardware development kits for Windows 10, Version 1607

    WDK: https://developer.microsoft.com/en-us/windows/hardware/windows-driver-kit

    WinDBG: https://developer.microsoft.com/en-us/windows/hardware/download-windbg

    HLK: https://developer.microsoft.com/en-us/windows/hardware/windows-hardware-lab-kit

    ADK: https://developer.microsoft.com/en-us/windows/hardware/windows-assessment-deployment-kit

    Known issue for the WDK (2016/08/17)

    We discovered a bug in the 1607 version of the WDK that prevents building drivers for the 1511 version of Windows.  
    While we are working on a fix, you can use the following workaround:

    1. Exit Visual Studio

    2. Make a backup of the WindowsDriver.Default.props file.

    This file is located in: C:\Program Files (x86)\Windows Kits\10\build\WindowsDriver.Default.props

    3. Copy the XML listed below and paste into a new WindowsDriver.Default.props file.

    4. Restart Visual Studio

    5. Open a driver project and build it. The project should build correctly for 1511 and 1607 versions

    <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
      <!-- Predefined versioning constants -->
      <PropertyGroup>
        <!-- Current KitOS property -->
        <CurrentKitOS>winv10.0</CurrentKitOS>
        <!-- Latest Target Version property -->
        <LatestTargetVersion>Windows10</LatestTargetVersion>

        <TargetVersion Condition="'$(TargetVersion)' == ''">$(LatestTargetVersion)</TargetVersion>
        <LatestTargetPlatformVersion Condition="'$(VisualStudioVersion)' == '14.0'">$([Microsoft.Build.Utilities.ToolLocationHelper]::GetLatestSDKTargetPlatformVersion('Windows', '10.0'))</LatestTargetPlatformVersion>
        <LatestTargetPlatformVersion Condition="'$(VisualStudioVersion)' == '12.0'">10.0.14393.0</LatestTargetPlatformVersion>
        <WindowsTargetPlatformVersion Condition="'$(WindowsTargetPlatformVersion)' == ''">$(LatestTargetPlatformVersion)</WindowsTargetPlatformVersion>
        <TargetPlatformVersion>$(WindowsTargetPlatformVersion)</TargetPlatformVersion>
        <OverrideCfgV1 Condition="'$(OverrideCfgV1)' == '' and '$(WindowsTargetPlatformVersion)' &lt;= '10.0.14250.0'">true</OverrideCfgV1>
        <MatchingSdkPresent Condition="Exists('$(WDKContentRoot)\DesignTime\CommonConfiguration\Neutral\UAP\$(TargetPlatformVersion)\UAP.props')">true</MatchingSdkPresent>
      </PropertyGroup>

      <PropertyGroup>
        <_NT_TARGET_VERSION_LATEST>0xA000002</_NT_TARGET_VERSION_LATEST>
        <LATEST_WIN32_WINNT_VERSION>0x0A00</LATEST_WIN32_WINNT_VERSION>
        <LATEST_SUBSYSTEM_VERSION>10.00</LATEST_SUBSYSTEM_VERSION>
        <LATEST_NTDDI_VERSION>0x0A000002</LATEST_NTDDI_VERSION>
      </PropertyGroup>
      <!-- Predefined versioning constants -->
      <PropertyGroup>
        <MIDL_TARGET_VISTA>NT60</MIDL_TARGET_VISTA>
        <MIDL_TARGET_WIN7>NT61</MIDL_TARGET_WIN7>
        <MIDL_TARGET_WIN8>NT62</MIDL_TARGET_WIN8>
        <MIDL_TARGET_WINV63>NT63</MIDL_TARGET_WINV63>
        <MIDL_TARGET_WIN10>NT64</MIDL_TARGET_WIN10>

      </PropertyGroup>
      <Choose>
        <When Condition="('$(TargetVersion)'=='' OR '$(TargetVersion)'=='Windows10')">
          <PropertyGroup>
            <LegacyTargetVersion>false</LegacyTargetVersion>
            <UnknownTargetPlatformVersion Condition="'$(TargetPlatformVersion)' == ''">true</UnknownTargetPlatformVersion>
          </PropertyGroup>
        </When>
        <Otherwise>
          <PropertyGroup>
            <LegacyTargetVersion>true</LegacyTargetVersion>
          </PropertyGroup>
          <Choose>
            <When Condition="('$(TargetVersion)'=='WindowsV6.3')">
              <PropertyGroup>
                <DDKSpec>winv6.3</DDKSpec>
              </PropertyGroup>
            </When>
            <When Condition="('$(TargetVersion)'=='Windows8')">
              <PropertyGroup>
                <DDKSpec>win8</DDKSpec>
              </PropertyGroup>
            </When>
            <When Condition="('$(TargetVersion)'=='Windows7')">
              <PropertyGroup>
                <DDKSpec>win7</DDKSpec>
              </PropertyGroup>
            </When>
            <Otherwise>
              <PropertyGroup>
                <UnknownTargetVersion>true</UnknownTargetVersion>
              </PropertyGroup>
            </Otherwise>
          </Choose>
        </Otherwise>
      </Choose>
      <PropertyGroup Condition="'$(DriverTargetPlatform)' == ''">
        <DriverTargetPlatform Condition="$(BuildWindowsPhone) == '' or $(BuildWindowsPhone) == 'false'">Desktop</DriverTargetPlatform>
        <DriverTargetPlatform Condition="$(BuildWindowsPhone) == 'true'">Mobile</DriverTargetPlatform>
      </PropertyGroup>

      <!-- Default driver deployment properties -->
      <PropertyGroup>
        <!-- Remove previous version of driver before deployment -->
        <RemoveDriver Condition="'$(RemoveDriver)' == ''">True</RemoveDriver>
      </PropertyGroup>
    </Project>

               

    • Edited by dansimp Thursday, August 18, 2016 2:14 AM
    Tuesday, August 02, 2016 7:44 PM

All replies

  • Be aware of https://www.osr.com/blog/2016/08/02/wdk-14393-code-analysis-enforces-pool_nx_optin-breaks-pool_nx_optin/   Basically this kit makes it harder to maintain backwards compatibility for those of us who have customers who do not want to use the Windows 10 WDK as well as ones that do.


    Don Burn Windows Driver Consulting Website: http://www.windrvr.com

    Tuesday, August 02, 2016 10:42 PM
  • OSR has put out more data for developers to be aware of.  Think carefully before you take the upgrade.

    Hi!

    As you probably know, the new 14393 WDK was released today to accompany Windows Anniversary Update (V1607).

    Before you got yourself into a fix, like a whole group of us here at OSR, we wanted to warn you of a few issues we've encountered:

    a) There appears to be a Code Analysis issue in 14393 that causes POOL_NX_OPTIN to be broken. BEFORE you upgrade, check our blog post on this issue: <https://www.osr.com/blog/2016/08/02/wdk-14393-code-analysis-enforces-pool_nx_optin-breaks-pool_nx_optin/>

    b) What's worse is that attempting to uninstall the 14393 WDK and revert to the previous 10586 WDK doesn't work, and leaves you with a non-working driver development environment.

    c) There's something in the suggested update for VS 2015 (KB 1365756) that can cause the 10586 WDK to stop working. The symptoms are that the standard driver include files (like WDM.H and NTDDK.H) are no longer found. This is what happens when the SDK isn't installed, so... we *think* (but don't know for sure) that it might have something to do with attempting to install the new SDK. In any case, we don't recommend you install this KB.

    d) What's worse is that attempting to roll-back to the snapshot taken before applying the aforementioned KB renders VS 2015 entirely unusable for anything (ask me how I know).

    The combination of the above issues has basically caused work to come to a halt here for several of us. While we're waiting for VS 2015 with Update 3 to be reinstalled (merely doing the "repair" didn't work... in fact, it hung), we figured we'd fire-off a "hint" to members of the community warning them about the issues we had.

    Be careful of those updates! Check-in with us regularly for the latest updates.

    Develop well,

    The OSR Engineering team


    Don Burn Windows Driver Consulting Website: http://www.windrvr.com

    Wednesday, August 03, 2016 12:34 AM
  • This update is even worse than was described yesterday, see https://www.osr.com/blog/2016/08/03/careful-vs-2015-updates/   Bottom, line at this point be careful of even applying Windows update let alone any updates to VS2015 or installing this kit, unless you really want to be there forever.


    Don Burn Windows Driver Consulting Website: http://www.windrvr.com

    Wednesday, August 03, 2016 2:20 PM
  • Yet another surprise described by OSR https://www.osr.com/blog/2016/08/03/careful-wdk-updates/  The WDK update breaks having multiple WDK versions for Windows 10.


    Don Burn Windows Driver Consulting Website: http://www.windrvr.com

    Thursday, August 04, 2016 12:50 AM
  • Need to 'Run as Administrator' in order to backup and to modify the file 'WindowsDriver.Default.props'.

    Jeremy

    Sunday, August 28, 2016 5:17 AM
  • Thank you for your diligence. Not many would take the time to actually help others anymore. Much appreciated.
    Thursday, December 08, 2016 6:43 AM