Troubleshooting ThinPrint in VMware View

VMware OEMs a sub-set of the .Print Server Engine full-blown product. Many people think ThinPrint is a VMware owned product and/or feature, but it is not. ThinPrint is a German company that stands on its own and was founded in 1999. Their .print generic drivers can be found in a range of strategic partnerships with VMware, Citrix, Fuji Xerox, HP, Lexmark, Microsoft, Wyse, and others. ThinPrint has managed to embed their ThinPrint agent into a range of devices, from Thin Clients to Printers and the company reign almost alone in its market segment.

The ThinPrint OEM version in VMware View allow soft-clients (View Client) to present printers to the virtual desktop. Printing is possible from a virtual desktop to printers that are defined on the client device. The printer drivers and devices MUST be configured and connected to client device. The printers can be local or network connected (direct IP or print server).

The ThinPrint port monitor is the heart of the .print Engine. It acts as transport layer for the Windows print spooler. Main features are:

  • Multi protocol (virtual channels like PCoIP,RDP, TCP, LPD)
  • Integrated to Windows print system – port pooling, cluster ability
  • Control of bandwidth for print data
  • Print data are transferred compressed

When a user connects to the virtual desktop the TPAutoConnect service starts a process to communicate with the .print Client and the end-point.The client-device must support .print technology. This end-point can be the VMware View Windows or a ThinClient with the .print client. If the end-device in use does not support .print technology only network printers are enumerated.

The printer creation process is done in 3 steps:

  1. get the printer list
  2. get the printers properties
  3. create the session printers with transferred properties

Steps (1) and (2) are performed by the tpautoconnect.exe (user) process and (3) by the TPAutoConnect service.

The tpautoconnect.exe process on the virtual desktop queries the .print client for state changes every 30s. Only the status change flag is transferred, not the whole printer list. If there were changes to the local printer setup (newly created printer, a printer was removed from the list etc.) the AutoConnect complete communication process is executed once again.

If you want to learn more about printing in VDI read my previous articles: Printing Architectures for VDI (Part 1) and (Part 2).

 Troubleshooting ThinPrint in large environment can sometimes be a daunting task. I have seen VDI environments with over 1000 printer devices, and having a process in place to troubleshoot printing issues can be very helpful. The process below help administrators to quickly troubleshoot and get to the bottom of the printing problem.

(Click to enlarge or Download Full Image here)

Screen Shot 2012-08-18 at 4.00.42 PM


Use the troubleshooting process below if virtual desktop desktops running ThinPrint are printing correctly to the virtual printer device, but there is no print out.

(Click to enlarge)

Screen Shot 2012-08-18 at 3.44.19 PM



This article was first published by Andre Leibovici (@andreleibovici)


    • Jil Roach on 09/01/2012 at 2:47 pm

    Oh how I could have used this article about June 1st…We were getting many complaints in our environment of frequent session disconnects on mostly Win 7 VDIs by users running one or more desktop sessions at a time on a laptop or workstation. The users were 0-1ms away from the Connection Broker infrastrusture so it was very puzzling (netwk latency not an issue.) We spent 2 months chasing the disconnects from our remote offices. We finally noticed CPU util on the physical laptops/workstations would go to 100% right before the session drops, with the VMware client and spooler.exe being in the Top 3 services running util up. We did over 40 Wireshark traces to determine that ThinPrint on Win 7 (predominately) and a specifically very busy print server (with bi-directional communication turned on for every print queue) was causing the VDI session disconnects. Disabling ThinPrint on the pools takes care of the disconnect issue as well as disabling bi-directional communication. We had upper management getting daily updates on these connection drops as they were VERY intrusive to the users during a critical business project. Folks were about ready to throw View out of the environment, despite having great support from VMware support along the way. Then around August 15th, VMware releases a KB around ThinPrint and disconnects…

    I have heard other friends of mine say they have seen the same issue in their environments as well. Definitely something everyone should be aware of is how ThinPrint works in mapping the printers into the VM sessions. Thanks Andre, love your blog!

  1. @Jil Roach
    Great! I’m glad it’s useful, and thank you for the feedback.


    • Jay Jackson on 03/01/2013 at 12:56 pm

    Hi just wanted to say loved the articles on ThinPrint in VMware, I found them very helpful! One issue I have is some of my printers are not mapping on the View Desktop. Looking at the Troubleshooting Flow Chart it says to “open .print client GUI, select on 1 local printer, wait 30s” but how do I access the .print client GUI in a Vmware View OEM installation?


Leave a Reply