Driver Installation issues

We have been installing a driver using the .inf file for several years for a PCIe board no problems for a Windows 10 IoT (1809) embedded setup.

When we tried to install today we are getting the error message “the install class is not present or is invalid”.

First off, I cannot find anything on an “install class”. Is this something to do with the inf files (tested install on existing setup and it was fine) or the Windows image?

*I did try and google the issue but can find nothing of use

It’s the “Class=” line in the “[Version]” section of your INF. What does the Version section look like?

@Tim_Roberts said:
It’s the “Class=” line in the “[Version]” section of your INF. What does the Version section look like?

Ah thank you. Here is the Version section

[Version]
Signature=“$WINDOWS NT$”
Class=Sample ; TODO: edit Class
ClassGuid={78A1C341-4539-11d3-B88D-00C04FAD5171} ; TODO: edit ClassGuid
Provider=%ManufacturerName%
CatalogFile=evio.cat
DriverVer=1.0 ; TODO: set DriverVer in stampinf property pages
`

*Update

Doing a Google search for “inf version section” yielded this.

https://learn.microsoft.com/en-us/windows-hardware/drivers/install/inf-version-section

Which describes what is meant by install class and after digging around a bit more I did the following

I then imported the key with the Guid described in “ClassGuid” in the post above from

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class

On a machine with driver installed and operational into the same registry location on the machine that threw the “the install class is not present or is invalid” error when trying to install.

Reboot the machine and we can now install the driver.

Thank you for guiding me in the right direction.

Note the “todo:” that tells you to edit the class and the Class GUID? You should really do that.

I’m surprised the installer will even install things in “Sample” on a system that’s nits running the debugger.

Yes. I’m disturbed by how many PCI drivers are called “PLX9X5X”, or how many video capture drivers are called “avshws”, or how many USB drivers are called “osrfx2”. For cripes sake, when you copy a sample, the FIRST thing you should do is rebrand it.

@“Peter_Viscarola_(OSR)” said:
Note the “todo:” that tells you to edit the class and the Class GUID? You should really do that.

I’m surprised the installer will even install things in “Sample” on a system that’s nits running the debugger

@Tim_Roberts said:
Yes. I’m disturbed by how many PCI drivers are called “PLX9X5X”, or how many video capture drivers are called “avshws”, or how many USB drivers are called “osrfx2”. For cripes sake, when you copy a sample, the FIRST thing you should do is rebrand it.

Yes. Caught red handed. I thought you might notice that. Class GUID was updated. TODO was not taken out. DriverVer also stands out.

PCI driver name was changed from “PLX9X5X” though.

I just bought a three year EV signing certificate. Can I change “Class” to what I want and resign drivers?

You can resign as much as you want. Be sure to register your new certificate with your Dashboard account before you submit.

@“Peter_Viscarola_(OSR)” said:
I’m surprised the installer will even install things in “Sample” on a system that’s nits running the debugger.

We stopped signing drivers in the Sample class this year, but I didn’t make any client change since I’m sure that’s going to break a lot of things

@Zac_Lockard said:

@“Peter_Viscarola_(OSR)” said:
I’m surprised the installer will even install things in “Sample” on a system that’s nits running the debugger.

We stopped signing drivers in the Sample class this year,

Show off.