With Microsoft Office 365, more specific Outlook in a multiuser environment is problematic, if pure Microsoft Remote Desktop Services or with Citrix XenApp/XenDesktop. The Exchange servers are in the Cloud, and therefore the Outlook Cache mode is required. With activating the cache mode together with roaming profiles, the OST file is stored under
AppData\Local\Microsoft\Outlook and can grow up to 100GB.
This results in the following issues:
- Profiles grow and therefore the login time increases.
- The OST file needs to be collected from
- Redirecting the OST file to a network share isn't really supported by Microsoft.
- Redirection in general works but reading the file through SMB can be an issue.
Next to the cache mode there is also the SearchIndex for Outlook and comes with the same issues. What are the solutions offered by Microsoft and Citrix for multiuser environments? Since the release of Citrix User Profile Manager (UPM) version 7.18, Outlook cache mode and SearchIndex can be used.
Current solutions on the market rely on linked virtual drives, like VHDX. Access the OST file through a linked virtual drive has the advantage of block-based read, compared to file-based read. Microsoft supports block-based since the release of the profile disk, FSLogic has even products for that and Citrix offers block-based access since UPM 7.18 and higher. With Microsoft, the whole Profile is stored in a VHDX file, but with Citrix, it's only for the OST file (maybe better for the Outlook folder) and the SearchIndex.
Native Outlook search experience (SearchIndex-Roaming)
That's the official term Citrix uses to advertise the new UPM feature. In my opinion "Outlook Cache Mode Roaming" or anything else related to the cache mode would have been better. Probably the reason why customers quickly overlook this new feature. The only Citrix policy that needs to be enabled is "Enable search index roaming for Outlook" and UPM will write the OST file into a VHDX on a network share.
How does it work?
As soon as a user logs in, UPM will create two 100MB VHDX files (dynamic up to 100GB) in the UPM store of the user. The creation will take some time during the login but only once. The Profile Manager uses the local Microsoft Virtual Disk Service to load the VHDX into the local system, and UPM then links the folder
%UserProfile%\AppData\Local\Microsoft\Outlook with the OutlookOST.vhdx file in the network share..
The process can easily be checked since the folder will then be shown as linked disk and you can see the loaded disk in the Disk Management, two virtual disks per user and with 100GB each.
What to look out for?
Errors loading the virtual disk through the Microsoft service can be found in the administrative event log and not in the UPM log or event. The service seems sensible when it comes to access rights even it runs in the system context. One of my customers set the UPM share only to "authenticated users" and removed "any user". This worked for administrator accounts but not for normal users. Resetting the permission solved the issue.
At the moment the is an issue with UPM linking the VHDX files to the local outlook folder. The event log shows 3005 and 3006 that the disk has not been linked, but no help that explains what the issue is. Only a hex value that cannot be found on the Internet. Looking in the UPM log is useless and my guess Citrix forgot to add help description completely. Temporary re-creation of the disk solves the problem for some time. You can rename existing disks to save the download time of emails and after creation just rename it back.
When the user logs off, the SearchIndex service takes quite some time to release open handles. If there isn't enough time to unload the profile, then the virtual disk is not discharged and will end in massive problems. Since the virtual disk stays loaded, the user cannot use the disk on another server. The User Profile Manger setting to delay the profile unload can help. Setting it to 90 seconds helped but you might need a higher value.
At last, Outlook stores by default all emails into the cache, so make sure to set the right time (3 months) in group policy.
Citrix offers with the new feature a solution for the Outlook Cache Mode and SearchIndex. The linking of the VHDX is inconsistent and therefore only something for a PoC. Error messages in that area don't help at all and you cannot find anything on the Internet about it. Citrix will hopefully improve the feature because it's very needed.