Recently we've starting moving to Windows 7 x64 clients at work, especially for the newer computers. Of course, we still have the Windows Server 2003 R2 that I installed earlier. However, my users complained to me that they couldn't print when logged on to the server remotely, eventhough we've been using this setup since last year and we've not had problems before.
After looking at the system logs, I realized that the printer driver was missing. The Windows Server is a 32-bit system, while our new clients are 64-bit. Not a problem, so I installed the x64 printer drivers onto the server. Still not found...
After fiddling some more, I noticed the server has our Canon printers listed as "Canon iP3600", which is the driver that came bundled with the printer, while the Windows 7 clients have it as "Canon Inkjet iP3600", which is the driver that came with Windows. And since the names don't match, driver installation didn't work. I also couldn't just install the Windows 7 drivers onto the server though, since terminal services expects drivers to be pre-installed before they can be used.
This would probably have been easier if I had set my server up with a print server role, but I didn't, and I didn't want to kick all my users out to install a role. So I fired up the Remote Administration Tools for Windows 7, and added the x64 printer driver that came with Windows 7 onto the server.
That still didn't work, then I realized since the server is actually 32-bit, I need to install the 32-bit drivers and not the 64-bit drivers. Unfortunately, the 32-bit drivers only comes with Windows 7 x86, and there didn't seem to be any other way of doing this, short of running the Remote Administration Tools from a 32-bit Windows 7 installation.
Finally, after another hour of installing Windows 7 x86 just to install a printer driver. I now have four different printer drivers on the Windows server for the same printer, and everyone's happy.