[Part I in a series. Jump to Part I, Part II, Part III]
Historically, printing redirection has been difficult for Terminal Services(TS) customers. To successfully redirect a given user's client printer to the terminal server, the proper drivers needed to be installed on both the TS client machine and TS server machine. Customers have discovered that the requirement of having the TS server host a matching printer driver can be problematic for a number of reasons (e.g. inability to find matching drivers, or the drivers the printer vendor supplied just don't work with TS). Simply put, we wanted to solve these issues and reduce administrator headaches. The solution is TS Easy Print: a "driver-less" solution for printer redirection over a TS session.
TS Easy Print is a proxy for every print action that simply redirects all printing-related work to the user's local machine without the need to install any print drivers on the TS server. This system provides several benefits, such as being able to redirect any printer from the user's client machine without having to reconfigure the server while still allowing the user to configure the print job as though he were printing on his client machine.
On Longhorn Server, the user's local client printers installed in a TS session will be installed with the TS Easy Print system.
On the TS server, Longhorn Server needs to be installed. That is all! No additional drivers need to be installed; no additional configuration needs to take place. On the TS client, the user must be running TS client 6.1 and have .NET Framework 3.0 SP1 installed (both will be released in the same timeframe as Longhorn Server). Both TS client 6.1 and .NET Framework 3.0 SP1 are intended to be available for XP, Windows Server 2003 and Vista machines. As a result, XP, Windows Server 2003, and Vista machines will be able to connect to Longhorn servers and use TS Easy Print just as Vista machines will.
As mentioned above, the general idea behind the solution is to make a driver on the server that redirects all printing related work to the local machine. The implementation of this solution comes in two pieces.
The first piece is presenting the user with printing preferences through UI so that they may configure the print job on any printer they have. Instead of creating some server side UI that will show the bare minimum of preferences users need (such as number of copies, landscape v. portrait, etc...) and apply this UI to all printers, the TS Easy Print driver acts as a proxy and redirects all calls for UI to the actual driver on the client side. When the user edits preferences for a print job on a redirected printer, the TS client will launch this UI from the local machine on top of the remote session. As a result, the user sees the same detailed printer-specific UI and all printer options are available to him. He would see exactly the same options as if he were printing something locally. The user's selected preferences are then redirected to the server for use when printing. Below are screenshots that show an example of the above behavior.
This picture shows that the TS Easy Print driver is installed.
The mstsc window is made smaller and the theme of the printer preferences window is different. This shows that the printing preferences window is running on the TS client machine!
The second piece is the ability to send a print job from the server to the client and reliably print the job. To do so, we take advantage of Microsoft's new document format, XPS (http://microsoft.com/xps). When redirecting print jobs, on the server, we create an XPS file using the preferences the user has selected, send the XPS file to the client, and, with the help of other printing components, print the job on the appropriate printer. XPS has the advantage of being a document format that encapsulates printing preferences and document data. That, plus the fact that XPS comes with Windows, makes using XPS to transport printing data a very logical mechanism. The dependencies on the XPS format are what necessitate the installation of .NET Framework 3.0 SP1 on the TS client machine.
As of now (04/27/07), the only platform that can be used as the client computer is Longhorn Server Beta 3. As mentioned in the “What is needed to use TS Easy Print”, more platforms will be made available. On the Longhorn Server Beta 3 client computer, the one additional step needed to ensure that printers are redirected over TS Easy Print is to install .NET Framework 3.0 (SP1). There are two ways to do this:
1. Through UI: Start -> Administrative Tools -> Server Manager -> Add feature -> .Net framework 3.02. Through command line: pkgmgr.exe /iu:NetFx3
With this, all is set. We can redirect client printers as we used to normally by enabling the Printers checkbox in mstsc -> Local Resources -> Local devices and resources (this is enabled by default in mstsc). Redirected printers on the remote session will now be installed using TS Easy Print and do not require any configuration on the server by TS administrators.
Coming up: Part 2 of Easy Print
[Part III in a series. Jump to Part I , Part II , Part III ] In Part 1 , we introduced the main benefits
I have installed terminal server on Windows 2008 and many a times the client's local printers are getting disappeared on the client's machine. If I restarted the server, the printers are available. What could be the reason or any specific setups to be carried on the terminal server or windows 2008 server.
Easy print is a very fast and easy way to work with the printing problems.But in our enviroment there is a problem that is about printing from our ERP system.The ERP admins say that they do use the draft mode (dos printing) in their applications so We can not get print out from our terminal servers from out ERP system but we do get print out from windows sessions ,Any clue or way to trouble shoot those ???
I have a workstation with windows xp servicepack 3 and .net 3.5. In the remote session all my redirected printers show up but when I try to print out of them, no page comes out of the printer with no error as well. However, the redirected printer HAD been working fine via TS a month ago. I don't know why it wont work now. I tried another computer (at home) with the same specs above and my redirected home printer wont print. Further exploration...no PC running RDC connecting to our Win Server 2008 via TS will successfully print via redirected printer. Yet...the macintosh's RDC 2.0 will print via TS redirected printer every time still to through this same server. I've upgraded to Win Serv '08 RC2. No help. Ran every update possible on the clients. No help. Checked the Group Policy, Easy Print is engaged and clients have no boxes checked for disabling printers, audio, etc.
I'm going to try disabling Easy Print, install the client printer driver on the server, and see how that goes. I tried with Easy Print ENABLED to do the above, but no help.
Have you had a chance to review the Easy Print system requirements / troubleshooting steps at http://blogs.msdn.com/rds/archive/2009/09/28/using-remote-desktop-easy-print-in-windows-7-and-windows-server-2008-r2.aspx?
I found the solution. I disabled in the Group Policy "Use Terminal Services Easy Print printer driver first" under
"Administrative Templates\Windows Components\Terminal Services\Terminal Server\Printer Redirection". Now below problem is solved for ALL the client PCs trying to print to their local printer via TS.
Part II gave me a hint to look at that above policy page.
We have had good luck until recently having mac users print from Server 2008 R2 using RDP and Cord 0.5.2, within the last week many of our mac users cannot print, so now I am not sure if there was a OSX update that broke it or if there was an update to Server 2008???
I'm trying to print locally from a Mac connected with RDP to Server 2008 R2, but can't seem to get it to work. Any suggestions?
I have app MS Navison on Windows 2008 x64 SP2 Terminal services.
Some Navision reports prints twice .
On Windows 2003 TS was all O.K.
Any advice ?
Using TSPrint software we can easily perform remote desktop print. No driver needed and reasonable price and unlimited workstation connection. You can visit..
We found that easyprint does not work in some cases, and that certain win32 printing functions do not work when easyprint is used.
hope it helps!
While I like easy print for some generic/text printers that are local the redirect turns them into Easy Print printers that makes them unavailable for specific applications. Any way around that?
What about distributed location scenario, where RDS server and print server are in datacenter and client with its printer are in a branch? Am I right thinking that EasyPrint will send data from TS in DC to client, then client back to print server (in DC), and then print server will spool raw data back again to branch office and printer there, effectively crossing WAN two times?