The XenApp data store is the central repository of all trust data for XenApp servers in your farm. If a XenApp server initiates a request on a domain that it does not trust, the XenApp server queries the data store on which servers can authenticate the request and then forwards the request to that server. NOTE: The Citrix Universal Print Server (UPS) 7.6 was previously only available with the download of the XenApp/XenDesktop 7.6.iso image. It has been released as a separate download so customers with previously supported versions of XenApp/XenDesktop can take advantage of the enhancements in the Citrix UPS 7.6 version.
Printing in a Citrix environment can be difficult and can cause numerous stability issues if it is not done properly. Printer drivers run at the kernel level of the Windows operating system and there are some really badly written drivers out there especially around the cheaper units whereby a lot of the printer functions are software driven within the device driver. There is one sure way to p**s off your user base and that is to take away their ability to print. In this session we will be taking a high level over of the options of printing within Citrix and providing some guidelines from 18 years plus hands experience.
What is the issue?
Why printing is still an issue with Citrix solutions today is almost a laughable. I remember sitting in an audience at Citrix iForum back in 2004 where Citrix were discussing Universal Printer drivers in Presentation Server 4.0 proclaiming to have forever solved “printing issues” in Citrix. In the US this went down a storm with raptures of applause but in the UK they were met with stoney silence. The reason being because it is no joke. Printing has been and will continue to be a problem for Citrix if it is not thought through properly.
The problem actually is not Citrix related, they in fact have created some tools to make life easier. The problem is a Microsoft issue, they like to design back end systems on legacy IT solutions stemming from day that Bill Gates said one day everyone will have their own PC. Well those days (thankfully) have long gone, certainly within the corporate world where there is no such a thing as a Personal Computer anymore, it all about user customisation which is stored in the user profile. In the PC world you have a desktop with applications installed and maybe a roaming profile. But fundamentally you used to use only one system at a time and you connected to a print server and used only a handful of printers. The device drivers where pushed out from the Print Server and the IT dept. didn’t need to think too hard about things. Then suddenly Microsoft release Server Based Computing (SBC) with Microsoft Terminal Services and now things start to get difficult because [one], we are now dealing with a different operating system from the PC which requires a different driver, [two] because we are dealing with a system that at some point in its life will have to cater for everyone in the business that is ever going to use SBC system so now every printer device driver that you ever likely to need will have be installed on every Terminal Services server. Given that I have said before that badly written drivers will cause stability issues, this is exactly what we see today. I have personally witnessed customers with hundreds of drivers on their Citrix servers and then they wonder why the print spooler keeps crashing. All it take is for one rouge driver to cause printing hell.
So what have Citrix done to improve things?
Auto Printer Creation
Citrix has the ability to map local printers using a policy which they call Auto Printer Creation and they have built their own universal print driver that works on (most) printers for basic printing functions.
Using Auto Printer Creation in Citrix sounds like the perfect way to manage Printing; Printers that are installed locally on the device you come in from will be available when you are using Citrix the traffic is compressed up to a 10:1 ratio and rendering and spooling is done on the client end, Sounds perfect doesn’t it? But it isn’t… First off, using Auto Creation only really works if you use the inbuilt Citrix universal Printer Driver (UPD) otherwise you will have to install drivers for every make and model of printers in to your Citrix master image which is unrealistic. Using a universal driver will only give basic functions so MFP functions will be lost. Secondly it assumes you’re coming in from a Window machine with locally installed printers so rule out Auto Creation for environments with dumb terminals or if there is BYOD initiative is in place.
Golden Rules when using Auto Printer Creation
- Only ever use Auto Printer Creation with the Citrix UPD otherwise it will try install the device driver for every printer is uses otherwise it will fail. Set the policy to use UPD only.
- Only map through the clients default printer as some users end up with lots of dead printers on their system especially if they move around and Citrix will try enumerate all of them at log on which can really slow down the logon process
- Prevent any mapping of any form of image writing printers including PDF printers and Microsoft Office Image writers etc. One sure way to crash your print spooler is to try and print to an Auto Created PDF Printer that is installed in the client’s local machine which is then mapped using Citrix UPD. It doesn’t like it
- Auto Printer Creation should not be relied upon for the majority of the user as I classify it as a best endeavor solution because from experience if the Citrix servers are under load printer mapping will fail, also UPD is limiting for users of MFP printers and if your following the advice above they can only have one printer at a time.
- Auto Printer Creation has its place but I would only recommend it for small offices especially if there is no direct connection to the print server from Citrix servers or for homeremote users.
Session Based Printing
Session based printing is by far the most common solution I still see today for managing printer in Citrix. Session Based printing is simply where you create a policy for every printer that you are likely to connect to which then points to a Print Server[s]. These policies are typically applied to only certain AD groups and if the user is in that group they will get that printer. This can actually work quite well in controlled environments but the administrators have to be very careful in only adding printers that have been validated on the Citrix HCL and they have been fully tested on a UATDEV box to ensure the drivers don’t crash your Citrix Servers.
Golden Rules when Using Session Based Printers:
- Try Match like for like the Print Server operating system to the Citrix Session servers. (i.e. for XenApp 7.6 environments on Windows Server 2012 R2, make sure the print server is the same) that way you can ensure the driver on the print server will install correctly on the Citrix servers
- Install the Print Servers in the Same Data Centre as the Citrix Servers otherwise printer enumeration will slow down
- Try to install as few different makes and model of printers as possible to reduce the overall number of drivers.
- If the printer manufactures supply a universal driver for their printers use it. HP for example provide a universal driver that works on most HP printers. This will again reduce the number of drivers needed.
- Use PCL 6 driver where you can or fall back to PostScript. PostScript can be less efficient but I have found it to be overall reliable
Citrix Universal Print Server
Since the release of 7.6 of XenDesktop, Citrix have introduced something called Universal Print Server (UPS) which is simply an agent that you install on your Printer Server and then in conjunction Session Based Printing allows the use of Citrix Universal Print Driver (UPD). This really is about the best we ask for right now, as it gives us the ability to utilise UPD for most users along with a print server and gives us control with Session Based Printing. But it is not perfect, I was disappointed see it does not support Microsoft clustering, so if you are relying on MS clustering for printing resilience UPS will not work for you.
Golden Rules when Using Universal Print Server:
- Ensure your Print Server is resilient using hypervisor tools like DRS and have a solid backup plan that allows for rapid recovery to get around the clustering limitation
- Use in conjunction with Session Based Policies and only use native drivers as an exception always try to use UPD only
- Make sure that the Citrix Printing policies are monitored and they are set to auto recover
- Try it, Citrix UPS could save you a lot of money negating the need for products like UniPrint and ThinPrint.
When not to use Citrix Printing Tools?
Citrix Server App
There are certain situations when a third party print management solution is highly recommended. Here are a few:
Follow Me Printing
I am seeing a much larger trend today with customers considering or have embraced a Follow Me Printing solution. From a Citrix perspective these are great. We can forget about all of the complexities above and you install two printers on your Citrix Servers Colour Printer and Mono Printer and these are installed as local printers that everyone see, so no mapping no policies, nothing. Everyone see just these two printers. The user prints, they select colour or mono they then walk up to any printer connected to the solution and put in their code or scan their ID badge and it prints to that particular printer. The two systems that I have validated on Citrix are SafeCom and UniPrint. If follow me printing is a requirement for you than I would suggest you look at buying a solution even though you can do a limited version of a follow me print solution based on IP subnets it is clunky and requires you to have a separate subnets for each area of breakdown and they are simply nowhere near sophisticated as a purchased solution.
Secure Printing
Again, if security is important to you than again I would recommend a solution like UniPrint whereby documents are only released when users authenticate their credentials on the printer by entering their passwords, or tapping onto the vPad user authentication device so no more documents end up in the wrong hands.
Quality Printing
If you are a design company for example and you have to colour match your print out to your screen colours and quality of print is essentials avoid any form of compression tools even if the print jobs are massive. In these instance try to keep the print server as close as possible to the printer to prevent overloading the WAN and use Citrix XenDesktop VDI for the users desktop and install the native drivers directly on to the VM’s for the users of this printing along with any colour matching tools.
Summary
- Use Citrix Universal Print Server on 7.6 installations
- Protect you Print Server using reliable backups and hypervisor tools
- Create session policies that use UPD only for the majority of your users
- For the printers that don’t work with UPD, use session based printing but test each driver thoroughly and use PCL v6 drivers or PostScript on the print servers
- Use Auto Printer Creation for remote users through the access Gateway as a final catch all
I cannot guarantee you a trouble free printing environment but if you are having printing problems and you follow these rules I can guarantee you will improve things and you will thank me.
Brett Loveday
CCIA MCSE CCNP VCP
For many years, printing has been the bane of the Citrix tech’s existence. You work hard to put together a successful Citrix farm, carefully virtualizing applications and meeting user needs – but everything goes to pieces when the users try to print. Citrix printing issues can usually be categorized into one of four categories: Citrix issues, Print Driver Issues, Universal Print Driver Issues, or Application problems. Let’s take a look at a few common printer related trouble calls that a Citrix tech may receive:
How should printers be deployed in the environment?
In the old days, you would commonly deploy printers through a complex login script if you did anything at all. Keep in mind that deploying printers with a login script can cause slow logins – See my other blog: http://citrixtechs.com/blog/?p=42
In many offices, users are responsible for mapping their own printers. In today’s world through the magic of Microsoft GPO, printers can be deployed to a non-technical user base with relative ease. Use the following article to guide you with such GPO based printer deployments:
- Make sure to utilize the Citrix stress printers tool in your test/dev environment so that you can test print drivers before putting them into your production farm.
Problems with the print spooler?
Citrix techs usually spend some of their time wrestling with the print spooler. The print spooler on a Citrix server may hang, stop responding, or gobble the entire CPU of a server in certain scenarios. If you find that your print spooler is hung, the first thing you may try is to restart it through the services console. If the print spooler refuses to restart, or it is gobbling 100% of the cpu in task manager – you may have a specific rogue printer drive that is causing the issue. You’ll need to open the printers folder and see if there is a driver with stuck jobs on it. If you find this, delete the driver from the server and watch as the CPU returns to normal in the task manager.
Problems with the Citrix printing account?
The Citrix printing account can occasionally go corrupt, or be missing key permissions needed for it to function properly. If you suspect problems with this account, try switching the service from using this account to the local account to see if issues resolve. If problems go away, then you’ll need to use the Citrix account recreation tool (CTX113554) to rebuild the account, and follow CTX113555 to make sure that the permissions are assigned correctly.
How are my Citrix print policies configured?
Remember that all aspects of printing can be controlled through Citrix print policies. Until the latest version of Citrix, the Universal Print Driver (UPD) is available for client connected printers only. Depending on how you configure the Citrix print policies, your users may or may not be allowed to use the UPD, or to use native drivers. If you’ve excluded certain drivers from your farm after using the Citrix stress printers tool, you can use Citrix print policies to prohibit specific rogue drivers that you know to be a problem on your farm.
My Citrix print policies are not being applied!
In most cases where this is reported, Citrix print policies are applied – but then they are taken away by some other rogue GPO or policy in the environment. As with all GPO troubleshooting, the best way to troubleshoot this is to place a test server in it’s own OU and block all inheritance. Log in with a test user account, and verify that you can get the policy to work properly when other Microsoft GPO’s are completely out of the mix. Once you’ve proven this, then start adding back one GPO at a time until you find the troublemaker.
Can Roaming Profiles be causing printing issues for users?
Absolutely! There have been many cases recorded where Citrix techs had to delete and recreate user roaming profiles to solve printer auto-creation issues. I’ve witnessed some cases where users were not getting their default printer assigned correctly according to policy, etc.
Problems with certain versions of the ICA Client?
There are many documented issues with older versions of the ICA client. If you suspect a client issue, upgrade to a newer version of the client and see if the issue resolves.
Hot Fix and Patch level?
Every roll up pack for Citrix has contained multiple fixes involving printer and auto-creation of print drivers, etc. For this reason, I generally recommend that you always make sure your farm is operating on the most recent hot fix roll-up package from Citrix.
Problems with the version of printer drivers on print servers?
You may need to experiment with different versions of print drivers to troubleshoot certain issues. There have been documented issues with some PCL drivers, Ricoh drivers, etc – where certain versions did not work with Citrix, but when upgraded issues were resolved. Also be aware that some print manufacturers may require that you be running a certain level of .NET framework in order for their drivers to function completely.
Is the printing problem application specific?
Someone may submit a ticket that they can’t print over Citrix via the Great Plains application. The first thing you should do is have them try to print from Notepad or any other application. If the printing issue only occurs through a specific application, work with the application vendor to trace the issue. It could be that their application depends on a certain version of .NET framework or some other server side requirement in order for printing to function properly. If you want to rule Citrix out completely, log in via RDP to the desktop of the terminal server in question and launch the problem application. Try printing via RDP, and if the same issue occurs there – Citrix can be ruled out of the equation.
CPViewer.exe is gobbling resources and freezing my servers?
Download Citrix Server
This is a known issue with Citrix printing when you are using applications that start many small print jobs. This is common with check printing applications, or other apps that might send 100+ small print jobs to the queue at any given time. The resolution is to employ a registry change (Mentioned in CTX114755) that stops this behavior.
Are there print related errors in the event viewer?
Most terminal servers and Citrix servers will have a certain amount of printer related errors in the event viewer. You can determine if you are looking at relevant errors by the printer name that is specified in the error message and the time/date stamp. Event viewer errors may be able to tell you if certain users are not able to get their printers when they log on, or if some printers are hung or having difficulty printing.
Should I use the Citrix Universal Print Driver?
The Citrix UPD has been a great invention that has gotten better with each revision of Citrix. By using the UPD a savvy Citrix Tech can make sure he isn’t loading his servers up with a bunch of unnecessary print drivers. Anybody who has run a Citrix farm for a period of time knows the dangers of allowing their clients to connect from home and print to their client attached printers. While you may have carefully screened the printers you allow on your network in the office, the printers people have on their desks at home can pose a danger to your terminal servers. If these drivers are allowed to load individually, they can interfere with or cause corruption with other drivers on the server. By utilizing the UPD, a Citrix administrator can cut down on print driver headaches dramatically. The only caveat is that some advanced printer functionality may be lost if the printers perform activities like stapling, collating, etc – so test UPD compatibility if you have important client printers in the environment.
All About Citrix Print Server Settings
Third Party Citrix print software?
All About Citrixprint Servers
Later versions of Citrix Xenapp seem to have dramatically fewer print problems than versions of the past. I’d say that anyone running Xenapp 6 or newer will probably be ok utilizing the built in features for Citrix printing. If you are running a version of Citrix older that Xenapp 6, you might want to consider using a 3rd party print software package like Tricerat Screwdrivers. Screwdrivers allows you to completely turn off Citrix printing features from within Xenapp or Presentation Server, and rely completely on the third party tool for all printing activities. While expensive to some companies, my experience has shown that companies with a lot of printer problems should at least consider using a third party tool like this to take some of the workload off of their Citrix administrators.
Citrix Universal Print Server
References: