I received a reference document from a user, a rather complex Excel sheet. When selecting multiple tabs it took almost a minute to generate a print preview in Excel 2007 running on Windows 2003 with XenApp 5.
I was aware of a bug in the Xerox Universal Driver where almost 9.000 files were copied into the user’s profile directory (I wrote about that in an earlier post). But this seemed to be another problem.
I made a trace with Process Monitor while generating the print preview and this made clear that the driver tries to create the key HKLM\Software\Xerox. This is denied because a user has of course no permissions to write in HKLM:
The Registry Summary shows us that the driver tries to access HKLM\Software\Xerox almost 8.000 times before finally giving up:
I changed the permissions on the Xerox key to see what the driver writes to this key. It creates a subkey with the SID of the User under HKLM\Software\Xerox\V5.0\Low.
Then it gives the user special permissions on this key and subkeys so the user is allowed to write there.
Finally it stores a few settings in that key:
This looks like a serious design flaw because not only is a standard user not allowed to create keys under the HKLM hive but it also means that user settings are stored on a single machine and are not roaming with the user.
The good news was that the time to generate the print preview went back to around 4 seconds which is acceptable considering the complexity of the reference Excel sheet.
I tested in total 3 versions of the Xerox Universal Print Driver and they all exhibited this particular issue:
- 126.96.36.199N 2011.03.02
- 188.8.131.52N 2011.06.10
- 184.108.40.206 2011.12.07