Virtualizing Microsoft Office: a Handy Collection of Tips
One of the most popular programs to virtualize with Software Virtual Solution (SVS) is the Microsoft Office suites. Whether it's for easy deployment (so you can have multiple versions of Office running) or just because you want to keep your computer clean, a lot of people are taking advantage of what SVS has to offer with respect to MS Office.
However, Office is a complicated program and there are times when certain things may not work as expected when it's captured into a virtual layer. Over the past year I've collected all manner of notes from personal use, the forums, and here on the Juice. I've compiled them into this comprehensive guide on SVS and Microsoft Office.
This article covers Office 2003 and 2007, I do test on Office 2000 but it's used less than the other two in business and isn't what we on the SVS team use (we have Office 2007 in a layer).
I'm going to break this article down into a few different areas so you can quickly find what you need. I'm sure most people will be using this to resolve issues and will not be reading though the whole thing.
Application Issues
There are a few programs inside of Office that don't currently work with SVS.
Business Contact Manager 2007: This part of Outlook 2007 will not capture because it requires MSSQL which can not be virtualized with the current version of SVS (2.1.2084). If you must have a virtualized version of MSSQL you can try to capture it with SVS version 2.0.1407 and then import it into newer version of SVS.
Office Clipart Organizer: In Office 2007 the clipart organizer will not work properly when virtualized. This does not happen in Office 2003 but will happen on both Windows XP and Vista.
Groove 2007:Groove will not launch as a virtualized layer.
Visio 2007: Visio 2007 can be captured in XP but shouldn't be on Vista due to Transactions, and it will work just fine, but it won't work when exported to Vista.
Fonts
With SVS 2.1, fonts in a layer do not get registered with Windows when the layer is activated. There are multiple symptoms that can result from this, including square boxes in the Outlook calendar view where graphics are supposed to be. This will be rectified in a future release of SVS. Until then, copy all the fonts from the Office layer to the base. Or you can just run Jared's CopyFonts program: http://www.symantec.com/community/download/269/cop....
If you still see font issues (after trying the above mentioned fixes) you'll probably need to delete the fonts folder and registry key from the layer.
While Outlook works just fine in a layer, there may be some issues with the default mail setting, the mail control panel app, and the "send to mail" feature in many applications and the Windows drop down menu. Almost all of these issues are caused by 8.3, or short file names.
When you capture a version of Office it gets registered in the layer as MICROS~1, its 8.3 name, however on every install of Windows XP there's a folder in the Program Files directory named Microsoft Frontpage. This folder isn't easy to delete (if it can be) since it recreates itself if you delete it after a restart. This Frontpage folder is registered with the XP system as MICROS~1 by default, so when you import or capture a layer there's a conflict in 8.3 names and some things break.
Avoid these problems by installing Office into a different, non-Microsoft directory. So Office2007, or MSOffice (just as long as the first 6 characters aren't the MICROS) you'll be fine. This short file name issue is documented in the SVS 2.1 Release Notes and can affect other products as well (see this). Like the fonts registration problem, we do expect to fix short name handling in a future release of SVS.
If this doesn't fix your default mail and send-to e-mail problems, which it should, there's one more thing you can try which requires some registry editing. Back-up your registry before trying this.
Method 1:
You can target a version of Office directly making it the default by changing the following Registry value: HKEY_CLASSES_ROOT\mailto\shell\open\command
Method 2: (if the first method didn't work)
Do the following in the layer after capture:
- Delete the Mailto registry keys under HKLM\Software\Classes and the Outlook keys under HKLM\Software\Clients\Mail so there are no entries under either.
In the base:
- Delete all keys under HKLM\Software\Clients\Mail so that IE can't be set to anything else
- Change HKLM\Software\Classes\Mailto\shell\open\command to the following value: "%ProgramFiles%\Microsoft Office\Office12\outlook.exe" -c IPM.Note /m "%1".
- Verify its counterpart, in HKEY_Classes_Root\Mailto\shell\open\command, has the same value.
Other Challenges
Excludes: While not an issue in itself it's a good to remember that if you don't exclude a file type or folder, anything saved on your system will get captured into a layer and won't be usable when that layer is deactivated and will be gone when the layer is reset. By default, SVS adds the Desktop and My Documents to the folder excludes but it is recommended to exclude all the Office file types so there are no accidents. To do this quickly there are several tools on the Juice you can use like Jared's ExcludeGen: http://www.symantec.com/community/download/162/exc...
Help Viewer: The Office 2007 help viewer will only run once when virtualized. After that you'll get the following error "There is a problem with one or more of the installed help files. Please repair your Office installation..." This requires a simple fix which is adding [CACHE] and [TEMP] to the layer excludes.
User Profile: You probably don't want people's Office User Profiles getting saved into a layer, including Outlook Profiles. There are a few different methods for doing this.
While the below methods are still usable Scott recently posted a tip on how to save some user profile information with very little effort.
- You can use PC Transplant to capture a user's Outlook settings. Then, after the layer is reset, updated, or imported you can run the PC Transplant package which will import those captured settings back. The package should be executed from a layer so svscmd <layer name> exec -p <path to personality package.exe>
- You can combine Excludes with copying registry values to the base (SVS doesn't have registry excludes so you have to do this manually), Microsoft lists all of the registry keys used in Office here: http://support.microsoft.com/kb/826809/en-us
- You can use the save my setting wizard described in the link above to export a user profile and save it to the base.
Office 2007 on Vista
Office 2007 will run on Vista when virtualized, however, with SVS 2.1 it needs to be captured on XP and not Vista due to transactions. It's recommended that you capture Office 2007 on XP and then import the layer to your Vista Machines. You will also need to delete all SIDs from the layer before importing.
Sometimes Outlook crashes a lot on Vista, this can be caused by Vista's indexing services probably because it's seeing the redirect area and the normal path of outlook. You can get around this by adding Vista's indexing service to SVS's process ignore list or by changing a regkey that will prevent Outlook from getting indexed. The key you'll need to create is HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Wind ows Search\Preferences "PreventIndexingOutlook"=dword:00000001.
Running/Installing Two Versions of Office
A lot of people want to have two versions of Office installed on a machine or even running at the same time. This is possible with SVS but there are a few things to consider before doing so.
Short Filenames: The big one is Short Filenames (described in more detail in the E-mail section), this will cause you more headaches then its worth so it's best to just make sure each version of Office is installed into different folders in the Program Files folder (for example "Office2003" and "MSO2007"). The important thing to remember is the first 6 letters cannot be the same. However if you have to have Office installed into its default folder you can use the more complicated workaround described in the E-mail section.
Shortcuts: When both versions are active, the shortcuts must have unique names so the end user can launch the desired version at will. See this article for details.
MSI Repair: When you switch between versions of Microsoft Office apps, an MSI Repair may be launched. This is because Office is re-registering itself with file types. When you click on a .Doc or .XLS it will launch the most recently run version of Office. According to Microsoft, there is no way to prevent this. http://support.microsoft.com/kb/244170.
Methods for Installing Multiple Versions
Both in Layers
This is the ideal way to have multiple Microsoft Office versions installed. You'll still run into MSI Repair issues but there will be no Short Filename issues unless you run both at once.
Problems with This Method
User Profiles
Unless installed to the base, User Profiles and Outlook profiles will be separate for each version of Microsoft Office installed. See the entry for user profiles above for a way to get the Office Profile of a user out of the layer and into the base.
Running Both at Once
Due to Short Filenames, you cannot easily run both at once. However, if you install both to different directories or use the other method described in the E-Mail section you can resolve that issue. There still will be problems with file type ownership unless you remove/change mime types in the layer itself.
One in Layer One on Base without Short Filenames
This is the next ideal method, installing one to the default install directory of Program Files/Microsoft Office and installing the captured version to something like Program Files/Second Office Install so you avoid Short Filenames all together.
Problems with This Method
User Profiles
Unless installed to the base, User Profiles and Outlook profiles will be separate for each version of Microsoft Office installed. See the entry for user profiles above for a way to get the Office Profile of a user out of the layer and into the base.
Office Updates
I have not tried updating versions of Microsoft Office that have been set up this way -- nor do I know how Microsoft handles multiple Office installs on a PC with its Office Updates system. Patching the version of Office in the base is easy enough since you can just deactivate the second version of Office. However to patch the virtualized version you'll probably have to download the patch manually and then execute the patch from the Office layer using SVScmd so the patch sees the virtualized version of Office before the version in the base, thusly patching the version in the layer.
- Login or register to post comments
- 6122 reads
- Printer-friendly version
















Good stuff
Thanks for the write up. I know office is one of those apps that can be a bit resistant to virtualization.
User Profiles
Can anyone elaborate on point number 2 under User Profiles? I want to exclude all user profile settings from being captured in the layer. I'm confused on how to do this since there is no excludes for it. The suggestion is to copy to the base but what do you copy if nothing is there yet? And how does that prevent future changes from going to the layer?
Article has been
Article has been updated.
I've added a link to Scott's article about Outlook user profiles, this should help robertser (sorry for not replying, I didn't see your post until now).
I've also added a fix to Outlook crashing that was given to me by mleonard1426.
Office Updates
How are updates applied to the layer after the layer is activated? Will Patch Management handle this task or does the layer need to be updated every time there is an update released?