The value of HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun Citrix UPM UserMsg differs in different VDA versions.
For 7.6 VDA’s the value is C:Program FilesCitrixUser Profile ManagerupmUserMsg
For 7.15 VDA’s the value is C:Program filesCitrixVirtual Desktop AgentupmEvent wait
In this case the VDA version was 7.15 LTSR CU4, hence we replaced C:Program FilesCitrixUser Profile ManagerupmUserMsg with C:Program filesCitrixVirtual Desktop AgentupmEvent wait and DesktopReady Event 1000 started getting logged and the logon duration for desktop sessions also showed up in Citrix Director.
We have certain payload send conditions and if those are failed, the logon duration payload will not be sent. One of those condition is to have a valid DesktopReady event.
The UPM installer add an entry to the Windows “Run” key to run the command “upmUserMgs wait” when the user logs on.That command find the Windows explorer process and uses the Win32 API WaitForInputIdle to detect when it’s ready to interact with the user. At that point the upmUserMsg program writes an entry to the event log with source “Citrix ProfileManagement” and event ID 1000. The UPM WMI plugin detects that event and uses its timestamp to fill in the DesktopReady field.