Windows – How to identify a specific printer driver you are using in Windows 10

driversprinterwindows 10

I have to add a printer to a laptop. Other windows 10 units have the printer installed already (for a long time). Hp no longer supports this old printer (laserjet 5) and so it has recently been removed from the default install list or windows update. I would like to harvest the driver from the units that are already working and put it on the other windows 10 64bit that doesn't and can't get it. How can I identify which driver I'm using out of the hundreds present in the repository folder (“C:\Windows\System32\DriverStore\FileRepository”.)? I do not want to have to buy software to do this and the target machine is Windows 10 Home (cannot import using printermanagement).

HP in cahoots with MS dropped this from the default printer install list sometime in the last 6 months (See most recent comments noting this disappearance):

https://h30434.www3.hp.com/t5/Printer-Software-and-Drivers/hp-laserjet-5-printer-driver-for-windows-10/td-p/5557309

https://h30434.www3.hp.com/t5/LaserJet-Printing/HP-Laserjet-5-printer-driver-for-Windows-10-ver-1803-not/td-p/6761697

Update 3 December 2018: So far, the furthest progress I've made has been with CraftyB's answer. Here is the output from his PowershellOutput instructions. It identified the .inf file for my printer as prnhp001.inf. I don't think this is a "default driver" as some have suspected. Also perhaps worth noting is this is purely a network printer on my home network.

Update — Mission Complete. Using CraftyB's answer, I took the entire folder indicated in the "InfPath" results of his 2nd block of code and browsed there at the "Have Disk" prompt during install and it worked. For those who many not have a working pc to harvest the driver from in order to get their laserjet5 working on Windows 10, I provide them here.

Best Answer

I would personally suggest trying to use powershell:

Identify the name of the printer by using this cmdlet:

get-printer

This will list the names of the printer and the corresponding driver.

Now to use the printer name to get the driver locations:

$Printer = get-printer <name of printer> | Select *
get-printerdriver $printer.drivername | select *

Replace name of printer and remove the angle brackets, if the name has a space in it please put in double quotes - "name of printer".

This will produce a list that will show you the locations of the drivers and dependant files under the following properties:

Path
DependentFiles
InfPath

To get the full list of dependant files:

Get-PrinterDriver $Printer.DriverName | Select DependentFiles -ExpandProperty DependentFiles

The below is a script that will copy all the files above, you just need to insert the name of printer and it will put the files into "c:\DriverBackup\'name of printer'".

$PrinterName = "Name of printer"

$DriverBackupLocation = "c:\DriverBackup\$PrinterName"

mkdir $DriverBackupLocation

$Printer = Get-Printer $PrinterName | Select *
$PrinterDriver = Get-PrinterDriver $Printer.DriverName | Select *

Copy-Item -path ($PrinterDriver.InfPath | Split-Path -Parent) -Destination $DriverBackupLocation -Recurse
Related Question