Microsoft Office 2010, more integration in App-V 4.6

I’ve been able to sequence every version of Microsoft Office I’ve ever come across. This goes back to Microsoft Office 95/97, 2000, but also more recent versions like Office 2003 and 2007. But I’m not writing this post to brag about this impressive list (ahum) and also not because I can now add Microsoft Office 2010 to that list as well. No, I’m writing this post because this time it was the first time that there was actually a significantly different approach in virtualizing Microsoft’s top product on collaboration, email, presentation and document management and other, often online, related services.

When I’m at a customer that are starting with application virtualization, they ask me frequently: “Ment, should we be virtualizing Microsoft Office?”

The answer to this question has always been “well, it depends…”

Technically you can sequence Microsoft Office just fine. The benefits of virtualizing Office includes running multiple versions of Microsoft Office on a single machine. Particularly useful in scenarios where organizations have LOB applications that are tied to specific, usually older, versions of the Office product. No more need for multiple computer running different versions of Office.

But there is a downside to this approach as well. The most often heard complaint from users is that not all features from Microsoft Office seem to be working, especially those that tie deep into the Operating System.

Now I’m not a heavy Office user and above all a technical guy. I find my way around the application. I start an Office application like Word, Excel, Powerpoint and Outlook from the start menu or from a file type association. I don’t mind that I can’t edit a document in Sharepoint, I just download en open and I don’t mind that I have to configure the mail settings through the virtual environment (how often does this change). On the other hand I do mind that Outlook Fast Search wasn’t working though, because I don’t seem to organize my stuff efficiently and this feature helps me a lot.

But I can understand that end users simply don’t understand this approach. All functionality in Microsoft Office simply needs to work. For these users Microsoft has been all ears. With the release of Microsoft Application Virtualization 4.6 and the Microsoft Office 2010 Deployment Kit for App-V these downfalls are now fixed, making the user-experience closer to natively installed than ever.

The Office Deployment Kit for App-V enables the following functionality while Office is running virtualized:

  • Extend your usage of virtual Office 2010 through improved SharePoint integration to Open, Save, Edit files.
  • Find your email items quickly with Outlook’s  Fast Search.
  • Connect to your inbox using Microsoft Outlook Send To functionality.
  • Print your documents directly to OneNote.
  • Find contents within your documents using Office Document Indexing.
  • Open Web based calendar items and RSS Feeds in Outlook.
  • Perform advanced mail configuration using the Virtual Mail Applet.

The Deployment Kit offers proxies to deliver the functionality above. These proxies are simply additional entry points to the virtual environment. Normally shortcuts, file type association etc. are providing these entry points, but because the above functionality is so tight with the operating system, additional entry points had to be created. They will simply pick up a request (an API) and send it to an application in the virtual environment.

When it comes to deployment scenarios, the following will be supported:

Microsoft Office 2010 Sequencer Operating System Deployment Kit on the Sequencer Client Operating System Required Deployment Kit on the Client Supported
32bit 32bit 32bit 32bit 32bit Yes
32bit 32bit 32bit 64bit 64bit Yes
32bit 64bit 64bit 64bit 64bit Yes
32bit or 64bit 64bit 64bit 32bit 32bit No, sequencing on 64bit requires 64bit Client
64bit 32bit 32bit 32bit 32bit No, 64bit software can’t be installed on 32bit OS
64bit 64bit 64bit 64bit 64bit Yes, but proxies will not work

In this post I will provide you with some guidance how to virtualize Microsoft Office 2010 based on information from Microsoft (Prescriptive Guidance for Sequencing Microsoft Office 2010 on Microsoft App-V 4.6), information on Technet and my personal experience.

I will go for the first scenario in the table (highlighted in green). You must use App-V 4.6 as the proxies are not available on App-V 4.5. For demonstration purposes I will install all of the Microsoft Office 2010 applications and setting up all of the proxies. You can adjust this to fit your own organizational needs.

Preparation

Sequencing preparation involves setting up a machine that is representative for and end user device in your environment. Microsoft offers best practices in that area and I do advise you to keep them in mind (and read the sequencing guide), because I will not cover these basics in this post. You will need to:

Other best practices include:

  • Disable and stop the Windows Update service (net stop wuauserv)
  • Normally you would disable the Windows Search service, but since we are explicitly are elevating this features, we leave it enabled.

Preparation also includes installing the Deployment Kit on a elevated command prompt and configured with some of the following parameters:

  • If activation of Microsoft Office 2010 is done through KMS activation:
    • PROFESSIONALPLUS=1, VISIOULTIMATE=1, PROJECTPROFESSIONAL=1 depending on which Office installation you are installing
    • KMSSERVICENAME and KMSSERVICEPORT
  • If activation of Microsoft Office 2010 is done through MAK:
    • Option 1: Volume Activation Management Tool (VAMT)
    • Option 2: PIDKEYS=”xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx”
    • USEROPERATIONS=0 if you want only Administrators to activate Office. USEROPERATIONS=1 if you want to let Non-administrators (e.g. Users) to activate Office.

I will be executing the following command:

msiexec /i OffVirt.msi PIDKEYS="xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx" USEROPERATIONS=1

Check out the video below how to prepare for sequencing Microsoft Office 2010:

Sequencing

Once you have prepared your sequencing machine for Microsoft Office 2010, it’s time to start sequencing. Installing Microsoft Office is pretty straightforward since I’m going to install all Office applications, but you can choose otherwise.

Start a New Package and give the package a descriptive name, like “Microsoft Office 2010”

The following actions should be done during monitoring:

  • Install Microsoft Office 2010 to an 8.3 directory on your mount drive (i.e. Q:\OFF2010.V01) or if you are following strict sequencing guidelines you might want to install in a subdirectory. You’d might not want to include spaces in this path, just to be sure. (i.e. Q:\OFF2010.V01\MsOffice)
  • Don’t select Install on First Use for any Office application. Either install or don’t install. I will be selecting the entire suite here just for demonstrating purposes.
  • The Office installation does not have to be activated during sequencing.
  • Start your preferred applications (like Word, Excel etc) and configure settings to fit your needs.
  • I personally like to change the shortcut location from "..\Start Menu\Programs\Microsoft Office" to "..\Start Menu\Programs\Microsoft Office 2010". This would make sure that the shortcuts don’t end up in the same area as a potential local (or other virtual) installation of Microsoft Office.

Execute the following registry commands. Make sure that start an elevated command prompt during monitoring:

reg add "HKLM\SOFTWARE\Microsoft\Windows\Windows Search\Preferences" /v "{4154494E-BFF9-01B8-00AA-0037D96E0000}" /t REG_DWORD /d "1" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\Windows Search\Preferences" /v "{C0A19454-7F29-1B10-A587-08002B2A2517}" /t REG_DWORD /d "1" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\Windows Search\Preferences" /v "{70fab278-f7af-cd11-9bc8-00aa002fc45a}" /t REG_DWORD /d "1" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\Windows Search\Preferences" /v "{c34f5c97-eb05-bb4b-b199-2a7570ec7cf9}" /t REG_DWORD /d "1" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\Windows Search\Preferences" /v "{0077B49E-E474-CE11-8C5E-00AA004254E2}" /t REG_DWORD /d "1" /f

Warning: the following commands hold registry keys for the 32-bit OS installation only. If you are sequencing 64-bit OS, you’ll need other registry key, see the Microsoft Recipe for more info.

reg add "HKCR\CLSID\{9203C2CB-1DC1-482d-967E-597AFF270F0D}\TreatAs"
reg delete "HKCR\CLSID\{9203C2CB-1DC1-482d-967E-597AFF270F0D}\TreatAs" /va /f reg add "HKCR\CLSID\{BDEADEF5-C265-11D0-BCED-00A0C90AB50F}\TreatAs"
reg delete "HKCR\CLSID\{BDEADEF5-C265-11D0-BCED-00A0C90AB50F}\TreatAs" /va /f

Also run the next registry commands, but be careful with copy and paste here, because the installation path and SFT_MNT drive is referenced. Be sure to change it to your situation:

reg add "HKCR\CLSID\{3FD37ABB-F90A-4DE5-AA38-179629E64C2F}\InprocServer32" /t REG_SZ /d "Q:\OFF2010.V01\VFS\CSIDL_PROGRAM_FILES\Microsoft Office\Office14\OWSSUPP.DLL" /f

reg add "HKCR\CLSID\{62B4D041-4667-40B6-BB50-4BC0A5043A73}\InprocServer32" /t REG_SZ /d "Q:\OFF2010.V01\VFS\CSIDL_PROGRAM_FILES\Microsoft Office\Office14\OWSSUPP.DLL" /f

reg add "HKCR\CLSID\{9203C2CB-1DC1-482D-967E-597AFF270F0D}\InprocServer32" /t REG_SZ /d "Q:\OFF2010.V01\VFS\CSIDL_PROGRAM_FILES\Microsoft Office\Office14\OWSSUPP.DLL" /f

reg add "HKCR\CLSID\{BDEADEF5-C265-11D0-BCED-00A0C90AB50F}\InprocServer32" /t REG_SZ /d "Q:\OFF2010.V01\VFS\CSIDL_PROGRAM_FILES\Microsoft Office\Office14\OWSSUPP.DLL" /f

The following need to be executed after monitoring (in the Configure Applications step of the App-V Sequencer wizard):

  • Add the following applications to enable the proxies:
    • Proxy MailTo
      • %commonprogramfiles%\microsoft shared\virtualization handler\MapiServer.exe
    • Proxy Virtual Search Host
      • %commonprogramfiles%\microsoft shared\virtualization handler\VirtualSearchHost.exe
    • Proxy Virtual OWSSupp Manager
      • %commonprogramfiles%\microsoft shared\virtualization handler\VirtualOWSSuppManager.exe
    • Proxy Virtual Mail Cpl
      • %windir%\system32\Control.exe Q:\OFF2010.V01\MsOffice\Office14\mlcfg32.cpl. Watch out here, there’s a link here that depends on your installation path. So be careful with copy and paste.
  • Not obligatory but I like these additional shortcuts to the virtual environment, because they might help me during troubleshooting and in other scenarios:
    • Command Prompt
      • %CSIDL_SYSTEM%\cmd.exe
    • Internet Explorer
      • %CSIDL_PROGRAM_FILES%\Internet Explorer\iexplore.exe
    • Internet Connections Cpl
      • %CSIDL_SYSTEM%\inetcpl.cpl. Might become handy to define proxy server connections.
  • By default the Add Applications wizard will create a shortcut for each added application. Because the proxies don’t need a shortcut, you can go ahead and remove that in the wizard.
  • I personally like to rename all proxy applications to start with a similar word, so they sort out neatly in the screen.
  • Make sure that the versions of all the Applications (including the proxies) are equal (for example: 14.0.4536.1000). You can change this in the Add Applications step of the wizard, but also manually change the OSD files after saving the entire project with Login Consultants OSD Editor.

Optionally you can define Primary Feature Blocks by launching each of the application during the Launch Application step of the sequence wizard.

When all monitoring is done you should do the following steps in the sequencer do the following:

  • Set the following registry key to “Merge with local”
    • HKEY_LOCAL_MACHINE\Software\Microsoft\Office\14.0
  • In each of the OSD’s add the LOCAL_INTERACTION_ALLOWED tag under SOFTPKG -> IMPLEMENTATION -> VIRTUALENV -> POLICIES -> LOCAL_INTERACTION_ALLOWED. Set the text to “TRUE”.
    • Alternatively you could save the project and edit the OSD’s through Login Consultants OSD Editor (registration required). This is what I would recommend!
  • Not mandatory but you can clean up your sequence as well. I would check out the following directories and decide whether or not to include them:
    • C:\Windows\Installer
    • Q:\MSOCache
  • You should also decide whether or not to Compress the package (I like to do so).

Save the project and you’re done sequencing! Check out these video where I demonstrate the actual sequencing steps.

Part 1/2

Part 2/2

Deployment

Once you have created the sequencing of Microsoft Office 2010 you can deploy it to a target machine.

Install Microsoft Application Virtualization Client 4.6 on the target machine. Depending on your infrastructure you should supply property values that fit your needs, which you can find here. For demonstration purposes I’m using a standalone configuration:

"setup.exe" /s /v"/qb-! SWICACHESIZE=\"6000\" AUTOLOADTARGET=\"NONE\" REQUIREAUTHORIZATIONIFCACHED=\"FALSE\" SWIFSDRIVE=\"Q\""

Install the Deployment Kit the same way it was installed on the sequencer. In my case:

msiexec /i OffVirt.msi PIDKEYS=xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx USEROPERATIONS=1

Then you need to activate the Deployment Kit proxies through the following command line:

msiexec /i OffVirt.msi ADDDEFAULT=Click2runOneNoteProxy,Click2runOutlookProxies,Click2runWDSProxy,Click2runOWSSuppProxies PACKAGEGUID={F5E9C7F8-1EF1-4486-AB9D-C491000695E9} PACKAGEVERSION=14.0.4536.1000 OUTLOOKNAME="Microsoft Outlook 2010 (Beta)" ONENOTENAME="Microsoft OneNote 2010 (Beta)" MAPISERVER="Proxy MailTo" VIRTUALSEARCHHOST="Proxy Virtual Search Host" MLCFG32CPL="Proxy Virtual Mail Cpl" OWSSUPPServer="Proxy Virtual OWSSupp Manager"

Be sure to alter the command line above with the following in mind:

  • PACKAGEGUID can be obtained from any OSD. It’s the value of GUID in the CODEBASE tag of the OSD file (don’t confuse this with the GUID in the SOFTPKG tag).
  • PACKAGEVERSION should match the application version used during sequencing
  • The values of the properties representing the proxies should match the names used during sequencing.

Add and load the virtualized version of Microsoft Office. I’m using command line for demonstration purposes and because of standalone deployment, but you can use the deployment model that fits your environment. More information on adding applications through the command line options of the client can be found here.

sftmime add package:"Microsoft Office 2010" /manifest "Microsoft Office 2010_manifest.xml"

sftmime load package:"Microsoft Office 2010" /sftpath "Microsoft Office 2010.sft"

Keep the following in mind when copying the command lines above:

  • Package should represent the name of the application that was used during sequencing (first step of the wizard).
  • Manifest should represent the name of the manifest file created by the sequencer.
  • Sftpath should represent the name of the SFT file created by the sequencer. By default the sequencer adds the version number of the package to this file (something like Microsoft Office 2010_5.sft).

Once you have deployed the Microsoft Office 2010 sequence to your machine you are ready to start using the product. Check out this last video where I demonstrate how to deploy Microsoft Office to a machine and start using it.

Closing thoughts

The Microsoft Office 2010 Deployment Kit for App-V does add tremendous functionality to the use of Microsoft Office running as a virtualized application. For a typical end-user the product reaches a level of confidence by overcoming some of missing functionality in earlier versions of the product. Especially the use of “Mail to”, “Fast Search” and “Sharepoint integration” make running Office virtualized very mature.

As an independent consultant I do still have some additional thoughts with this approach:

First of all the Deployment Kit for App-V was created for the exact purpose of overcoming the missing functionality described earlier in this article. It leverages integration from the Operating System (including Internet Explorer) to the virtualized Office product. This means that not all downsides of virtualizing the application can be overcome, one of them being integration with other applications.

Because other available applications (running installed or virtualized) don’t “see” the virtualized Office they can not integrate with it. More than often I see applications add toolbars or plugins in Excel or Word that simply won’t work if the product is running virtualized, unless…

  • The application is running virtualized itself and joined with the virtualized Office environment through App-V’s Dynamic Suiting Composition (DSC) technology.
  • If the application can’t or won’t be virtualized (for whatever reason) it can still be started “through” the virtualized environment of Microsoft Office. In my opinion this scenario however will create an administrative…well…challenge to say the least.

It would be really nice if Microsoft would focus on 3rd party integration in Office while running it virtualized. Starting with toolbars and plugins since I think that those are the biggest issue in organizations. Or maybe create something like a Software Development Kit (SDK) where other vendors could extend the Deployment Kit to make their product integrate better.

Secondly I would really like see not only the shortcomings in virtualizing Office to be fixed, but to create a more general layer for App-V so that other applications can benefit as well. Office is not the only product that installs Control Panel items you know or that creates customized URL protocol handlers. Indeed, Microsofts very own Live Meeting does this with the “meet” protocol.

Apparently Microsoft Office uses parts of the Operating System and Internet Explorer that are so tight, they can only be fixed by installing additional software on the OS, while installing software locally was what we are trying to avoid in the first place by using application virtualization.

Why not create a general layer on top of the OS (specifically for App-V) that would overcome some of the current limitations in the product? This layer could either be part of the OS (as a Windows feature?), be installed as an application virtualization additional layer (like the Deployment Kit) or even be part of the App-V client installation. This way it would be generally available for all products to benefit from.

With the release of Microsoft Office 2010 Deployment Kit for App-V we can conclude that Microsoft is listening to their customers and that these kind of thoughts do exist. As an MVP I will try to talk and share as much as I can with the Product Teams, making virtualizing applications even more commodity than it is already today.

Which brings me back to the initial question: “Ment, should we be virtualizing Microsoft Office 2010?”

My answer would still be “…it depends…”