Video Screencast Help
Symantec to Separate Into Two Focused, Industry-Leading Technology Companies. Learn more.
Endpoint Virtualization Community Blog

Using SWV's Isolation Rules to get around Office 2003 & 2007 MSI Repairs

Created: 23 Jun 2009 • Updated: 29 Jul 2010 • 13 comments
Jordan's picture
+3 3 Votes
Login to vote

One of the issues with running two versions of Microsoft Office at the same time, with one in the base and one in the layer, is the MSI repair that gets launched when you switch between versions.  This is happening because Office is trying to change the file associations for you so the version that was just launched has ownership.

With SWV 6.1 we introduced layer isolation, which can be defined as what can or cannot see the layer and what the layer can see, well this works for many situations but sometimes you need something more granular which will let you specify specific things that are isolated, Jeremy discussed this in his article on using SWV 6.1 to virtualize different versions of Java, which is what we need for Office. 

To get around the MSI repair all you need to do is create a new Multi-Size registry value named IsolationRules under the Read Only Sub-Layer (so this doesn't get deleted when you reset the layer) of the office layer and then place the following data inside it (remember to replace myGUID with your layer's GUID):

*\winword.exe<tab>BASE<tab>0x0002<tab>\REGISTRY\*<tab>*<tab>MyGUID

This rule states that any process of Winword.exe running in the base cannot see any of the registry keys for the layer.  Alternately you can reverse the rule to:

*\winword.exe<tab>myGUID<tab>0x0002<tab>\REGISTRY\*<tab>*<tab>BASE

Now one thing to be aware of is the <tab> is a tab character which is not something you can type in Regedit so you should probably create the text in notepad and then copy and paste it.

Comments 13 CommentsJump to latest comment

tjwest's picture

I generally try to keep all Office products in layers, but this will be extremely helpful if we need to leave an Office app in the base.  Thanks Jordan!!!

+1
Login to vote
N1500's picture

i can't help in that case............
thanks

+1
Login to vote
jlevicke's picture

Does the above approach only work for SVS 6.1. I have added the key above but I still get the MSI Repairs. I'm running SVS 2.1

-3
Login to vote
Jordan's picture

yes it's SWV 6.1 only.

If a forum post solves your problem please flag is as the solution

+1
Login to vote
Artex74's picture

A simpler solution for this point without (or with swv 6.1) is following the  KB microsoft
http://support.microsoft.com/?scid=kb%3Ben-us%3B92...

creating/adding the reg key  NoReReg=1
HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word\Options

Isolation feature is still a great way to improve isolation between application.
It'll solve a lot of issue when KB aren't provided.

+1
Login to vote
Jordan's picture

Hey thanks for that KB article Artex.  I will point out, however, that the regkey you mentioned will only work for Office 2007 and maybe only Word 2007 (it's the only office app that's mentioned in the KB article) while isolation would work with any version of Office as well as any Office Application.

If a forum post solves your problem please flag is as the solution

+5
Login to vote
Taiwan's picture

A quick question - Where do I create the following registry key under? HKLM\Software hive?

*\winword.exe<tab>BASE<tab>0x0002<tab>\REGISTRY\*<tab>*<tab>MyGUID

Thank you so much.

+3
Login to vote
Jordan's picture

HKLM\SYSTEM\CurrentControlSet\services\FSLX\Parameters\FSL\# where # is the magic number for your layer which is easiest to find by going to view->details in SWVadmin and looking for the number after RO=.

If a forum post solves your problem please flag is as the solution

-1
Login to vote
AndyDP's picture

I have virtualized MS Office XP to run on a Windows 7 workstation with Office 2010 installed on the workstation. I have added this registry key to RO layer of the package. I am still getting the msiexec repair running when I launch MS Office 2010. I have added a screen shot of the entry I made to the RO registry.

-1
Login to vote
Jordan's picture

Don't place the isolation rule inside the layer, it needs to be in the base.

If a forum post solves your problem please flag is as the solution

-1
Login to vote
etk1131's picture

I put the

*\winword.exe<tab>BASE<tab>0x0002<tab>\REGISTRY\*<tab>*<tab>MyGUID value into the IsolationRules key in the base (along with entries for Excel and Powerpoint), then pushed it to an XP machine with Office 03 in the base and a virtual Office 10.  SWV Admin (6.3.1.53) was used to create the .xpf file.

I'm still seeing the MSI repair being run when the virtual layer is active.  If I use the alternate key,

*\winword.exe<tab>myGUID<tab>0x0002<tab>\REGISTRY\*<tab>*<tab>BASE, ,  , I get an error that states that the OS is not presently configured to run this application.

I'd love to have both versions of Office available side by side for a group of end-users to be able to preview Office 2010 before we upgrade them for real.

Please let me know what I'm doing wrong here! 

Thanks in advance.

+3
Login to vote
Norbert Bauer's picture

Looks nice, but how can i deploy the registry value on all machines, when the Path to the layer is not the same on all clients?

Thanks

-1
Login to vote
marcoh's picture

There is no need to deploy this separately.

IsolationRules are part of the layer when you export it and SWV works out the magic number automatically on layer import smiley

+3
Login to vote