Last updated:
This week, I encountered an interesting issue with Citrix Profile Management (UPM) at a customer.
After restarting the VDAs, various startup applications did not run during the first user logon.
The symptoms:
❌ Applications from the Windows Run keys did not start
❌ Shortcuts in the Startup folder were ignored
✅ Everything worked on the second logon
❌ The issue returned after a VDA restart
Initially, I focused on the usual suspects: GPOs, WEM, logon scripts and Windows Explorer.
But the actual cause was in the user profile.
🔍 What did I find?
During the investigation, the following registry key caught my attention:
|
1 2 |
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\SessionInfo |
It contains session-related information for Windows Explorer.
In the affected environment, Citrix UPM persisted this key in the user profile and restored it at the next logon.
This apparently carried over outdated session information that affected initialization of the startup applications.
🛠️ My solution
I excluded the registry key from profile synchronization in the Citrix UPM configuration.
Citrix UPM GPO:
Profile Management → Registry → Exclusion list
Added the following entry:
Software\Microsoft\Windows\CurrentVersion\Explorer\SessionInfo
Next, I cleaned up the SessionInfo data already stored in the affected test profile and tested logon again.
The result:
✅ Startup applications ran again on the first logon
✅ The issue did not return after a VDA restart
✅ No changes to the applications themselves were required
💡 My takeaway
Not every logon issue is a problem with GPOs, WEM or Windows itself.
Especially in non-persistent Citrix environments, it is important to consider which registry information actually needs to persist between sessions.
In my view, session-related Explorer data does not belong in a permanently synchronized user profile.
I will therefore consider excluding Explorer\SessionInfo in my future UPM baselines, after assessing each environment.
⚠️ This exclusion is not a universally confirmed Citrix fix and should be tested before a production rollout.