Print driver installs failing

11,251

One of the weirder problems I have dealt with before, for sure. We have a network share filled with driver files added to the DevicePath value under HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion. One of the driver packages that was recently added had an ntprint.inf file in it. The failing driver installs had an include line for ntprint.inf, and instead of using the local one in C:\Windows\INF, it was choosing one in our network driver store. I renamed the other ntprint.inf files to force it to use the one in C:\Windows\INF.

Share:
11,251

Related videos on Youtube

Kasius
Author by

Kasius

Updated on September 18, 2022

Comments

  • Kasius
    Kasius over 1 year

    All of the Windows 7 64-bit Enterprise machines in my organization are failing to install a good number of printer drivers that previously installed without issue. This only happens with printer drivers. And not with all printer drivers. Just some. Network drivers, video drivers, etc. have had no problems.

    Here is part of setupapi.dev.log for a Dymo LabelWriter printer driver that is failing to install:

     dvi:      {Plug and Play Service: Device Install for USBPRINT\DYMOLABELWRITER_450_TURBO\6&538F51D&0&USB001}
     ump:           Creating Install Process: DrvInst.exe 09:36:58.071
     ndv:           Infpath=C:\Windows\INF\oem0.inf
     ndv:           DriverNodeName=dymo.inf:DYMO.NTamd64.6.0:LW_450_TURBO_VISTA:8.1.0.363:usbprint\dymolabelwriter_450_aa08
     ndv:           DriverStorepath=C:\Windows\System32\DriverStore\FileRepository\dymo.inf_amd64_neutral_3a631b118b7a5828\dymo.inf
     ndv:           Building driver list from driver node strong name...
     dvi:           Searching for hardware ID(s):
     dvi:                usbprint\dymolabelwriter_450_aa08
     dvi:                dymolabelwriter_450_aa08
     inf:           Opened PNF: 'C:\Windows\System32\DriverStore\FileRepository\dymo.inf_amd64_neutral_3a631b118b7a5828\dymo.inf' ([strings])
     dvi:           Selected driver installs from section [LW_450_TURBO_VISTA] in 'c:\windows\system32\driverstore\filerepository\dymo.inf_amd64_neutral_3a631b118b7a5828\dymo.inf'.
     dvi:           Class GUID of device changed to: {4d36e979-e325-11ce-bfc1-08002be10318}.
     dvi:           Set selected driver complete.
     ndv:           {Core Device Install} 09:36:58.133
     inf:                Opened INF: 'C:\Windows\INF\oem0.inf' ([strings])
     inf:                Saved PNF: 'C:\Windows\INF\oem0.PNF' (Language = 0409)
     dvi:                {DIF_ALLOW_INSTALL} 09:36:58.164
     dvi:                     Using exported function 'ClassInstall32' in module 'C:\Windows\system32\ntprint.dll'.
     dvi:                     Class installer == ntprint.dll,ClassInstall32
     dvi:                     No CoInstallers found
     dvi:                     Class installer: Enter 09:36:58.164
     dvi:                     Class installer: Exit
     dvi:                     Default installer: Enter 09:36:58.180
     dvi:                     Default installer: Exit
     dvi:                {DIF_ALLOW_INSTALL - exit(0xe000020e)} 09:36:58.180
     ndv:                Installing files...
     dvi:                {DIF_INSTALLDEVICEFILES} 09:36:58.180
     dvi:                     Class installer: Enter 09:36:58.180
     inf:                          Opened INF: 'C:\Windows\System32\DriverStore\FileRepository\dymo.inf_amd64_neutral_3a631b118b7a5828\dymo.inf' ([strings])
     inf:                          Opened INF: 'C:\Windows\System32\DriverStore\FileRepository\dymo.inf_amd64_neutral_3a631b118b7a5828\dymo.inf' ([strings])
     !!!  dvi:                     Class installer: failed(0x00000490)!
     !!!  dvi:                     Error 1168: Element not found.
     dvi:                {DIF_INSTALLDEVICEFILES - exit(0x00000490)} 09:37:22.063
     ndv:                Device install status=0x00000490
     ndv:                Performing device install final cleanup...
     !    ndv:                Queueing up error report since device installation failed...
     ndv:           {Core Device Install - exit(0x00000490)} 09:37:22.063
     dvi:           {DIF_DESTROYPRIVATEDATA} 09:37:22.063
     dvi:                Class installer: Enter 09:37:22.063
     dvi:                Class installer: Exit
     dvi:                Default installer: Enter 09:37:22.063
     dvi:                Default installer: Exit
     dvi:           {DIF_DESTROYPRIVATEDATA - exit(0xe000020e)} 09:37:22.063
     ump:           Server install process exited with code 0x00000490 09:37:22.063
     ump:      {Plug and Play Service: Device Install exit(00000490)}
    

    Notice these lines in particular:

     !!!  dvi:                     Class installer: failed(0x00000490)!
     !!!  dvi:                     Error 1168: Element not found.
     dvi:                {DIF_INSTALLDEVICEFILES - exit(0x00000490)} 09:37:22.063
     ndv:                Device install status=0x00000490
    

    From what I have read, the "Element not found" error should be accompanied by an event describing what element was not found.

    The error that appears in Device Manager is "The driver cannot be installed because it is either not digitally signed or not signed in the appropriate manner."

    It appears to be signed fine though. It has an accompanying .CAT file and worked previously. And when installing, the following messages are logged in setupapi.dev.log:

     sto:                     {DRIVERSTORE_IMPORT_NOTIFY_VALIDATE} 09:36:56.277
     inf:                          Opened INF: 'C:\Windows\System32\DriverStore\Temp\{272e2305-961c-7942-9ede-966f01047043}\dymo.inf' ([strings])
     sig:                          {_VERIFY_FILE_SIGNATURE} 09:36:56.292
     sig:                               Key      = dymo.inf
     sig:                               FilePath = C:\Windows\System32\DriverStore\Temp\{272e2305-961c-7942-9ede-966f01047043}\dymo.inf
     sig:                               Catalog  = C:\Windows\System32\DriverStore\Temp\{272e2305-961c-7942-9ede-966f01047043}\DYMO.CAT
     sig:                               Success: File is signed in catalog.
     sig:                          {_VERIFY_FILE_SIGNATURE exit(0x00000000)} 09:36:56.355
     sto:                          Validating driver package files against catalog 'DYMO.CAT'.
     sto:                          Driver package is valid.
     sto:                     {DRIVERSTORE_IMPORT_NOTIFY_VALIDATE exit(0x00000000)} 09:36:56.402
     sto:                     Verified driver package signature:
     sto:                          Digital Signer Score = 0x0D000005
     sto:                          Digital Signer Name  = Microsoft Windows Hardware Compatibility Publisher
    

    Now here's where it gets strange. If I take it off the domain, it installs fine. But it doesn't seem to have anything to do with Group Policy. I moved the machine to an OU that blocks inheritance, ran a gpupdate, ran rsop.msc to verify, and tried again. And it still didn't work. Likewise, I removed a machine from the domain, manually set all of the domain Group Policy settings in gpedit.msc, and tried that way, and it worked fine. So it seems like the Group Policy settings are irrelevant. What other domain-related issue could be causing this though?

    Any ideas on what to try next would be greatly appreciated. I'm not sure where to go from here.

    Thanks!

    • WhoIsRich
      WhoIsRich over 11 years
      As a long shot, could it be trying to validate the certificate against something on the domain? Maybe try disabling the network adapter before installing the driver on the domain PC, and / or monitoring the traffic with WireShark to see what the differences are.
    • Kasius
      Kasius over 11 years
      One step closer! Disabling the network adapter caused it to install without issue as well. I'm looking through the Wireshark log to see if I can find anything noticeable.
    • WhoIsRich
      WhoIsRich over 11 years
      If you have a CA service setup, worth checking it's running, and the certificates are valid. You can do a basic locate and check at the PC command line with "certutil -config - -ping" and pressing OK on the popup box.
    • Kasius
      Kasius over 11 years
      See the answer I posted. It had to do with our network drivers store. The Wireshark log was actually what finally got me pointed in the right direction. Thanks a ton for the help!
    • WhoIsRich
      WhoIsRich over 11 years
      Ahaa, didn't see that, happy you got it sorted :)
  • Kasius
    Kasius over 11 years
    Point and Print Restrictions are already set to "Disabled". I should mention this is a local USB printer, not a network printer.