Recently I had a client who was unable to print to his local printer on his Windows 7 x64 bit machine from a Windows 2008 R2 x64 server. Checking the event viewer I could see that Windows was unable to find the driver for the Canon printer. Canon did not have a driver download for a Windows 7 machine or a x64 bit machine for that matter that I could find on their website.

To install the printer driver from the client’s machine i opened the registry and found this printer listed in the following registry key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Drivers\Version-3\

for x86 its located here:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Drivers\Version-3\

from there if you select the printer key you will see a string value for InfPath

It should give you a path to C:\Windows\System32\DriverStore\FileRepository\ and the corresponding folder the cached driver is in.

I copied the contents of that folder to the Terminal Server. From there I installed on the Server a local printer – Clicked’Have Disk..’ and selected the inf from the folder I copied to the Server.

As a test I logged into the Terminal Server with the users credentials and found that his local printer now redirects correctly. The only thing left to do was delete the dummy local printer we created and your golden.

Special thanks to Vittorio Pavesi for getting me on the right track.