There is a print server on a 32-bit Windows version (Windows Server 2003) with several shared HP printers. When trying to connect to a printer on this server from a 64-bit client (Windows 7), the client downloads the necessary printer driver from this print server, but fails to install it with the error 0x0000007E:
Error 0x0000007e appears only on 64-bit clients when trying to connect to a shared network Hewlett Packard printer installed on a 32-bit print server (running on Windows Server 2003 x86 or Windows Server 2008 x86). Typically, the problem appears not with all HP printers, but only with those using HP Universal Print driver.
First of all, you have to check that both a 32- and a 64-bit driver versions are installed on the print server. As we can see, x64 and x86 versions of HP Universal Printing PCL 6 are installed.
Having looked through HP and Technet forums, it has been found that the Universal HP Printing driver settings use a path to a spooler file for a 32-bit system (spool\drivers\w32x86\3), which a 64-bit client is unable to find, so error 0x0000007e appears. The file path is specified in the printer settings on the print server. In our case, it has been spool\DRIVERS\W32X86\3\hpcpn112.dll, but a library file name depends on the Universal HP Printing driver version.
To solve this problem on a 32-bit print server:
- Open the Registry Editor (regedit.exe)
- Go to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\ and expand the branch with the printer name (In our case, it is HP Color LaserJet 5550 PCL 6)
- In the branch of the printer that has faced the problem, delete BIDI branch in CopyFiles section.
- Restart the spooler on the client:
net stop spooler
net start spooler
- Try to connect an HP printer on the client. It should be installed without any errors.