1

A network of 8 Windows workgroups contains workstations with

  • MS Windows 98 32 bit
  • MS Windows Vista 32 bit
  • MS Windows 7 32 bit
  • MS Windows 7 64 bit
  • MS Windows XP SP3 32 bit
  • MS Windows XP SP 3 64 bit

This network is over many rooms in a few buildings, each room has 2-4 workstations with 1-4 network printers connected/plugged through PCs to athe network.

All users from their workstations are running a common shared application through terminal services (or remote desktops) on MS Windows 2003 Sever 64 bit. So, having entered remotely into the Windows 2003 64 bit terminal session, the users are printing to nearby network printer in his room but has to be able to choose and print to any of network printers (for the cases of printer failures).

In other words, any user (of any computer) should be able to print through (remote desktops/terminal session of) another computer to any network printer connected to a 3d computer

I'd like to understand which network drivers to which operating systems should I install and in which computers.

Suppose, I have separate network printer's driver for each of indicated above Windowses and I plug a network printer to a workstation with Windows 7 64 bit and need to be able to print from a computer with "MS Windows XP SP3 32 bit" both from it "directly" and from remote desktop on Windws 2003 64 bit

Update:
There are always 3 computers involved (giving in different combinations):

  • (A) a Client - computer from which a user creates a printing job (Windows XP, Windows Vista, Windows 7 of 32 and 64 bits, mostly 32 bits) or connects to a terminal session on (B) from which is printing;
  • (B) the Server - machine where user from (A) works in terminal session (remote desktop);
  • (C) a Printing Computer - machine to which printer is attached ((Windows XP, Windows Vista, Windows 7 of 32 and 64 bits, mostly 32 bits)

If Client (A) prints to the printing machine (C) for the first time, he is offered and/or has to install corresponding printing driver on client (A) from machine (C) if everything for that printer was already installed and present on Printing computer (C).

And if client (A) prints from terminal session (remote desktop) on Server (B)?
Server (B) is just terminal and file sharing server, it just shares accesses and printers.
Also, note that it is in workgroup

So, if printing is from (A) without entering remote desktop on (B), computer (A) should install the corresponding printer driver in (A) from (C), corresponding to configuration (32/64 bit, Windows 98/7/XP/Vista) of its own machine (A).

And if (A) prints from terminal session (remote desktop) on computer (B)?

It is all good if everything is being detected and done automatically.
But sh*t happens and I'd like to understand what to uninstall, instal, reinstall where and what are the differences of drivers installed on printing machine (C), Client (A) and intermediary (B)

The question is about correcting incorrect installs, changing printers in case of malfunctioning, etc...

3 Answers3

2

Since your clients are accessing the program through terminal services, by default it should be accessing the printers that are setup on the server end of the session, not the local (client) end. As such you can setup all the printers on the server, using the drivers for Windows Server 2003 64bit, and then install printers per-user via the domain profile, and script it to install the printer into their terminal session (or configure the terminal session to already have that printer).

Assuming all of the work is done through the terminal service (remote desktop/RDP) session, you don't need any printers installed on the local systems at all.

BloodyIron
  • 2,041
2

You have an enormous number of Windows versions, potentially each with its own printer that it shares on the network, with apparently the requirement that every computer be capable of printing on any printer.

The problem here is that for one computer to be able to print on a printer located on another computer, it needs to have locally installed a driver for that printer. This means that both the computers involved in the operation must have installed drivers for the printer : The server where the printer is physically attached and shared, as well as the client computer that is doing the printing.

This is complicated by the fact that driver-models have evolved across Windows versions, so that Windows 95/98 is incompatible with XP, while both are incompatible with Vista/7. Not to mention that 32-bit and 64-bit Windows versions are also incompatible.

In theory, just connecting to a shared printer automatically installs the driver. In practice, this doesn't work if the computer hosting the printer doesn't have the right driver. For example, you cannot expect an XP computer to have available the right driver for Windows 7; or even for a 32-bit XP computer to have available the right driver for 64-bit XP.

Therefore, if connecting to a shared printer didn't automatically install the driver, you have to do that manually. The methods possible are:

  1. Use the Add Printer applet
    Specify the printer's exact model and let Windows either get the driver from its installation CD, or let Windows search and download it automatically from the Microsoft website
  2. Download the right driver from the printer manufacturer's website and install
    This is normally done by going on the manufacturer's website, Support section, Drivers sub-section, entering the printer model, then downloading the right installation file or files. Some manufacturers may place the driver download inside the product entry on their website. Drivers from the manufacturer have normally several years of advance over Windows, since it may take some time for Microsoft to test and incorporate them into Windows.
  3. Install printer locally then convert to network printer
    Bring the printer physically to the client computer, connect locally via cable, let Windows automatically install the right driver, then disconnect the printer and return it to its place. Finally, convert the locally-created printer to a network printer, as described in this answer.

If you wish to extract an installed printer from one computer in order to transfer it to another, you could use a product such as Driver Magician Lite to extract the driver. The result is normally a driver installable through the Add Printer applet, only that sometimes it may miss out on a required file that you have to find and manually add to the driver package.

All in all, you are in for a lot of boring work. The results are not guaranteed, since drivers for old printers are not guaranteed to exist on later versions of Windows.

harrymc
  • 498,455
2

In my experience you can get away with just a driver for each platform (32-bit/64-bit), though I'm not sure about Win 98 / NT. Depending on the age of the printer I think you would be lucky to find a driver advertised for '98 but that is not to say that it wouldn't work at all.

With terminal services you have two options for printing, either use the printers installed on the server, or pass-though the printer connections from the client. In the former case you would only need 64-bit drivers (on sessions with 2k3 x64) and in the latter you would need drivers for every platform.

If you are looking for that kind of availability and flexibility in your printing, you're really better off with network-enabled printers. You can network-enable a printer with a small device that has a USB connector on one side and an Ethernet port on the other, but I can't vouch for their reliability. Having done so you then have the ability to manage the printers on a server (adding a driver for each platform), and when a client requests to connect to that printer the driver for its hardware platform is downloaded from the server and installed at the same time. If the driver is not available, you cannot add the printer from the server, but you can still connect to it directly via its IP address, and add a custom driver.

john
  • 518