I will try to help, are you trying to redirect a local or a network printer?
What are you using for users profile management?Mike_A
These are network printers, from multiple sites. I'll try and make a quick diagram:
(1) Horizon application or Zero Client -----> (2) Horizon Desktop (Terminal Server 2012r2) -----> (3) Horizon Published App
1: Just a pc or a zero client that is running the Horizon 7.0.1 client - these machines are dumb, and have no settings / domain join etc or ability to print.
2: This is where most people spend their day - users log into one of 5 terminal servers, where all of the printers are over the network. Another instance of the Horizon client is installed here, so that users can access externally published Horizon applications
3: The user opens the Horizon published application from within their terminal server session - printers from the terminal server session are not shared with the Horizon published app.
At the moment, Horizon is using virtual printing to share the printers from level 1 to level 3, but printers at the level 2 area are not published to level 3. I don't think that I can use location-based printing, as the application / level 3 environment doesn't have direct access to level 2 (separate networks). Testing this at the moment, but people will need to be able to print from their published apps. I believe that ThinPrint can do this (ThinPrint 10.0 Documentation), as session-in-session is explicitly covered, and I would assume that something similar would be available in Horizon, however i can't seem to find anything that works.
Thanks for your help Mike!
Form my experience, you will need the ThinPrint Engine server because the ThinPrint that is in VMware Tools only leverages local printer driver redirection.
My current client is running into the same scenario, minus the Terminal Server, and they also wanted to not have to load all the print drivers into the master image. So I suggested they look at the full version of ThinPrint to handle all their printing and driver management to a central server/servers. ThinPrint has Auto-connect, which allows you to condition/permission users to get their printer by many ways. This client is using VMware UEM, so they will be managing their condition/permissions via this product to keep all user settings centrally managed. So ThinPrint would just centralize the printer drivers and allow them to send the print queues to any endpoint device.
Hope this helps for you to make a decision for your environment.Mike_A
Thanks for your help, but we have found an as-of-yet undocumented solution.
Imagine that this is your environment:
On the level 2 session (in the above diagram, the 'Terminal Server'), the following registry key has to be set to "0" instead of its original value of "1":
I have only tested this on using the Horizon 7.0.1 agent as well as version 4.1 of the Horizon view client, so ymmv.
After applying this fix, printers are available FOR RDSH APPLICATIONS in the third session as seen above.
Hopefully I can help you now, as I too was looking at purchasing the ThinPrint Engine and was amazed at how expensive it was!
Thx for the response j_kent.
The client here needs ThinPrint engine for other use cases, they need it for.Mike_A
Thx @j_kent, this solved our issue. This seems to solve the problem when doing PCoIP session-in-sessoin's where the user has a zero client device and de session-in-session desktop needs to get the default printer of the cliënt desktop. Client desktop run's Horizon Agent 7.0.3 and Horizon Client 4.3.
VMWare reference documentation @ Documentation for VMware Horizon 7 version 7.0