It's possible, during an OS Upgrade (to 1903), that the INF did
not get re-applied to the OS. The drivers may be getting
reinstalled, after Windows is moved to Windows.old . A new
Windows folder is built. Something has to put drivers in it.
Maybe only certain driver installation formats are supported.
(The OS likes to cache .msi files perhaps.) I don't know
if "bare" INF files receive as good coverage. They should,
realistically speaking. There should be a feature for that,
because it's a basic way that Device Manager has of installing
a driver. Is the signing "right" for that, on an older
driver ? Who knows. They've switched to SHA2 only very
recently for Windows Update, but that isn't likely to
apply to drivers - with drivers it's more likely to be
"signing" with some sort of certificate, as proof of purchase.
I think that was a problem for SpeedFan at one time. You
couldn't install giveio.sys in an x64 system, unless
the driver was "signed". The author of SpeedFan then
had to set about getting a certificate for signing,
so this would still work. Giveio was some means
of "punching thru" the Ring 3 to Ring 0 area,
so the fan speed registers could be written.
Companies like Asus got around this, by using an ACPI
driver (ATK0110), so they could have direct access
to hardware. And the BIOS would present an item as
an ACPI object in a BIOS table.
It's possible no changes are necessary to the driver
code, and merely "re-packaging" the driver installer
would fix it.
Some of the Promise storage cards, had dreadful drivers.
Because they required the INF method for everything.
And that's about the lowest form of support the OS
has. It takes a *lot* of practice, to become "good"
with Promise drivers. Like switching between RAID
and non-RAID drivers on a 378. Very hard to figure out
and do (hard to tell which driver is currently
installed and what to do next). And with no documentation
of note, you had to figure this stuff out on your own.
With packaged drivers, the OS seems to do a better job.
Paul