Windows System Software -- Consulting, Training, Development -- Engineering Excellence, Every Time.

It’s 1809… A New WDK Awaits You… Don’t Be Afraid!

It’s 1809… A New WDK Awaits You… Don’t Be Afraid!

Well, OK… It’s not really 1809 anymore. It’s actually 1810 when I’m writing this.  But whatever.  There’s a new WDK among us.

Before you can install WDK 1809, you’ll need to be running Visual Studio 15.8 and you’ll need to manually install the latest SDK (the version is Windows 10.0.17763.1, which is the 1809 SDK).  Very helpfully, the 1809 WDK installer checks to see if the the proper SDK version is installed.  Thank you, thank you, thank you — major problems prevented right there.  On the other hand, the WDK installer unhelpfully

remains named “wdksetup.exe” (with nary a hint of the version number in the file name… so much for easily archiving the executable for possible later use).  But I digress.

The WDK install went smoothly.  Building my first driver project (that had used the previous toolset) built successfully, but I got an interesting warning:

warning MSB8038: Spectre mitigation is enabled but Spectre mitigated libraries are not found.
Verify that the Visual Studio Workload includes the Spectre mitigated libraries.
See for more information.

That seemed clear enough… and that’s what I did.

Don’t Forget: Install the Qspectre Mitigation Libraries

So, before or after installing the WDK, you will need to manually install the Qspectre-specific mitigation libraries.  You do this from the Visual Studio 2017 installer (go to Add/Remove Programs), and search through the individual components to find the libs that have the tags “for Spectre” — If you build old, strange, user-mode stuff, you’ll probably also want to install the ATL and MFC libs as well.

After installing the necessary stuff (that’s SDK, WDK, and the appropriate Spectre libraries) I was able to successfully build several projects using the latest toolset.  No problems, no issues, no weird undefined symbols.  It all just… worked. In Code Analysis, the “Microsoft Driver Must Fix Rules” work, as do “Microsoft All Rules” — it seems the Core Guidelines rules have now been broken-out into individual rule-sets. So, you can return to using “Driver Must Fix” or “All Rules” in your projects if that’s what you prefer.

So… go ahead and update to the latest WDK. There’s nothing to be afraid of. It’s the smoothest update that we’ve seen in a while. If YOU have problems, let us hear from you! Tell us what they are. Find us on Twitter at @OSRDrivers, on our LinkedIn page, or on Facebook.  Or post something in Forum of the new OSR Developer Community.

But, if our experience is any indication, you shouldn’t have any problems due to the new WDK.

Yay!  Nice work, WDK team.