Written by Thomas Koetzing on Tuesday, 26 July 2011
Printing has always been an issue with XenApp or the Remote Desktop Services (RDS) and still is. Therefore I have now written my "ten printing rules with Citrix XenApp" where parts of it apply also to RDS. Also settings are for XenApp 6.0 and Server 2008 R2 but you will find most of the settings work with previous versions as well.
The Ten Printing Rules
Since Presentation Server 4.0 (CPS 4.0) use the Citrix Universal Printer Driver based on EMF for client printers, especially with Windows Clients. User Policy\ICA\Printing\Universal Printing = Use universal printing only
Client network printer (network printer connected to the client) should also be mapped by EMF and the print output should go through the client in indirect mode. User Policy\ICA\Client Printers\Direct connections to print server = Disabled
Print server should always be located in the same network as the XenApp server, especially when the printers are in a WAN location, branch office. This is when not going through the ICA connection (see point 2)
Once Citrix has released the Universal Print Server (UPS), which is expected by the end of 2011, only use the UPS to connect to printers located on the print server.
Set Microsoft group policies to disallow Point-To-Print (P2P), to use print isolation, disallow kernel-mode drivers and render jobs on the print server. Computer Configuration\Policies\Administrative Templates\Printers
Always render print jobs on the server
Execute print drivers in isolated processes
Point to Print Restrictions (set to localhost)
Disallow installation of printers using kernel-mode drivers
Do not use 3rd party printer driver with print monitors, try to get drivers without monitors or disable/remove them.
Out of experience, avoid PCL6 printer driver if you have to use 3rd party printer driver.
Q&A
Q: When using 3rd party printer driver what can happen? A: If you are lucky nothing but you might see: print spooler crash, delayed logons, stuck logons or the worst blue screen of death (BSOD) - server crash.
Q: Why only use the Citrix EMF universal printer driver? A: With Windows Clients, EMF actually uses the local client printer driver with all capabilities.
Q: What about non-Windows (MAC, Linux...) clients? A: Non-Windows clients cannot use EMF and automatically fall back to a Universal Printer Driver (UPD) based on a color laser printer but will not give all capabilities the client printer driver might have.
Q: Why not use HP Universal Printer Driver? A: The HP UPD should only be used for network printer mapped to the XenApp Server and only until UPS is released. With HP UPD make sure you use at least version 5.x and printer isolation, since the driver has been buggy in the past
Q: What is printer isolation good for? A: As it says, it isolates the printer driver and therefore protects the spooler to crash. So if the driver is buggy, the isolation might fail but the driver will not crash the spooler service.
Q: Why disable Point-To-Print (P2P)? A: P2P automatically installs printer driver without you really knowing it. That can be very dangerous because you might spread a bad driver to all servers in your farm.
Q: Why should a print server be close to a XenApp server and not located in a branch office over WAN? A: Especially with Office 2010, printers are "live" enumerated and over a WAN might take a long time. Also the XenApp server would do a RPC call over the WAN to the print server and is very slow and sluggish.
Q: Why avoid PCL6 printer drivers? A: There is no technical reason but experience from the field has shown the PCL6 driver to cause several issues.
Q: What is the Citrix Universal Print Server (UPS)? A: It's an upcomming printing component, hopefully released by the end of 2011. In short, UPS has two parts the print server service (you install on the print server) and a client service (UPC) that will be installed on a XenApp server. Now network printer between print server and XenApp will be mapped also with the Citrix EMF and therefore no printer driver on the XenApp server needs to be installed! UPS is high secure, optimized and allows even firewall transversal. UPS uses the Citrix common gateway protocoll (CGP) and the UPC will be incl. in future XenApp releases.
Comments
PCL6 Written by Guest on 2011-07-20 14:44:24Are PCL6 drivers still and issue with isolation environments? I avoided PCL6 in server 2003 but I think we should retest them in 2008 R2.
PCL6 Written by Thomas Koetzing on 2011-07-26 10:10:34Well the isolation would just protect the spooler from a buggy PCL6 driver but could still lead to slow- or stuck logons. Again the isolation is just to protect the spooler, that's all.
Written by Guest on 2011-07-26 11:07:14I would disagree with the PCl6 statement. With lots of experience of printer drivers myself I cant fault the PCl6 anymore than PCL5e.
PCL6 statement Written by Thomas Koetzing on 2011-07-26 11:22:58Printing cases I had with customers, 9 out of 10 had issues with PCL6 drivers. As said, not gernally an issue but at least I would be more careful...
PCL6 Written by Guest on 2011-07-26 15:50:20I have had many problems with PCL6 Drivers as well. Specifically HP PCL6.
Network Print Server Written by julzou on 2011-07-26 17:16:09Great post ! I have a little question about printer server and WAN. I think that with the Universal driver and the indirect print job routing the print server must be near the user rather than near the server. Because if it doesn't the case, the print job will travel several times on the WAN. What do you think about this ?
Network Print Server Written by Thomas Koetzing on 2011-07-26 17:44:09yes that's right and the reason why you need a design for printing with Citrix. The network printer case i descibed is for printing when connected to XenApp and not to the client.
Print Optimization features Written by Ryan Gallier on 2011-07-26 22:18:03Keep in mind that all of the new Print Optimization features of XenApp 6 work ONLY with ICA based printing. Was that the thinking behind #4?
Excellent Written by Alan Ting on 2011-07-26 22:17:04Excellent Printing Policy on XenApp, Thomas you are fantastic
Print Optimization features Written by Thomas Koetzing on 2011-07-26 22:21:10>Was that the thinking behind #4? No with UPS you also don't need any driver on the XenApps server because everything is done by EMF incl. print optimization. I will write something about UPS, remind me if I don't ;-)
Written by Guest on 2011-07-27 08:53:08Hi Thomas,
You've mentioned the "Universal Print Server" in a number of places, but I'm struggling to find relevant information. Is there anything you could share with us in relation to this as we're currently reviewing our thinprint implementation.
Citrix Universal Print Server Written by Thomas Koetzing on 2011-07-27 13:32:30I added a small Q&A for UPS and as said before I will write an article about it. Hopefully I will get the beta soon to include some screen shots.
Welcome UPS Written by Guest on 2011-07-28 03:58:56No driver on Citrix server, that is going to be awesome. That's one of the most significant improvement since Metaframe as printing has been always seen as a big issue in Citrix.
Welcome UPS Written by Thomas Koetzing on 2011-07-28 08:40:15Let's be clear, for pure Windows clients envrionments and MS print server you will not need a driver on XenApp anymore once UPS is out. There might be still some cases where users want/need the 3rd party driver but hopeful it will be just a hand full.
Session printers and WAN Written by Guest on 2011-07-28 22:22:07I dont get the thought on point 3. You say the print server has to be next to XenApp?? When using "session printing" (printing from xenapp directly to printserver) within a WAN environment, there should be a printserver on the branch site where xenapp will print to. If you spool print jobs over WAN (printserver to printer) it will kill your bandwidth.
Session printers and WAN Written by Thomas Koetzing on 2011-07-29 06:07:23First two things. 1. When using ICA over WAN you should have a QoS/Optimizer in place like Citrix Branch Repeater. 2. This is also an advice by Citrix!
Now don't think that between XenApp and print server is no traffic and actually RPC is really not good. I had a customer having the print server in the branch office and user were complaining a lot about the performance. Also if everything is not setup in the right way, then printer driver packages are send all the time from the print server to XenApp (P2P) over WAN. Better solution with the print server in the branch office is to connect the client with the printer and then mapp it through ICA.
Session printers and WAN Written by Guest on 2011-07-29 23:45:17I agree with you, but if you use thin clients (Linux or Win CE) then this is not an option.
I think disabling bi-directional communication on the shared printer is also a must. It prevents sending printing notifications back to the ICA session
Session printers and WAN Written by Thomas Koetzing on 2011-07-30 06:30:24There are a lot of other things to think about or to optimize but is out of scope with just 10 rules to cover the basics.
WAN Written by Guest on 2011-08-09 21:54:36I am confused with #2 and #3 and need to understand more about what these mean. We have a situation where all users accessing XenApp will be coming from a branch office, with no local print server. We are trying to find a way to speed up printing. Right now, printing a 3MB PDF file, it spools 82MB over the WAN. We would prefer to see jsut the 3MB file transferred, then spooling done locally by the client before the file is printed. We could put a local print server in place if necessary, but we are trying to avoid having to do that.
WAN Written by Thomas Koetzing on 2011-08-10 09:41:02With XenApp 6.x and Windows Clients you should use Citrix Universal Printer Driver (#1) EMF and set the print optimization options. That will speed up printing (project Laser). With Non-Windows Clients you most likely need to optimization the WAN traffic with Citrix Branch Repeater whitch can reduce print traffic dramatically
Big Print Jobs Written by Gast on 2011-10-06 15:01:37An Consultant told us to disable the "Advanced Printing Features" in the Printer Properties. This reduces the size of the Print jobs significant. I tested it with a 1 MB PDF-File: when the option was enabled the Print job had 35 MB, when disabled it was 1,5 MB. So wherever possible disable it.
direct printer Written by Guest on 2011-11-22 14:34:47Can you explain the relation between 2&3 User Policy\ICA\Client Printers\Direct connections to print server = Disabled I would suppose that it should be Enabled when both the xenapp server and the print server are in the same datacenter ? so that print-traffic is not going to the client and back to the printserver but directly to the PS. Or is the word DIRECT not used in this direct sense ....? ;-) Marc
direct printer Written by Thomas Koetzing on 2011-11-22 14:56:57Let me try to explain it in another way. You should avoid printer driver (3rd party) on XenApp server. Without UPS the only way to do it is through the Client by using Citrix Universal Printer Driver (EMF). If you choose direct printer then you are not going through the Client and therfore you MUST install printer driver(s) on the XenApp server! If you go indirect through the Client, then you use EMF and do NOT need the printer driver on the XenApp server!
direct printer Written by Guest on 2012-01-04 16:45:05Thomas, sorry for not follow up on your answer directly but I was looking to register but cannot find the "register" button ...and so alerting that you did post an answer was not happening.
Back to the question. Your last reply is 100% clear but cannot be used for clients that are in a remote site because our print-server is at the central location next to the Citrix farm. So we would like to add a minimum of MS/Citrix compliant drivers to our citrix servers to avoid client printing because otherwise all printtraffic will go 3 times over the WAN. So for these users/printers "DIRECT" is the only option, right ?
direct printing disabled Written by Guest on 2012-01-04 16:56:42extra question : what will happen if "DIRECT" is disabled and i want to add a UNC based printer where the driver on the citrix server is "compliant/available" ? Will printing be blocked or will it work without Citrix interfering ? Kind regards, Marc
direct printing disabled Written by Thomas Koetzing on 2012-01-04 17:45:27>Will printing be blocked or will it work >without Citrix interfering ? Citrix only controls what it's going through ICA (excapt with UPS), so your answer is no and explained in the article.
>So for these users/printers "DIRECT" is >the only option, right ? That's a case were you want to use the Citrix Universal Print Server (UPS), see FAQ. You can have different settings for locations just apply it to a different group, subnet etc.
>cannot find the "register" button You have to register and login in my forum