C
Cymon Kilmer [MSFT]
Guest
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.
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
Changes and known issues for the WDK
Installing WDK no longer enables Spectre mitigations for all C++ projects as seen in WDK 1903
While the WDK install will enable Spectre mitigation by default for all drivers, it no longer enables them for all C++ projects.
EWDK and SDV running on Server have .NET requirements
Running Static Driver Verifier from the EWDK requires .Net Framework 4.7.2. Depending on the version of Windows on your system, .NET may be installed, may be installed but need to be enabled, or may not be installed. For more information about what version of .NET is installed or the state of .NET installation please review this page: https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/versions-and-dependencies.
DVL generation fails with System.IO.FileNotFoundException
When attempting to create a Driver Verification Log (DVL), the following error will be presented:
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
This can occur in both the command-line and GUI environments. This issue is resolved in a future version of the WDK which can be seen in the Windows Insider Preview WDK available here: https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewWDK. Unfortunately no workaround exists for the current version.
SDV fails in the EWDK if VS is not installed
SDV has a dependency on VCRUNTIME140D.dll as part of Visual Studio. As such, running the EWDK on a machine without VS installed will fail. Install Visual Studio on the machine to work around this issue.
Driver Verifier does not get enabled/disabled when using WDK test explorer
Driver Verifier does not get enabled/disabled when Device Fundamental tests are run using the WDK Test Explorer.
Workaround:
On the client machine manually enable/disable driver verifier per these instructions.
WDK Side by Side installations of Windows 10, version 2004 and WDK Windows 10, version 1903 or version 1803
With both versions of kits installed on the same PC the ‘Deploy driver’ feature won’t work for older version.
Work around:
Use 1803 on a separate machine if Deploy driver feature is needed.
Windows Device Testing Framework (WDTF) tests now only run on systems with matching Windows 10 versions as the WDK
In WDK for Windows 10, version 1809, changes were made to WDTF in order to support this version of Windows 10, version 1809. The effect of this is that WDTF will no longer run on down-level OS. The change continues with WDK for Windows 10, version 2004.
Alterative for down-level testing:
The WDTF tests in WDK for Windows 10, version 1803 can be run on previous Windows versions
APIValidator
On an x86 arch machine APIValidator is unable to run against x64 binaries. If building x64 drivers on an x86 machine APIValidator should be turned off.
Workaround:
1. Go to the properties page of the driver solution
2. Select APIValidator, then General and change Run ApiValidator from Yes to No
WDK running on Windows 7 systems requires KB 3033929
WDK will require installing Microsoft Security Advisory 3033929 (KB3033929) prior to installing the WDK on systems running Windows 7. KB3033929 can be downloaded here
Installing the WDK generates an error from Visual Studio that the add-in component is already installed
This error message can be seen if the WDK was uninstalled but the WDK drivers extension for Visual Studio was not uninstalled.
Resolution:
In Visual Studio go to the Extension dropdown menu, choose Manage Extensions, select the Windows Driver Kit and click on the Uninstall button.
Continue reading...
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
Changes and known issues for the WDK
Installing WDK no longer enables Spectre mitigations for all C++ projects as seen in WDK 1903
While the WDK install will enable Spectre mitigation by default for all drivers, it no longer enables them for all C++ projects.
EWDK and SDV running on Server have .NET requirements
Running Static Driver Verifier from the EWDK requires .Net Framework 4.7.2. Depending on the version of Windows on your system, .NET may be installed, may be installed but need to be enabled, or may not be installed. For more information about what version of .NET is installed or the state of .NET installation please review this page: https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/versions-and-dependencies.
DVL generation fails with System.IO.FileNotFoundException
When attempting to create a Driver Verification Log (DVL), the following error will be presented:
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
This can occur in both the command-line and GUI environments. This issue is resolved in a future version of the WDK which can be seen in the Windows Insider Preview WDK available here: https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewWDK. Unfortunately no workaround exists for the current version.
SDV fails in the EWDK if VS is not installed
SDV has a dependency on VCRUNTIME140D.dll as part of Visual Studio. As such, running the EWDK on a machine without VS installed will fail. Install Visual Studio on the machine to work around this issue.
Driver Verifier does not get enabled/disabled when using WDK test explorer
Driver Verifier does not get enabled/disabled when Device Fundamental tests are run using the WDK Test Explorer.
Workaround:
On the client machine manually enable/disable driver verifier per these instructions.
WDK Side by Side installations of Windows 10, version 2004 and WDK Windows 10, version 1903 or version 1803
With both versions of kits installed on the same PC the ‘Deploy driver’ feature won’t work for older version.
Work around:
Use 1803 on a separate machine if Deploy driver feature is needed.
Windows Device Testing Framework (WDTF) tests now only run on systems with matching Windows 10 versions as the WDK
In WDK for Windows 10, version 1809, changes were made to WDTF in order to support this version of Windows 10, version 1809. The effect of this is that WDTF will no longer run on down-level OS. The change continues with WDK for Windows 10, version 2004.
Alterative for down-level testing:
The WDTF tests in WDK for Windows 10, version 1803 can be run on previous Windows versions
APIValidator
On an x86 arch machine APIValidator is unable to run against x64 binaries. If building x64 drivers on an x86 machine APIValidator should be turned off.
Workaround:
1. Go to the properties page of the driver solution
2. Select APIValidator, then General and change Run ApiValidator from Yes to No
WDK running on Windows 7 systems requires KB 3033929
WDK will require installing Microsoft Security Advisory 3033929 (KB3033929) prior to installing the WDK on systems running Windows 7. KB3033929 can be downloaded here
Installing the WDK generates an error from Visual Studio that the add-in component is already installed
This error message can be seen if the WDK was uninstalled but the WDK drivers extension for Visual Studio was not uninstalled.
Resolution:
In Visual Studio go to the Extension dropdown menu, choose Manage Extensions, select the Windows Driver Kit and click on the Uninstall button.
Continue reading...