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!
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
.
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.
User contributions licensed under CC BY-SA 3.0