Hosting Microsoft Office on a Virtual Machine like a Citrix XenApp server should be very straightforward provided your Virtual Environment had been previously set up. Nonetheless it is vital that you carefully plan whether you would like to install the default options of the office applications or you would like them customized for each of your users. It might be annoying for your users, for example, to see more than ten languages to select from when translating a word. Therefore, you might want to consider restricting the languages and dictionaries running on the servers to only a few of them.
However, one thing that may buy you a quick win and make Virtualization sell itself to your users is preserving his/her customized icons on the Office Applications Quick Access Toolbar. You might be wondering how would a fancy toolbar that would not affect the user's operation in anyway lead to a quick win. Well, that's because you are thinking from your perspective. From a user's perspective things like the Quick Access Toolbar might be the grain that would tip the scale towards adopting or resisting virtualization.
The purpose of this tutorial is to show you how to preserve the users' Quick Access Toolbar customizations in their virtualized Microsoft Office applications (Word, Excel, etc...) in a virtualized environment.
The Quick Access Toolbar in Microsoft Office 2007 lies next to the Office button at the top left corner of the application. Similarly, the Quick Access Toolbar in Microsoft Office 2010 lies next to the application's icon at the top left corner. Any change made to this toolbar (adding or removing icons) is saved with a .qat extension file in Office 2007 and a .officeUI extension file in Office 2010 version. Microsoft word saves it with the name word.qat or word.officeUI depending on Microsoft Word version. Similarly Microsoft Excel saves it with the name excel.qat or excel.officeUI. And so on for the rest of the Office applications.
These files are by default saved in the local settings of the user's profile. If your server hosting the application is a Windows Server 2003 or prior version, then these files will reside under the following location:
C:\Documents and Settings\%username%\Local Settings\ Application Data\Microsoft\Office\
Where %username% is the Windows user ID. In Windows Server 2008 (including R2) .qat and .officeUI files are saved under the local folder of the user profile as follows:
The word local
in both locations is critical. As they exist in these locations this would imply that they are not roaming. The challenge here manifests itself when the user say has logged off from his session for some reason and plans to re-log on after one hour. In a big virtualized environment with many servers hosting the Office applications this would mean that the user would most probably land on a different virtual machine. If so he/she will not be able to see his/her toolbar customizations! Therefore in a Virtualized environment like the Citrix XenApp environment where a user’s session might connect to a different server each time, the user will experience a constant loss to the changes made to this toolbar.
Make Your Toolbar Roaming
Our goal here is to have the .qat or .officeUI files saved in the ‘Application Data’ of the user's roaming
profile. The change required here can be achieved through the HKEY_CURRENT_USER
(HKCU) hive in the registry. This hive could be considered roaming in a sense that the changes made affects the logged on user only and whatever machine he/she logs on afterwards, would carry these changes with him/her.
Care should be taken when performing any change to the registry. A change in the registry might render the operating system inoperable. Microsoft doesn’t support changes to the registry and doesn’t consider itself liable on this part. Therefore it is recommended that you back up the registry before doing any changes.
In the conventional environment where there is no Virtualization or Application hosting, a double word (DWORD) value needs to be added to the ‘Toolbars’ key in the registry for every user. This is located under the following locations for Office 2007 and Office 2010 respectively:
If you can’t find the 'Toolbars' key then you need to create it manually. The double word value to be created should have the name ‘QuickAccessToolbarRoaming
’ for Office 2007 or 'CustomUIRoaming' for Office 2010 and the values should be set to a hex ‘1’.
However, in a Virtualized environment the user's HKCU hive can only be accessible when the user is logged on at which stage it is impractical to be done manually for every user (imagine you have 1000+ users).
To overcome this problem, we need to create a script which will do these registry changes for the user when he/she connects to any of the servers through a terminal services session. The script will run as the user logs on any of the Virtual servers (i.e. clicks on any of the available applications like Ms Word) with his/her terminal services roaming profile.
The script will be a batch file saved in the NetLogon folder in your Windows domain. This batch file should be called from the group policy linked to the Virtualized environment organizational unit (OU) in the logon section. Alternatively, you can publish the script instead of the Office application itself; however, you will then need to call the Office application from within the script. Here are the contents of the script for Office 2007:
REG ADD HKCU\Software\Microsoft\Office\12.0\Common\ Toolbars /v QuickAccessToolbarRoaming /t REG_DWORD /d 1
Likewise, here are the contents of the script for Office 2010:
REG ADD HKCU\Software\Microsoft\Office\14.0\Common\ Toolbars /v CustomUIRoaming /t REG_DWORD /d 1
The script is self-explanatory. The script will run when the user launches a Virtualized Office application (in technical terminology log on through terminal services or Remote Access in today's terminology to a Virtual server) and do the registry changes for the user. ‘REG ADD’ instructs the script to add a registry entry in the key located under the mentioned hive. The ‘/v’ switch tells the script that the name value of the entry will follow; the ‘/t’ switch informs the script the type of the value (double word in this case) and the ‘/d’ switch assigns the value of the entry.
Regardless of the vendor of your virtualized environment we saw how we can make the users' Quick Access Toolbar of the Office applications roaming. The differences between Office 2007 and 2010 regarding the toolbar have been clearly defined on multiple Windows platforms. Being able to preserve the customizations on this toolbar, will buy you a quick win towards selling Virtualization to your users and customers, especially if you are still in the process of implementing Virtualization or you are still in the initiation phase.