1

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!

5
  • 1
    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.
    – WhoIsRich
    Sep 25, 2012 at 13:14
  • 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.
    – Kasius
    Sep 25, 2012 at 14:03
  • 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.
    – WhoIsRich
    Sep 25, 2012 at 16:01
  • 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!
    – Kasius
    Sep 25, 2012 at 16:27
  • Ahaa, didn't see that, happy you got it sorted :)
    – WhoIsRich
    Sep 25, 2012 at 16:52

2 Answers 2

2

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.

0

Have you set the 'Point and Print Restrictions' policy settings for Vista / Windows 7 ? You either need to disable it, or enable and add print servers that are authorized.

Group Policy, BOTH in Computer Configuration and User Configuration: Policies, Administrative Templates, Control Panel, Printers, Point and Print Restrictions.

You will need a 2008 DC or import updated templates to see this option.

1
  • Point and Print Restrictions are already set to "Disabled". I should mention this is a local USB printer, not a network printer.
    – Kasius
    Sep 24, 2012 at 16:23

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .