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

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

Trying to get driver signed and infverif not liking the inf file I've used for years

David_F.David_F. Posts: 161
Hi,

Can anyone enlighten me one what the heck I need to do to get my drivers signed? Have emails in to Microsoft support, they just said, yeah, the infverif says problems, but didn't explain what the problem is. Below is a toaster example of the inf for the driver (for getting it signed, actual install of the driver doesn't use an .inf). The errors are:

"line 8: Missing directive CatalogFile required for digital signature."
"Line 10: Class "LegacyDriver" is reserved for use by Microsoft."

But, the two CatalogFile directives are there unless my eyes are lying or there is something new created out of thin air? Also, this driver is actually one that loads as a "LegacyDriver". It is not a plug-and-play driver. It also works on all Windows versions from NT4 through the latest Win10 versions. So any ideas? I'm sure others are going to run in to this problem. Thanks.

; toaster.inf
;
; Installation inf for the toaster Driver
;
; Copyright (c) Acme, Inc.
;

[Version]
Signature = "$Windows NT$"
Class = LegacyDriver
ClassGUID = {8ecc055d-047f-11d1-a537-0000f8753ed1}
Provider = %acme%
DriverVer = 08/05/2015,1.0.15.0
CatalogFile.NTx86 = toaster_x86.cat
CatalogFile.NTAMD64 = toaster_x64.cat


;
; General installation section
;

[DefaultInstall]
CopyFiles = @toaster.sys
Addreg = toaster.AddReg

[DestinationDirs]
DefaultDestDir = 12

[toaster.AddReg]
HKLM, "SYSTEM\CurrentControlSet\Services\toaster", "ErrorControl", 0x00010003, 1
HKLM, "SYSTEM\CurrentControlSet\Services\toaster", "Start", 0x00010003, 3
HKLM, "SYSTEM\CurrentControlSet\Services\toaster", "Type", 0x00010003, 1
HKLM, "SYSTEM\CurrentControlSet\Services\toaster\Parameters", "ToasterVal", 0x00010003, 4


[SourceDisksFiles]
toaster.sys=1

; Win2000

[SourceDisksNames]
1 = %diskid1%,,,\i386

; WinXP and later

[SourceDisksNames.x86]
1 = %diskid1%,,,\i386

[SourceDisksNames.amd64]
1 = %diskid1%,,,\amd64

;
; Localizable Strings
;

[Strings]

acme = "Acme, Inc."
service_desc = "Toaster Filter Driver"
diskid1 = "Acme, Inc. Installation Disk #1 (Toaster)"

Comments

  • Hmmm...

    <quote>
    "line 8: Missing directive CatalogFile required for digital signature."
    "Line 10: Class "LegacyDriver" is reserved for use by Microsoft."
    </quote>

    The only thing that I can think of is that INFVERIF hates your decorations? Have you tried creating a multi-architecture INF file?

    In terms of class, try just leaving it out. IIRC, you don't specify a class for a non-PnP INF.

    Peter
    OSR
    @OSRDrivers

    Peter Viscarola
    OSR
    @OSRDrivers

  • David_F.David_F. Posts: 161
    Using just a single "CatalogFile" makes it happy.

    But it doesn't like no class, "Missing Class directive"

    So get this, I just put in a "Class=" instead so now it complains that:

    "Class name and ClassGuid mismatch, expecting Class "LegacyDriver" for ClassGuid "{xxx}".

    So now in a catch 22.

    Any ideas?
  • Tim_RobertsTim_Roberts Posts: 12,620
    xxxxx@terabyteunlimited.com wrote:
    > Using just a single "CatalogFile" makes it happy.
    >
    > But it doesn't like no class, "Missing Class directive"
    >
    > So get this, I just put in a "Class=" instead so now it complains that:
    >
    > "Class name and ClassGuid mismatch, expecting Class "LegacyDriver" for ClassGuid "{xxx}".
    >
    > So now in a catch 22.
    >
    > Any ideas?

    Make one up.

        Class=NotReally
        ClassGuid={a-guid-that-you-create-with-uuidgen}

    --
    Tim Roberts, xxxxx@probo.com
    Providenza & Boekelheide, Inc.

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

  • Zac_LockardZac_Lockard Posts: 23
    Re: CatalogFile

    InfVerif didn't like this because [DefaultInstall] would install on any architecture, but you only had a CatalogFile for x86 and AMD64. If you change [DefaultInstall] to [DefaultInstall.NTAMD64], for example, then it would work (undecorating CatalogFile has the same effect). I would actually recommend that you decorate your [DefaultInstall] rather than undecorate the CatalogFile, since your binary will presumably not work on every single architecture. If you undecorate everything it will install everywhere, even on systems where it wouldn't function.

    Re:class
    Probably easiest to use System class.

    Class = System
    ClassGuid = {4d36e97d-e325-11ce-bfc1-08002be10318}

    -----Original Message-----
    From: xxxxx@lists.osr.com <xxxxx@lists.osr.com> On Behalf Of xxxxx@probo.com
    Sent: Tuesday, June 12, 2018 10:54 AM
    To: Windows System Software Devs Interest List <xxxxx@lists.osr.com>
    Subject: Re: [ntdev] Trying to get driver signed and infverif not liking the inf file I've used for years

    xxxxx@terabyteunlimited.com wrote:
    > Using just a single "CatalogFile" makes it happy.
    >
    > But it doesn't like no class, "Missing Class directive"
    >
    > So get this, I just put in a "Class=" instead so now it complains that:
    >
    > "Class name and ClassGuid mismatch, expecting Class "LegacyDriver" for ClassGuid "{xxx}".
    >
    > So now in a catch 22.
    >
    > Any ideas?

    Make one up.

        Class=NotReally
        ClassGuid={a-guid-that-you-create-with-uuidgen}

    --
    Tim Roberts, xxxxx@probo.com
    Providenza & Boekelheide, Inc.


    ---
    NTDEV is sponsored by OSR

    Visit the list online at: <https://na01.safelinks.protection.outlook.com/?url=http://www.osronline.com/showlists.cfm?list=ntdev&amp;data=02|01|[email protected]|42a6035325a141a8316508d5d08d8127|72f988bf86f141af91ab2d7cd011db47|1|0|636644228528642700&amp;sdata=3fCYrjs03G7e4ef1m+PT72g+mNvhaaWgOUTv1TLnx9s=&amp;reserved=0&gt;

    MONTHLY seminars on crash dump analysis, WDF, Windows internals and software drivers!
    Details at <https://na01.safelinks.protection.outlook.com/?url=http://www.osr.com/seminars&amp;data=02|01|[email protected]|42a6035325a141a8316508d5d08d8127|72f988bf86f141af91ab2d7cd011db47|1|0|636644228528642700&amp;sdata=p8XnETTgSCCsowqkmTZTS8hipL2NDyL9PrqzBMpkTto=&amp;reserved=0&gt;

    To unsubscribe, visit the List Server section of OSR Online at <https://na01.safelinks.protection.outlook.com/?url=http://www.osronline.com/page.cfm?name=ListServer&amp;data=02|01|[email protected]ft.com|42a6035325a141a8316508d5d08d8127|72f988bf86f141af91ab2d7cd011db47|1|0|636644228528642700&amp;sdata=5i/ovIkZV4f/gdpmIbrC2P1TnIhTidVxupgAU4QzQw8=&amp;reserved=0&gt;
  • David_F.David_F. Posts: 161
    Thanks for everyone for the feedback. This new version makes everyone happy:

    ; toaster.inf
    ;
    ; Installation inf for the toaster Driver
    ;
    ; Copyright (c) Acme, Inc.
    ;

    [Version]
    Signature = "$Windows NT$"
    Class = System
    ClassGuid = {4d36e97d-e325-11ce-bfc1-08002be10318}
    Provider = %acme%
    DriverVer = 08/05/2015,1.0.15.0
    CatalogFile.NTx86 = toaster_x86.cat
    CatalogFile.NTAMD64 = toaster_x64.cat


    ;
    ; General installation section
    ;

    [DefaultInstall.NTx86]
    CopyFiles = @toaster.sys
    Addreg = toaster.AddReg

    [DefaultInstall.NTAMD64]
    CopyFiles = @toaster.sys
    Addreg = toaster.AddReg

    [DestinationDirs]
    DefaultDestDir = 12

    [toaster.AddReg]
    HKLM, "SYSTEM\CurrentControlSet\Services\toaster", "ErrorControl", 0x00010003, 1
    HKLM, "SYSTEM\CurrentControlSet\Services\toaster", "Start", 0x00010003, 3
    HKLM, "SYSTEM\CurrentControlSet\Services\toaster", "Type", 0x00010003, 1
    HKLM, "SYSTEM\CurrentControlSet\Services\toaster\Parameters", "ToasterVal", 0x00010003, 4


    [SourceDisksFiles]
    toaster.sys=1

    ; Win2000

    [SourceDisksNames]
    1 = %diskid1%,,,\i386

    ; WinXP and later

    [SourceDisksNames.x86]
    1 = %diskid1%,,,\i386

    [SourceDisksNames.amd64]
    1 = %diskid1%,,,\amd64

    ;
    ; Localizable Strings
    ;

    [Strings]

    acme = "Acme, Inc."
    service_desc = "Toaster Filter Driver"
    diskid1 = "Acme, Inc. Installation Disk #1 (Toaster)"
  • David_F.David_F. Posts: 161
    And just for the record for the MSFT guys, the link at the top of the page for "support" in the dev hardware dashboard was a nice thing to have, figured it was specific to that portal (perhaps to the sysdev team), only it must not since the final response to the same question I asked here was:

    "Please understand same checking on server side is implemented since around end of April 2018.
    I don't know why this is implemented.
    Since we are NOT technical support, please contact professional support when you need assistance.
    There is nothing I can do here.
    Sorry for inconvenience."
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!