How printing works in Citrix XenApp 7

I want to understand how printing works in citrix Xenapp 7, but before we put Citrix in the picture, I need to understand how printing works in Windows.
Let's say I have Windows 7  and Windows 2008 Print Server that already has Print queues and drivers on it.
From Windows 7, I can use Add printer wizard and point it to \\Win2008PrntSvr\PrntQueuename1 , this will add the printer to Windows 7 and download the drivers.
Now if I open MSWord and print a Document , would Windows 7 make any communication to Windows 2008 Print server for any reason or it just send the document to the print device specified in the print queue Port, without any communication to WIndows 2008 Print Server ?
Now let's put Citrix Xenapp in the picture.
If I understand there is no need for Drivers to be installed in Xenapp server, just to enable a policy related to Universal Print Drivers.

In this case when Windows 7 connects to Citrix opens up an Application from Citrix and print a document.
Is Citrix going to make any communication with Windows 2008 print server ?


It seems to me like Windows 2008 print server is used only the first time by Windows 7 client to download the drivers and the printer configuration such as the hostname of the print device and its print settings, then the client will not communicate with Windows print server at all.

Any clarifications on this topic will be very much appreciated.

Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Brian CTXSupportCitrix ConsultantCommented:
In Windows, if you add a printer from a printer server, then the print job will be sent  to the print server, which will send the job the printer.  If you add a printer to a workstation, add a port when you are installing the printer and use the IP of the printer when you create the port, then the workstation will send the print job to the printer directly.

With Citrix, you could install the printer on the Citrix server, either via a print server, or adding a port like a workstation, although I'd recommend using the universal print driver instead and simply map the client printers.  There are some instances this won't work, but for the most part this option is viable and works well.  To do this, you would install the printer on the workstation you are using to connect to the Citrix environment, have a printer mapping policy enabled, and the printers on the workstation will show up in the Citrix session.  As always, some things will vary, but generally speaking this is how it works.  I try to avoid installing any printer drivers on my Citrix servers to the extent possible.
jskfanAuthor Commented:
When you add printer from windows print server to Windows 7 , After then I do not see why windows 7 will need to go through Windows print server to print to a print device which is just next to it...
However when I print from Windows 7 I can see print jobs in the print queue on windows 7 as well as on the same queue name on Windows print server..
So still not clear if print jobs go straight from windows 7 to Print Device or they go to Windows Print server then to Print makes sense if they go straight from windows 7 which already has the port name and the drivers instead of going through windows print server.
Brian CTXSupportCitrix ConsultantCommented:
Forget the physical location of the printer for a moment.  A network printer port is the equivalent of plugging a printer into a computer with a USB cable.  If you plug that printer up to a computer, share the printer, and connect to that printer from another computer, it will send the job to the computer that the printer is plugged into.  You are seeing the queue on the server because the server is the computer that's actually connected (over the network) to the printer.  If you add a network port to the Win7 machine in your case (equivalent of plugging the USB cable to the Win7 machine), then the print job would go directly to the printer.  With network printer ports, you can can connect multiple machines to the same printer (the virtual equivalent of multiple USB cables to the same printer).  If you connect to any printer via another computer (\\computer\shared_printer), it will always send the job to the computer, then to the printer.

You can add a printer from a print server, edit the properties, and change the port, add a Standard TCP/IP port, and the IP of the printer, then it will print directly to the printer.  In Citrix, I'd opt for leaving it on the Print server instead, and offload the processing of the print jobs away from the Citrix server.
Creating Active Directory Users from a Text File

If your organization has a need to mass-create AD user accounts, watch this video to see how its done without the need for scripting or other unnecessary complexities.

jskfanAuthor Commented:
Brian CTXSupport

Mmmm.... So it needs to follow the Share.... Maybe for manageability, so that if they want no one to print to the print device they will just remove the print queue from windows print server...
Brian CTXSupportCitrix ConsultantCommented:
Correct, don't share printers if they don't want them printed to, but if that's the case, just get rid of the print server completely.  The whole point of having a print server is to offload the print job, not serve as a printer installer.
jskfanAuthor Commented:
Ok That part of Windows Print server is understood. Thanks !!!

When Citrix servers comes into play...If I am not wrong:
1-Before Citrxi Xenapp version 7 I believe, Citrix Server acts as Windows Print Server. I mean Citrix Administrators will have to install printer queues and drivers on Citrix Server(Just like in Windows Print Server), then on Windows workstation they add printer and they point it to the one in Citrix Server, example \\Citrixservername\printerqueuename.

2- In newer version of Citrix(I believe version 7)when Windows client connects to Citrix server it carries with it print configuration (That point to windows print server)through Citrix Session... and in Citrix Server , I believe there is a policy that tells the Client use windows print server when you need to Print.

  Can you please Correct me on that or elaborate on it ?

Brian CTXSupportCitrix ConsultantCommented:
Client printer mapping in Citrix has been around for a very long time....Terminal Server 4 days.  It's certainly been improved since then.  You can install the queues on the Citrix server (regardless of version), but I wouldn't.  Citrix has a product called Universal Print Server, but that installs on a Print Server, not on a Citrix server.  Sometimes, for some specific printers, there may be a need to install a print driver on a Citrix server in order to get the client printer to map, if the universal driver isn't working for some reason, but you wouldn't need to install the queue.  Various printer policies have existed to map printers in versions older than 6, but I don't remember specifics since I haven't used those versions much in a while.

To summarize, set a policy and try to use the Universal Print Driver to the extent possible, which should get you very far, or cover all of your needs.  If not, address the specific problem printers individually.  You will have multiple options with policies to address those issues.  Worst case, you will have to find a suitable driver to install on the Citrix servers, but in my experience, that has been rare after XenApp 6+.
jskfanAuthor Commented:
Citrix has a product called Universal Print Server, but that installs on a Print Server, not on a Citrix server.
How can I verify that we have it in our environment ?
I know that on our Windows Print server, some print queues use Universal Print Drivers and some other queues use Native Drivers.

-In your comment above, you said if you will have to install native print drivers on Citrix Server, you do not need to configure  the print queue on Citrix Server.
I wonder if you meant :
1- Configure the Print queue as well as install native print drivers on Window Print server
2-  On Windows 7 client, Add the printer and point it to windows print server queue that you created in step 1
3- On Citrix server, just install native drivers the same as the ones installed on Windows Print Server
Brian CTXSupportCitrix ConsultantCommented:
It will be in Programs and Features.  You probably don't have it installed.

The Citrix server needs a driver to map a client printer.  Generally that's the Universal driver.  Sometimes that won't work though.  The easiest way to install a driver is to create a local printer, then delete the printer, which leaves the driver.  I'd try to avoid using any driver other than the Citrix Universal if you can work with it.  Don't worry about the drivers unless you get a printer that doesn't work.
jskfanAuthor Commented:
Sorry Brian ..I have been  busy lately:
** you said
It will be in Programs and Features
of Windows Print Server or Citrix Server ?

**if I decide to go with install of Printer native drivers on Citrix server itself, then should I just create local printer with native drivers then remove the printer queue  ?

I know I am asking lot of questions because I have not gotten the full picture yet of what I am supposed to do.
 Thank you
Brian CTXSupportCitrix ConsultantCommented:
On the Print Server, but don't worry about that for now.  Try the Universal Drivers first and go from there.  Native drivers on the Citrix servers are a last resort.
jskfanAuthor Commented:

I found the link above, it states that UPD is a package composed of 2 components the UP Server which should be installed on Windows Print Server and UP Client which should be installed on Xenapp server.
That clears it up if you agree with it Brian.
For Native drivers even though in our environment some windows print server queues have Native Drivers , but some citrix applications have specific printing (paper size and Type), it does not work properly. If I understand the only undesirable work around is to install Native print drivers on Xenapp servers (by the way I wonder if you need to install it on each Xenapp server or just on one and it gets replicated to other Xenapp servers in the farm)
Brian CTXSupportCitrix ConsultantCommented:
Universal Print Driver (UPD) and Universal Print Server (UPS) are two different things.  I don't necessarily recommend the Universal Print Server at this stage, but I might depending on the results you have with the Universal Print Driver, which is the easiest and  most non-intrusive option to test.

What is the landscape of your users?  Are any of them remote users, or are they all internal office workers?  How are their printers installed on their local workstation?  As long as you have printer objects installed on the end-user workstations, simply enable the Universal Print Driver (UPD) via policy, and set the policies to automatically map their printers.  If that functionality works, then there's nothing else that needs to be  done.  If you have specific issues with certain printers, we can address those individually.
jskfanAuthor Commented:
Sorry I meant this part :

From the planning guide: the Universal Print Server feature comprises of the following components:

◾Client Component: This component is installed on a XenApp server or XenDesktop virtual desktop. It receives the EMF or XPS based print stream from the Citrix UPD and forwards it to the print server. Both the print commands and print data are sent over the wire using their own respective ports. Defaults are TCP 8080 for the print commands and TCP 7229 for the print data.
◾Server Component: The Citrix UPServer component needs to be installed on a Windows based print server. It retrieves the print data and forwards it to the respective printer by means of the Citrix UPServer Virtual Port Monitor.
Brian CTXSupportCitrix ConsultantCommented:
Can you please test UPD first, and forget UPS for a bit?
jskfanAuthor Commented:

Can you please paste here the 2 citrix policies That enable UPD and map the printers ?
or a link to these 2 policies ?
Brian CTXSupportCitrix ConsultantCommented:
You can find them in the policy section of the Citrix console.  There is a search option once you open policies.

Again, use the Universal Drivers ONLY at first.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
jskfanAuthor Commented:
Thank you !
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Windows Server 2008

From novice to tech pro — start learning today.