TSUsage32.exe is clearing out a registry entry on the citrix box causing a conflict with other applications

  • 7001466
  • 01-Oct-2008
  • 27-Apr-2012

Environment

Novell ZENworks 7.5 Asset Management - ZAM7.5

Situation

TSUsage.exe, the main usage executable, is writing to and clearing out a needed registry value on the Citrix box when started.  Need more logic to append instead of clearing out the registry value.

Resolution

Fixed in ZENWorks Asset Management Interim Release 16 or newer.

Interim Releases can be scheduled to run automatically or can be downloaded manually at https://download.novell.com .   The Interim releases can be set up within the ZAM Manager for the Task server to check the site on a scheduled basis, and download and apply them automatically. Please refer to the Help Section for details of how to set up automatic downloads if desired.

Each interim release is cumulative. If Interim Release 16 is not available due to a newer interim release being placed on the website, be assured that the code needed is in the later release.

Status

Reported to Engineering

Additional Information

TSUsage.exe writes to the registry in order for UMHelper.exe to read and report back to it, which is how the logic works with Citrix to handle multiple-user usage monitoring. Without access to that registry key, we can't do usage monitoring in Citrix.
 
If they do not have any write access to that registry key, then they can't use usage monitoring on that machine.
 
UMHelper.exe lives inside a Terminal Services session watching for application usage and then reporting back to TSUsage32.exe.
 
The registry setting is:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWI

Value Name:LogoffCheckSysModules

Type:REG_SZ

String:SLWTS.exe,slbroker.exe

That key is used to tell Citrix what background programs to kill when a Citrix session is ended. If UMHelper.exe is setting a value, it should:

- Check the registry key to see if value exists

- If registry value doesn't exist then add

- If registry value does exist then check to see if UMHelper values are present

- If registry value does exist and UMHelper values are present then ignore

- If registry value does exist and UMHelper values are not present then append values to string.