During a recent Deployment of XenApp 7.6 on Windows Server 2012 R2, when users ran an application that exported data to Excel they kept getting this error:
Checking the XenApp session host server which was sized at 2vCPU and 8GB of RAM there was plenty of memory available as there was only one users logged into the server. Launching Excel then opening a workbook was fine and did not result in the error and after patching Office 2010 to the latest patch the error still persisted. After investigating there was no reason why this error would appear.
It would appear that this is a bug in Excel 2010 and Excel 2013 running on Windows Server 2012 R2 and excluding AppData\Local with Citrix Profile Management which is done to reduce the size of profile. With this configured the Cache folder ends up not having allocated enough space, the folder is part of the User Shell Folders in their profile.
Here's the Solution:
Redirect the user Cache directory to C:WindowsTemp, but doing so without the need to load the hive and hack the default profile’s NTUSER.dat.
First assign Users Modify rights to C:WindowsTemp, otherwise they will not have access and this will not work.
Create a GPO Preference Registry Collection named something descriptive such as Excel Cache Directory
Create a new Registry Item pointing to: HKEY_CURRENT_USERSOFTWAREMICROSOFTWINDOWSCURRENTVERSIONEXPLORERUSER SHELL FOLDERS
The Value Should be Cache
The Data Should be C:\WINDOWS\TEMP
The Type Should be a REG_EXPAND_SZ
Allow for the GPO to replicate and run a GPUPDATE /FORCE and test and you should no longer see the error.
The next time you encounter this issue give this a try. For more information please leave a comment.