I've been working on a new print server that's running Windows Server 2012 R2, and I've found that Windows 7 x64 clients are unable to add any shared printer that is using a Type 4 print driver. The add printer wizard stops at "Finishing the Installation"
and pops up the error "Windows cannot connect to the printer", "Operation failed with error 0x00000002".
Windows 7 x86 clients and Windows 8.1 x64 work fine. Windows 10 x64 works as well.
I've been looking around online and here for a possible solution, but I've not been able to locate one. I've seen some mentions of removing and re-installing the enhanced point and print driver, but I can't figure out how to do that. I've also
seen people suggest going into Group Policy and changing the point and print policy setting to Disabled. I tried that recently on a test machine and it has not worked.
So, I decided to start up Procmon and have it capturing while I tried to add one of the printers and see if anything jumped out at me. I wasn't sure exactly what to look for, so I didn't set any particular filters. I just let it run, tried to
add a printer, then stopped the capture when it failed and scrolled through to see. The only thing of interest I saw was a buffer overflow when querying a registry value:
Event Class:Registry
Operation:RegQueryValue
Result:BUFFER OVERFLOW
Path:HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Providers\Client Side Rendering Print Provider\Servers\ECE-PRINT-02.ece.ncsu.edu\Monitors\Client Side Port\{CDF9D151-00CC-45A7-BD31-64EB193C7450}\PrinterPath
After some more searching around online I found a blog post about an unrelated printer issue that mentioned looking at C:\Windows\inf\setupapi.app.log. In there I found some entries and errors at the time I had tried adding one of the printers.
>>> [SetupInstallFilesFromInfSection - MS_UNISHARE]
>>> Section start 2015/08/05 12:44:32.031
cmd: C:\Windows\System32\spoolsv.exe
<<< Section end 2015/08/05 12:44:32.031
<<< [Exit status: SUCCESS]
>>> [SetupInstallFilesFromInfSection - XPSDRV.OEM]
>>> Section start 2015/08/05 12:44:32.031
cmd: C:\Windows\System32\spoolsv.exe
<<< Section end 2015/08/05 12:44:32.031
<<< [Exit status: SUCCESS]
>>> [SetupScanFileQueue]
>>> Section start 2015/08/05 12:44:32.031
cmd: C:\Windows\System32\spoolsv.exe
<<< Section end 2015/08/05 12:44:32.047
<<< [Exit status: SUCCESS]
>>> [SetupScanFileQueue]
>>> Section start 2015/08/05 12:44:32.047
cmd: C:\Windows\System32\spoolsv.exe
<<< Section end 2015/08/05 12:44:32.047
<<< [Exit status: SUCCESS]
>>> [SetupInstallFilesFromInfSection - MS_UNISHARE]
>>> Section start 2015/08/05 12:44:32.047
cmd: C:\Windows\System32\spoolsv.exe
<<< Section end 2015/08/05 12:44:32.047
<<< [Exit status: SUCCESS]
>>> [SetupInstallFilesFromInfSection - XPSDRV.OEM]
>>> Section start 2015/08/05 12:44:32.047
cmd: C:\Windows\System32\spoolsv.exe
<<< Section end 2015/08/05 12:44:32.047
<<< [Exit status: SUCCESS]
>>> [SetupInstallFromInfSection - MS_UNISHARE]
>>> Section start 2015/08/05 12:44:32.047
cmd: C:\Windows\System32\spoolsv.exe
<<< Section end 2015/08/05 12:44:32.047
<<< [Exit status: SUCCESS]
>>> [SetupScanFileQueue]
>>> Section start 2015/08/05 12:44:32.047
cmd: C:\Windows\System32\spoolsv.exe
! sig: Verifying file against catalog 'prnms003.cat' failed.
! sig: Error 3: The system cannot find the path specified.
! sig: Verifying file against catalog 'prnms003.cat' failed.
! sig: Error 3: The system cannot find the path specified.
! sig: Verifying file against catalog 'prnms003.cat' failed.
! sig: Error 3: The system cannot find the path specified.
! sig: Verifying file against catalog 'ntprint.cat' failed.
! sig: Error 3: The system cannot find the path specified.
<<< Section end 2015/08/05 12:44:32.156
<<< [Exit status: SUCCESS]
flq: CopyFile: 'C:\Windows\System32\DriverStore\FileRepository\prnms003.inf_amd64_neutral_02291d7288731918\Amd64\unishare-pipelineconfig.xml'
flq: to: 'C:\Windows\system32\spool\DRIVERS\x64\{A4192425-2080-4710-AF79-AF6D115FEED4}\SET73C3.tmp'
flq: MoveFile: 'C:\Windows\system32\spool\DRIVERS\x64\{A4192425-2080-4710-AF79-AF6D115FEED4}\SET73C3.tmp'
flq: to: 'C:\Windows\system32\spool\DRIVERS\x64\{A4192425-2080-4710-AF79-AF6D115FEED4}\unishare-pipelineconfig.xml'
flq: CopyFile: 'C:\Windows\System32\DriverStore\FileRepository\prnms003.inf_amd64_neutral_02291d7288731918\Amd64\unishare.gpd'
flq: to: 'C:\Windows\system32\spool\DRIVERS\x64\{A4192425-2080-4710-AF79-AF6D115FEED4}\SET73C4.tmp'
flq: MoveFile: 'C:\Windows\system32\spool\DRIVERS\x64\{A4192425-2080-4710-AF79-AF6D115FEED4}\SET73C4.tmp'
flq: to: 'C:\Windows\system32\spool\DRIVERS\x64\{A4192425-2080-4710-AF79-AF6D115FEED4}\unishare.gpd'
flq: CopyFile: 'C:\Windows\System32\DriverStore\FileRepository\prnms003.inf_amd64_neutral_02291d7288731918\Amd64\PrintConfig.dll'
flq: to: 'C:\Windows\system32\spool\DRIVERS\x64\{A4192425-2080-4710-AF79-AF6D115FEED4}\SET73C5.tmp'
flq: MoveFile: 'C:\Windows\system32\spool\DRIVERS\x64\{A4192425-2080-4710-AF79-AF6D115FEED4}\SET73C5.tmp'
flq: to: 'C:\Windows\system32\spool\DRIVERS\x64\{A4192425-2080-4710-AF79-AF6D115FEED4}\PrintConfig.dll'
flq: CopyFile: 'C:\Windows\System32\DriverStore\FileRepository\ntprint.inf_amd64_neutral_e8fcb2dca56ca9f9\Amd64\MXDWDRV.DLL'
flq: to: 'C:\Windows\system32\spool\DRIVERS\x64\{A4192425-2080-4710-AF79-AF6D115FEED4}\SET73F5.tmp'
flq: MoveFile: 'C:\Windows\system32\spool\DRIVERS\x64\{A4192425-2080-4710-AF79-AF6D115FEED4}\SET73F5.tmp'
flq: to: 'C:\Windows\system32\spool\DRIVERS\x64\{A4192425-2080-4710-AF79-AF6D115FEED4}\MXDWDRV.DLL'
At this point I'm not sure where else to check for more information. If anyone has any suggestions for other logs or events to check, or filters to set and specific things to look for in Procmon, let me know.