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

Home NTDEV

Before Posting...

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

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/


Driver Installation issues

rob18767rob18767 Member Posts: 72
edited June 20 in NTDEV

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

Comments

  • Tim_RobertsTim_Roberts Member - All Emails Posts: 14,718

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

    Tim Roberts, [email protected]
    Providenza & Boekelheide, Inc.

  • rob18767rob18767 Member Posts: 72

    @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
    `

  • rob18767rob18767 Member Posts: 72

    *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.

  • Peter_Viscarola_(OSR)Peter_Viscarola_(OSR) Administrator Posts: 9,131

    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.

    Peter Viscarola
    OSR
    @OSRDrivers

  • Tim_RobertsTim_Roberts Member - All Emails Posts: 14,718

    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.

    Tim Roberts, [email protected]
    Providenza & Boekelheide, Inc.

  • rob18767rob18767 Member Posts: 72

    @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?

  • Tim_RobertsTim_Roberts Member - All Emails Posts: 14,718

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

    Tim Roberts, [email protected]
    Providenza & Boekelheide, Inc.

  • Zac_LockardZac_Lockard Member - All Emails Posts: 60

    @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

  • rob18767rob18767 Member Posts: 72
    edited June 30

    @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.

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. Sign in or register to get started.

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!
Kernel Debugging 13-17 May 2024 Live, Online
Developing Minifilters 1-5 Apr 2024 Live, Online
Internals & Software Drivers 11-15 Mar 2024 Live, Online
Writing WDF Drivers 26 Feb - 1 Mar 2024 Live, Online