Rodney Rock
Rodney Rock
Eastern Canada Systems Engineer
Citrix Systems, Inc.
Citrix® MetaFrame XP™ Presentation
Server
Agenda
• How Printing Works
• How MetaFrame Printing Works
• Client/Server Printing within MetaFrame XP
• MetaFrame Universal Printer Driver
• Printer Driver Replication
• Printer Compatibility
• Printer Bandwidth
How Windows Printing Works
Printing
• Printer Terms Defined
– Locally-connected
– Network-connected
– Client-defined
– Server-Defined
• Printer Spooling Process
– Windows Application
– Metafile convert
– Print Queue
How Windows Printing Works
• Windows
Application
• Print Spooler
• Printer Text
How Windows Printing Works
Windows Application Process
•
Output generation for Printing
– Formatting pages
– Adding page Numbering
•
Graphic Device Interface (GDI)
•
Enhanced metafile (EMF)
– NOT printer-specific
– Middleman
How Windows Printing Works
Print Spooler function
•
Receive EMF
•
Translate EMF file to .SPL
•
Print Spool file
– Detailed specific instructions in native
language
– Resolution,payper tray , form feed and the rasterized image.
•
Quality insurance
How Windows Printing Works
Final Phase
• Printer
– Receives spool file
– Printer outputs file
How Windows Printing Works
• Print Device:The device that physically
How Windows Printing Works
Basic Printer Terminology
•
Locally-connected printers
– physically connected
•
Network-connected printers
– connected to a network (TCP/IP)
•
Client-defined printers
– connected by a cable or port to an ICA
client device
•
Server-defined printers
– specified on the MetaFrame XP
ICA Printing Virtual Channel
• Text frame with
an image
• Position graphic
behind image
• Place/move
accent frame
piece depending on image
ICA Printing Virtual Channel
ICA
Transport Protocol
Client Printer Mapping Client Drive Mapping
ICA Display
Client LPT Port Mapping
Downstream Audio
ICA Protocol
can
support for up to 32
How Windows Printing Works
• Print Monitor
• CDMPROV.DLL
• CPMMON.DLL
Server-Defined Locally-Connected Printer
• locally-connected
printer
• local port
• acting as a print
Server-Defined Locally-Connected Printer
Availability
• Create a printer
• Install the print
drivers
• select the
Server-Defined Network-Connected Printer
• UNC Path connect
• print to a
network-connected printer
• print job is formatted
• print job spools on the
MetaFrame
• spools on the print
Client-Defined Printer on the Citrix®
MetaFrame XP™ Presentation Server
• Synchronous printer creation • Asynchronous printer creation • Synchronous Versus Asynchronous
• default setting for
Server-Defined Network-Connected Printer
• UNC Path connect
• print to a
network-connected printer
• print job is formatted
• print job spools on the
MetaFrame
• spools on the print
Client-Defined Locally-Connected Printer
• user prints
• print job is
formatted
• job is spooled
• print job is routed
• Citrix print
monitor directs
• spools on the
client device
• client device
Client-Defined Locally-Connected Printer
• auto-created a
Client-Defined Network-Connected Printer
• print to a
network-connected printer
• print job is formatted
• job spools on the
MetaFrame
• redirected to the print
server UNC location
• spools on the print
server.
Client-Defined Network-Connected
Printer
• auto-created a
MetaFrame Universal Print Driver
• Need Feature
Release 3
• driver supports
PCL, PostScript and Windows printers
• 600 dpi print
resolution and color printing.
Tip Printer driver replication can be CPU intensive on the source server. To
improve performance, avoid replicating drivers while the farm is under heavy load, such as when many users are logging on.
•
data store tracks printer drivers
installed
– IMA Service leveraging sub-key
– Definition of printer on local server
•
HKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Control\ Print\
Environments\Windows NT x86\
Drivers\Version-3
Print Drivers Replication
• print driver and
target MetaFrame
• printer subsystem
• pending and active
replication jobs
• IMA printer
subsystem
• Schedules
• Transmission
• distribution jobs
Auto Print Drivers Replication
• auto-replicated are
selected
• IMA Service start-up
• drivers that are flagged
• IMA Service completes
Auto Print Drivers Replication
• scheduled for
replication
• overwrite existing
drivers
• numerous print
drivers IMA
Print Drivers Replication Guidelines
• same operating
system
• 24 hours
• CPU-intensive
• size of the queue
Network Print Server Importing Process
• servers enumerate
overwrite existing drivers
• attributes are added
drivers IMA
• assigned to a
printer
• Microsoft Print
Provider
• unassigned
Import a print server
• Printer
Management
• Import Network
Print Server
• Server
Bandwidth Management
• ICA printing virtual
channel
• Limiting Bandwidth
Debug / Troubleshooting
QPrinter
• Options
• /replica
• Displays all the current replication entries
queued for distribution and not yet completed.
• /imprmapping mappingfilename
• Imports printer mappings from the file
specified by mappingfilename into the data
store. The file format can be in either the
Debug / Troubleshooting
QPrinter
Qprinter is a command line utility used to monitor the progress of the printer driver
replication queue and to import printer name mapping parameters into the data store.
– Syntax
• qprinter [/replica]
• qprinter [/imprmapping mappingfilename]
– Parameters
• mappingfilename
• Specifies the full path to the text file
containing the printer mapping parameters to import. The parameter itself can have no more than 256 characters and cannot
Debug / Troubleshooting
•
Suggestions for Troubleshooting UPD
Printer creation
•
Verify that the client is 6.20.985 or
higher for 300 DPI and 7.0 for 600
DPI.
•
Verify that the relevant server has an
FR1 license installed or for UP2 Fr3
•
Verify printer/driver selections in
Printer Properties Dialog of the CMC
will allow UPD printers to be created
•
Make sure the printing virtual channel
Debug / Troubleshooting
•
If the problem occurs with Win2K, try
the UPD on an Win2K3 server, and
vice-versa.
•
Capture the actual PCL4 and or PCL5
data stream from the UPD by setting
Print To File when printing from a
server based application.
•
See if it can be printed correctly
[ COPY /B OUTPUT.PRN LPT1: ].
•
Ultimate workaround: Obtain and
Debug / Troubleshooting
•
Remove UPD
– FR2: Remove HKLM\SoftwareCitrix\
UniveralPrintDrivers\PCL4 reg key
– FR3: Remove PCL4 and/or PCL5c from the
Driver List reg value at HKLM\SoftwareCitrix\ UniveralPrintDrivers
•
UPD and native drivers creation behaving
consistently
– Connected directly as \\server\printername
Debug / Troubleshooting
• Win2K SP4
– Q824309, Q822428 and CTX102523
• default the printer with the first one of the
alphabetical order.
– "rundll32 printui.dll,PrintUIEntry /y /n "printer" command and place it in a usrlogon.cmd script
• imporing of Linux based Print server through
the CMC
– add the following line to the smb.conf file
– use client driver = yes
Project Compatibility
• From my experience, 9 out of 10 environments suffer from failed auto-created printers
• In order to auto-create client printers:
– Client print driver
name is required to be identical to the
server’s print driver name
Project Compatibility
• Enumerates all
MetaFrame XP servers in the farm
• Presents failed drivers with a recommended driver
• Allows to edit and or remove mappings from IMA
• View Printer Drivers installed on a Selected MetaFrame XP server
• View and or Edit UPD configuration per server
• And much, much, more!!!
Other iForum Activities
Citrix Technology Lab
• Preview the Access Suite
• Get a glimpse of technologies on the horizon
• Engage in discussions with Citrix Engineers
• Opportunity to meet representatives from
– Product Development
– Technical Support
– Consulting
Other iForum Activities
Citrix Solutions Workshop
• Hosted by Citrix Consulting
• Free 45 minute whiteboard sessions
• Discuss your environmental challenges
• Explore available Citrix Solutions
• Sign-up at the Consulting Booth in the
Exhibit Hall
– Limited Availability
Thank You
Thank You