Non-WHQL signed driver accepted by Vista but not XP. Why?

Discussion in 'Windows Vista Drivers' started by Peter Jaquiery, Nov 14, 2007.

  1. I have a non-WHQL USB device driver that we are signing successfully and
    installing using DIFxApp on Vista. When I run the same install against XP
    (x86) the driver files are installed, but the .cat file is not saved to
    catroot and the driver is not recognized as a signed driver, although it
    works correctly otherwise.

    If I perform a software first install on a cleanly installed XP system then
    plug in the hardware I get the new device wizard. On completing the wizard,
    if I examine the driver properties using device manager I notice that the
    driver is claimed to be not signed.

    If I plug the device into a clean XP system, cancel the wizard, then perform
    the install, the driver is installed for that device without the wizard
    coming up or any other interruptions to the install process. The device
    plugged in prior to the install is now available for use, although Device
    manager reports that the driver is not signed. If I subsequently plug in
    another device the new hardware wizard appears.

    In both cases DIFxApp seems to recognize the driver as a signed driver. From
    the install log:

    DIFXAPP: INFO: ENTER: DriverPackageInstallW
    DIFXAPP: INFO: x.inf: checking signature with catalog 'C:\Program
    Files\Common Files\x\x.cat' ...
    DIFXAPP: INFO: Driver package 'x.inf' is Authenticode signed.

    but in neither case is a new .cat file added to
    c:\WINDOWS\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}. However
    the TimeStamp file is updated during the install process and Wdf01005.cat is
    added.

    What do I need to do to fix this problem?
     
    Peter Jaquiery, Nov 14, 2007
    #1
    1. Advertisements

  2. You mix 2 kinds of signing: a) WHQL signing and b) Authenticode signing.

    You did only the second one. Yes, it is a must to load on Vista x64, but
    will give you nothing on XP except possibly the Digital Signature tab in Device
    Manager/Properties.

    For your driver to be ranked high and to be installed without bothering
    users with the UI, both on XP and Vista - WHQL is a must.
     
    Maxim S. Shatskih, Nov 14, 2007
    #2
    1. Advertisements

  3. You mix 2 kinds of signing: a) WHQL signing and b) Authenticode signing.

    Sorry, I didn't make it clear that our driver is not a "System-Supplied
    Device Setup Class" driver so it can not be WHQL signed. However I was led to
    understand that a custom class driver could be Authenticode signed and would
    then install without bringing up the add new hardware wizard on XP.

    I would expect at the very least that the XP device manager would show the
    driver as signed. Note that Vista recognizes the driver as signed during the
    install process and does show the driver as signed in its device manager.
     
    Peter Jaquiery, Nov 14, 2007
    #3
  4. Peter Jaquiery

    Ray Trent Guest

    There used to be a WHQL program for signing unclassified devices in XP.
    Nowadays, that role is taken over by DQS, which can sign any driver,
    regardless of class.

    However, I don't know off the top of my head whether or not the
    signatures apply to XP or not. That should be easy to determine with a
    quick search, though.
     
    Ray Trent, Nov 15, 2007
    #4
  5. What? "Unclassified" or "driver quality" signature is what you want,
    it is still WHQL and will still install silently on all OSes.
     
    chris.aseltine, Nov 15, 2007
    #5
  6. What is DQS?

    What quick search do you suggest (those I've tried haven't provided an
    answer)?

    Why does Vista recognize the driver as signed, but with the same installer
    run on XP the driver is not recognized as signed?
     
    Peter Jaquiery, Nov 15, 2007
    #6
  7. Peter Jaquiery

    Ray Trent Guest

    Driver Quality Signature
    "Driver Quality Signature" :)

    (seriously, though: http://www.microsoft.com/whdc/winlogo/drvsign/dqs.mspx)
    Because Vista has code to recognize Authenticode signatures on drivers
    and XP doesn't?
     
    Ray Trent, Nov 15, 2007
    #7
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.