In previous releases of XenApp, a registry flag called DefaultPrnFlags was used to modify advanced printing options. It was a single DWORD in which a particular hexadecimal value was set if an option was turned on. If two or more options were desired, the corresponding values were added together and the resultant value was stored in the registry. DefaultPrnFlags has been removed in XenApp 6.0, but the functionality it supported is still available for both XenApp and XenDesktop environments.
One of the features introduced in XenApp 6.x and XenDesktop 5.x is Active Directory integration for policies. There are many new settings that can be configured using these policy objects. Most of the functionality previously provided with DefaultPrnFlags can now be set using these policy settings. Refer to documentation on policy configuration for more information about configuring these policy settings.
There are six settings previously covered by DefaultPrnFlags that are not available in Active Directory policies. These instead are configured using new registry flags under HKEY_LOCAL_MACHINESoftwareCitrixIcaPrintingSettings. These registry flags are not created during installation and in this state the defaults are used. To configure these settings, create the specified REG_DWORD value under HKEY_LOCAL_MACHINESoftwareCitrixIcaPrintingSettings on either the XenApp server or XenDesktop VDA and set the data to the desired value. Refer to the following table for more information.
New REG_DWORD value | Default data | Legacy DefaultPrnFlags value | Description |
DisableNetworkPrinterAutoConnect | 0 (False) | 0x00400000 | Disables the connection of Session Printers during logon and reconnection. |
DisableNetworkPrinterDisconnect | 0 (False) | 0x00800000 | Disables the deletion of Session Printers during logoff. Results in the network printers becoming unmanaged within the user profiles. |
CreateStandardAndLegacyPrinterPorts | 0 (False) | 0x01000000 | Instead of creating either legacy style or standard port names, both types of ports are created. |
CreatePortsForAutoCreatedPrintersOnly | 0 (False) | 0x02000000 | Creates ports only as needed for auto-created printers rather than for every discovered client printer. |
AdminsCanManageClientPrinters | 0 (False) | 0x00004000 | By default, only the session users can access their autocreated printers. Even administrators on the server cannot access autocreated printers from other sessions. This flag adds the local administrators group to the ACL for all autocreated printers. |
UsersCanManageClientPrinters | 1 (True) | 0x20000000 | Adds the connected user account to the ACL of the autocreated printers. Allows users to print to their printers when they have multiple sessions on the same server with the same username from the same client device. |
Read the article on the Citrix blogs here.