Restrict driver to non-Windows 10

Hello,

I have a USB serial (CDC) driver I’ve written and used for some time. I no longer need it for Windows 10 users, as the built-in driver works fine.
How do I mark it such that, on an upgrade, Windows will use its own driver instead of my driver? Right now, as I am signing it for earlier versions, they get issues with attestation signing.

Thanks!

James

Hmmmmm… I’m not aware of any way you can make the driver not install for a newer version of the OS if a user explicitly tries to install it.

You can, of course, check the OS version in DriverEntry, log an entry in the event log, and fail. That doesn’t seem like a great option.

If what you really care about is people using Windows Update (aka WU) and you want to automatically have that “do the right thing” that is certainly part of the process. You can set what are called “floor” and “ceiling” versions of Windows to which your driver applies.

But in terms of a normal INF, I’m not aware of any way it can refuse to install based on specific version limits.

Peter

How to do this is documented twowards the end of https://docs.microsoft.com/en-us/windows-hardware/drivers/install/inf-manufacturer-section

If you want an INF to explicitly exclude a specific operating system version, product type, or suite, create an empty INF Models section. For example, an empty section named [FooMfg.NTx86.6.0] prohibits installation on x86-based operating system versions 6.0 and higher.

1 Like

Thank you, Mr. Moreton!

I (obviously) had no clue this type of functionality was possible using section decorations in an INF.

Easy awesomeness.

Cool, but probably unhelpful for the OP though. if he had to develop a driver in the past, but now an in box one does the job, there will be an existing INF that does not have this section deployed into the wild. likely no easy way to go back in time and add that to the already released versions

Could you release a new INF only driver for Win10 using Windows update that had the blank section?