Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Home NTDEV

More Info on Driver Writing and Debugging


The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.


Check out The OSR Learning Library at: https://www.osr.com/osr-learning-library/


Before Posting...

Please check out the Community Guidelines in the Announcements and Administration Category.

how to use multiple WDKs with Visual Studio

phanikcsphanikcs Member Posts: 3

Hi All,

I have a query.
How can I install multiple WDK's in the same machine ? I have 2 drivers.
driver1 -> needs 10.0.18362.1 (a)
driver2 -> needs 10.0.19041.0 (b)

if I install a and b. driver1 will no longer build.
With only a . driver 2 will not build.

(multiple SDK's iam able to install. only WDK problem)

I tried
I tried installing the WDK in a different path. But not sure how to give that path.

Any help will be greatly appreciated.

Thanks,
Phani

Comments

  • Mark_RoddyMark_Roddy Member - All Emails Posts: 4,427

    basically you can't do that.

    However what you can do is build using the EWDK for 18362 or whatever the exact version of the closest EWDK is for 'driver1' and build with Visual Studio and the installed 19041 WDK for driver2.

    But it actually shouldn't matter, both drivers should be able to build with either WDK, unless you have a CI/CD situation where a specific release branch has archived its toolchain requirements (as it should) and your development branch has moved forward to a new toolchain and you need to build both release branch versions and development versions on the same system.

    AFAIC production CI/CD systems building windows drivers should only use EWDK releases as that is the only tool chain that can be easily archived on a per branch basis.

  • Peter_Viscarola_(OSR)Peter_Viscarola_(OSR) Administrator Posts: 8,411

    production CI/CD systems building windows drivers should only use EWDK releases

    A proper and lofty goal. For the driver.

    The problem comes with all the OTHER stuff that’s part of your Solution. Test apps, management tools, UI.

    Peter

    Peter Viscarola
    OSR
    @OSRDrivers

  • Mark_RoddyMark_Roddy Member - All Emails Posts: 4,427

    not really a problem. Separate drivers (and win32 apps/services which can generally build with the EWDK) from other stuff that requires stuff like .net. Build them separately each using their own toolchain. The EWDK can coexist on the same system with a full VS install. In fact you can also build EWDK stuff entirely in a container, completely isolating it from your 'normal' dev environment.

  • phanikcsphanikcs Member Posts: 3

    Thank you Mark_Roddy and Peter_Viscarola_(OSR) for your comments. I will try with EWDK.

  • Dejan_MaksimovicDejan_Maksimovic Member - All Emails Posts: 430
    via Email
    What is the issue you have if you both WDKs installed?
    I have several SDKs and WDKs installed and drivers for different WDKs.

    There are issues with some WDK tools if multiple WDKs are installed..
    random ones.. tools would not get installed, etc.


    How can I install multiple WDK's in the same machine ? I have 2 drivers.
  • Mark_RoddyMark_Roddy Member - All Emails Posts: 4,427
    via Email
    It isn't the WDK itself that is the problem, it is the linkage between VS
    versions and specific WDKs. In general VS is not backwards compatible with
    WDK versions. So you can have side-by side installs of VS/WDK versions,
    but you also have to build using the correct VS/WDK combinations.

    On the other hand the EDWK is a complete toolchain and has none of that
    nonsense going on.

    Mark Roddy
  • Dejan_MaksimovicDejan_Maksimovic Member - All Emails Posts: 430
    via Email
    OK, that is different. But the OP mentioned that one of the drivers
    won't build.. but that would not be the case just because the WDKs
    cannot coexist. Even if he does not install the "other" WDK, one of
    the drivers just won't build due to VS version.

    > It isn't the WDK itself that is the problem, it is the linkage between VS
    > versions and specific WDKs. In general VS is not backwards compatible with
    > WDK versions. So you can have side-by side installs of VS/WDK versions,
    > but you also have to build using the correct VS/WDK combinations.
    >
    > On the other hand the EDWK is a complete toolchain and has none of that
    > nonsense going on.
  • Mark_RoddyMark_Roddy Member - All Emails Posts: 4,427
    via Email
    Yes, but the difference between can't build with multiple WDKs
    installed and cona't build with multiple WDKs installed eludes me :-)

    Also, I think starting with (one of the?) the WDK that came with VS 2017,
    that WDK because of a layout change broke prior WDK installs for other
    versions of VS.

    The rev-locked linkage is a fragile mess. Seriously, the EWDK resumes where
    the 'before the big integration WDKs' left off: a complete integrated
    toolchain with zero install complexity. Other than the pleasure of
    running/installing/updating the huge and sluggish VS IDE I have no clue why
    people insist on using the non WDK versions for CI/CD environments.

    Mark Roddy
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Upcoming OSR Seminars
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!
Developing Minifilters 24 May 2021 Live, Online
Writing WDF Drivers 14 June 2021 Live, Online
Internals & Software Drivers 2 August 2021 Live, Online
Kernel Debugging 27 Sept 2021 Live, Online