Are Side-by-Side WDK 10 Versions Necessary?

Frustrated to even ask this question:

All this chatter about WDK 10 installs and issues. I have the 10586 and 14393 WDKs installed side by side, and can properly target and build for those variations. I’ve been unable to locate a version of the wdksetup.exe which corresponds to the initial 10240 version.

Is any of this necessary? Microsoft not maintaining separate download links to the older versions suggests to me it does not.

Can I safely build drivers targeting 14393 that will work appropriately on versions preceding the anniversary update? The LTSB was on 10240 until recently, or still is. The only way this would make sense to me is if each version contains no new kernel features and no conflicting internal changes.

So I’ve largely answered my own question. I went back and diffed the WDK source, and there are clearly differences that would cause compilation/build errors if coding to the new WDK and then compiled for the previous.

Anyone know of any run time concerns running 1607 drivers on 1511 or 1507?

It’s looking like I should try to get the 1507 wdk but I can’t find an installer. Anyone have one? I’ve reached out to Microsoft at least twice about this, but never talk to the right person. Really looking forward to supporting the new Creator version around the corner…

If you use the enterprise WDK, I believe you can specify which win 10 WDK environment you build against.

Jan


From: xxxxx@lists.osr.com on behalf of xxxxx@gmail.com
Sent: Wednesday, January 25, 2017 4:29:13 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Are Side-by-Side WDK 10 Versions Necessary?

So I’ve largely answered my own question. I went back and diffed the WDK source, and there are clearly differences that would cause compilation/build errors if coding to the new WDK and then compiled for the previous.

Anyone know of any run time concerns running 1607 drivers on 1511 or 1507?

It’s looking like I should try to get the 1507 wdk but I can’t find an installer. Anyone have one? I’ve reached out to Microsoft at least twice about this, but never talk to the right person. Really looking forward to supporting the new Creator version around the corner…


NTDEV is sponsored by OSR

Visit the list online at: http:

MONTHLY seminars on crash dump analysis, WDF, Windows internals and software drivers!
Details at http:

To unsubscribe, visit the List Server section of OSR Online at http:</http:></http:></http:>

Very frustrated at the moment working with Microsoft paid support on this
issue. They try to tell me to download and install the SDK to get the km
include and libs… It’s already installed and the SDK does not include
those.

Anyone have a way to get this older WDK, and possibly even the older HLK???

What am I missing here?

On Wed, Jan 25, 2017 at 11:25 PM Jan Bottorff
wrote:

>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> If you use the enterprise WDK, I believe you can specify which win 10 WDK
> environment you build against.
>
>
>
>
> Jan
>
>
>
>
> ------------------------------
>
>
> From: xxxxx@lists.osr.com <
> xxxxx@lists.osr.com> on behalf of xxxxx@gmail.com <
> xxxxx@gmail.com>
>
>
> Sent: Wednesday, January 25, 2017 4:29:13 PM
>
>
> To: Windows System Software Devs Interest List
>
>
> Subject: RE:[ntdev] Are Side-by-Side WDK 10 Versions Necessary?
>
>
>
>
>
>
>
>
>
>
> So I’ve largely answered my own question. I went back and diffed the WDK
> source, and there are clearly differences that would cause
> compilation/build errors if coding to the new WDK and then compiled for the
> previous.
>
>
>
>
>
> Anyone know of any run time concerns running 1607 drivers on 1511 or 1507?
>
>
>
>
>
> It’s looking like I should try to get the 1507 wdk but I can’t find an
> installer. Anyone have one? I’ve reached out to Microsoft at least twice
> about this, but never talk to the right person. Really looking forward to
> supporting the new Creator version around
>
> the corner…
>
>
>
>
>
> —
>
>
> NTDEV is sponsored by OSR
>
>
>
>
>
> Visit the list online at: <
> http://www.osronline.com/showlists.cfm?list=ntdev&gt;
>
>
>
>
>
> MONTHLY seminars on crash dump analysis, WDF, Windows internals and
> software drivers!
>
>
> Details at http:
>
>
>
>
>
> To unsubscribe, visit the List Server section of OSR Online at <
> http://www.osronline.com/page.cfm?name=ListServer&gt;
>
>
>
>
>
>
>
>
>
> —
>
>
>
> NTDEV is sponsored by OSR
>
>
>
>
>
>
>
> Visit the list online at: <
> http://www.osronline.com/showlists.cfm?list=ntdev&gt;
>
>
>
>
>
>
>
> MONTHLY seminars on crash dump analysis, WDF, Windows internals and
> software drivers!
>
>
>
> Details at http:
>
>
>
>
>
>
>
> To unsubscribe, visit the List Server section of OSR Online at <
> http://www.osronline.com/page.cfm?name=ListServer&gt;
>
></http:></http:>

I have the 10.0.14393 WDK installed and it has the km directories, AFAK its the latest 10 WDK.

Eh, you misunderstand me… if you select the 10240 build target, the build
will obviously fail as the DDK Include and Library path retargets to the
following locations that are missing without the Windows 10 1507(RTM) WDK
being installed:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\km\crt
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\km
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\shared
C:\Program Files (x86)\Windows Kits\10\lib\10.0.10240.0\km\

Does anyone have a link to this wdksetup.exe version? (looking for the HLK
as well)

On Fri, Jan 27, 2017 at 7:09 AM wrote:

> I have the 10.0.14393 WDK installed and it has the km directories, AFAK
> its the latest 10 WDK.
>
>
>
> —
> NTDEV is sponsored by OSR
>
> Visit the list online at: <
> http://www.osronline.com/showlists.cfm?list=ntdev&gt;
>
> MONTHLY seminars on crash dump analysis, WDF, Windows internals and
> software drivers!
> Details at http:
>
> To unsubscribe, visit the List Server section of OSR Online at <
> http://www.osronline.com/page.cfm?name=ListServer&gt;
></http:>

Why not target $(LatestTargetPlatformVersion) instead of the 10240 one?

I guess I’m wondering why you would put yourself through this.

Why not just use the latest WDK version?

Peter
OSR
@OSRDrivers

Fair enough. My own ignorance I’m sure has me blind (don’t know what I
don’t know!). Wife and I just also had our second kid < 2 weeks ago, so I’m
largely delirious from lack of sleep.

So what do I think I know? Your response has forced me to think this over
again.

WDK 10 can target and build for windows 7, 8, and 10. The older wdk with
vs2012/2013 went about this through the UI a bit differently, but I recall
the different build targets were accomplished through a different
configuration of predefinitions, but would still point at the same include
and lib folders.

Hmm, so WDK10 in vs2015 changed this slightly. You now pick your toolset,
and if you want to target a driver to a specific version you can do so via
the (from memory, grace pls) driver install drop down, being able to choose
desktop/universal/whatever as well as the windows version 7/8/10.

Here’s where my understanding has failed. In wanting to target a driver to
a specific set of capabilities based on release, I didn’t think it further
than selecting from the drop downs. Which made me think to build a driver
specifically for win 10 1507(rtm)+, that I would need that specific
toolset. Now I’m fairly certain the same thing is achieved using the later
wdk… but just needing to specify an ntddi version predef. Duh!? I was
diffing the source code between the 10586 and 14393 WDKs, and what I saw
was the new features were added inside of version specific ifdefs. Duh! Am
I thinking more clearly now?

I’ll have to look now at what predefs are set per the drop down between the
different tool sets. In my mind I envision the 14393 wdk, by default
targets 1607, and so in upgrading the wdk from 10240/10586 to 14393, I need
to override the defaults to fix it to the 1507(RTM) feature subset if that
is what I so desire? *hangs head*

On Fri, Jan 27, 2017 at 8:19 PM wrote:

I guess I’m wondering why you would put yourself through this.

Why not just use the latest WDK version?

Peter
OSR
@OSRDrivers


NTDEV is sponsored by OSR

Visit the list online at: http:>

MONTHLY seminars on crash dump analysis, WDF, Windows internals and
software drivers!
Details at http:

To unsubscribe, visit the List Server section of OSR Online at <
http://www.osronline.com/page.cfm?name=ListServer&gt;</http:></http:>

Okay, I have my answer. (doublefacepalm)
No one needs the old wdks, probably causes more problems as they have had issues. Thanks for the nods and nudging to help me see this.

Yes, selecting Windows 10 or higher under Driver Settings/General/Target OS Version was the first step.

Interestingly enough, under all choices of Target Platform Version (10.0.10240.0, 10.0.10586.0, and 10.0.14393.0), NTDDI_VERSION is defined as 0x0A000002. I suppose that works in relation to the definitions of NTDDI values in sdkddkver.h and how the ifdefs are used.

Under Driver Settings\Driver Model\Override Target Configuration Preprocessor Definitions, this must be selected as Yes to downscope the feature set.

Congratulations!

I’ve got some family stuff happening myself, and am sorry I wasn’t able to respond to your initial post and save you a bunch of time and annoyance.

All’s well that ends well. I just made that saying up… pretty good huh :wink:

Peter
OSR
@OSRDrivers

@Peter, you calling me annoying eh? :wink: