The curious case of corrupted Citrix UPM managed roaming profiles- Outlook Signature changes aren’t retained

We have had a user complaining that his Outlook signature changes weren’t sticking after he edit the signatures. The issue seems to be only for this user and no one else seem to report this issue within the environment. What the support guys used to do is to perform a profile reset every time the user complaints and that will get the user back on track until the next time his profile breaks again.

The customer had a Citrix XenDesktop 7.0 site that comprises hosted shared desktop and applications running on Windows Server 2012 servers.Outlook 2013 is the mail client. Citrix UPM version is 5.0 with server VDA version 7.0. All these servers are created by Machine Creation Services.

Issue Troubleshooting

What I noticed was that the server with the user’s profile loaded showed the profile as Roaming where all the other profiles are shown as  local profiles. That was strange to me. I wouldn’t call it profile corruption as there is no such thing called corrupted profiles but they can break sometimes which results in settings not retained partially or completely. That’s for another discussion altogether for some other day. I had a look at the profile share and he seem to have all the correct settings in the Citrix UPM ini file.

Capture52

Looking further in the registry, the broken profile no longer has the UPM store path as shown below and the profile will also have a V2 folder created under the UPM store.

Capture50

Here is an example of a working profile

Capture51

You need to look under HKLM hive below

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

And every time a profile loses its UPM settings, the username.domainname.V2 folder gets created under the UPM user store and that is nothing but the Microsoft Roaming Profile. Deleting the V2 folder will result the folder to appear right back once the affected user log back in again.

Fix – I am not 100% sure of the cause of the profile corruption ( I know, i used the word profile corruption again :)) yet as it could be anything from a badly behaving application to an app that gets stopped in the middle from writing data to the profile but the fix is to follow the below steps. You might need to perform all or some of the steps outlined below depending on the case may be.

  1. If you have multiple servers, look for the affected user SID on all the servers/desktops under the below key and remove them
    HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
    
  2. Look under C:\Users folder and delete cached copies of the affected user profile
  3. Remove the V2 folders from under the Citrix UPM store
  4. Look for items under Pending folder and clear the files – please note just the files and not the folders. files will include ItemChanges.txt and contents of Stamp folder and UPM_Profile folder. we will need to retain the folders there after deletion as Citrix UPM will write all the user triggered changes to Pending folder until the session is logged off

Capture1

Get the user to log back in and user will be able to sync all the profile changes back to their Citrix UPM stores.

As a final step, I would enforce the GPO that manages the UPM store in the Group Policy console so that the settings are forcefully applied to the servers. I still haven’t found out what is causing this profile inconsistency and that’s where I ideally like to be. I will just have to get ProcMon to do its magic when I have a little more spare time on this.

Update –

I found out what was causing the profiles to break in our environment and it was Mozilla Firefox. So if you have Firefox published, then it has to be excluded from being a part of Roaming Policy but set that up as a mirroring policy instead

Exclusion Directories

Capture4

Mirroring Policy

Capture5

After I made the above change, there wasn’t a single case of broken profiles. It was UPM logs that initially gave me some clues on what’s was going wrong when Mozilla profiles were processed……  the above will also help to fix the issue with retaining Mozilla bookmarks and other settings. There you have it…. Hope this helps someone out there..

7 responses to “The curious case of corrupted Citrix UPM managed roaming profiles- Outlook Signature changes aren’t retained”

  1. this happens because Firefox does not completely closes itself upon user logout. It seems that some firefox process is still running and accessing (thus blocking) the profile even if the user session is completely killed.
    It seems to be the file “sessionstore.js” in the Firefox profile folder, at least its the last entry in the itemchanges.txt if an user is affected.
    We have a workaround where we just relocated the affected user’s Firefox profile to a seperate drive (in this case it’s the user’s home directory on a different network share).
    Firefox is not really compatible to a VDI environment.

    1. i will have to agree to this comment…

  2. is this also possible with google chrome this problem?

    1. Yes, I have seen this with Chrome too.

  3. I’m experiencing the same issues as you described in “The curious case of corrupted Citrix UPM managed roaming profiles- Outlook Signature changes aren’t retained” I manage my central store via the Citrix UPM policy, but before Citrix UPM we used the “RDS Profile” tab in ADUC to determine the location. Once the V2 profile begins to occur, after I clear the profile off the server and the Pending directory, If I also remove the old entry in ADUC “RDS Profile” tab I don’t get the problem again. It appears that UPM fails to read the UPMUserStoreLocation and then defaults to the location on the users “RDS Profile” tab in ADUC. Still don’t know why it fails to read the policy.

    Thanks for confirming I’m not crazy and the only one with the problem.
    -Jay

    1. Do you have Mozilla Firefox published in Citrix?

    2. It isn’t failing to read the policy but rather the profile has gone corrupted and the policies cease to apply for such profiles and fails back to the RDS profile entry or the ADUC entry. The root cause of the corruption need to be identified and in my case it was Mozilla Firefox.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.