For years, we have stood up and advertised the great ability of App Streaming to isolate and deliver Microsoft Office.  This isn’t just a Citrix thing, all the players in App Virtualization space do the same.  MS Office is a great app for demonstration of application virtualization; everyone knows it and everyone gets it that a single profile/package holds multiple applications.  Better than packaging, it’s a beast of an application and has served a barometer of isolation system capabilities.  If you can isolate MS Office successfully, then the isolation system works!

I recently returned from the Citrix Technology Exchange in Munich where I promoted the idea  Microsoft Office should not be isolated.  When assembling the layers, there are certain applications that are “infrastructure” and these should be baked into the base machine image.  Here’s the graphic.


Now, this rather goes counter to the idea of my being the Citrix Architect for Application Streaming.  My life role for quite some time has been to show off the capabilities of the isolation system and saying that an application should be “installed” is rather counter to that mission.

Inside of Citrix, we “use what we sell”.   There is a showcase farm in our IT space where all the latest stuff gets exercised – and exercised by the employees of the company as the platform where they do their day to day jobs.  A long time back, we cranked up the usage of Application Streaming by placing MS Office into this space and in a way, forcing people to use it to do fundamental things like checking their e-mail.  In the idea of eating your own dog food, there is nothing quite like a company exec being unable to check their email to get some focus applied to fixing isolation system bugs.  I’m not sure of the current statistics but for a good while there back in about the 5.2 timeframe, there were over 1200 people inside the company using streamed MS Office to check their email and do their day to day editing of documents using Office.  The quality of the isolation system improved significantly and we have this dogfooding to thank.

A couple months back, the IT group setting up our showcase XenDesktop 5 farm came to me with an inquiry.  The conversation went about like this.

Joe, we’re setting up POOLED XenDesktop 5 farm, this is the farm that all the sales people and SEs will use to run their day to day life and will really be the platform for demos demos and more demos.  This is use what you sell and really goes wide to the whole company.  We’re thinking about putting Microsoft Office into the base.  You’re the App Streaming guy and we know good things came from streaming usage in showcase in the past.  This will make office be “not streamed”.  What do you think of our plan?

My answer was simple.  “I have no problem with it at all, it’s the right thing to do”.

The IT folks were pleased but at the same time, a bit surprised.  We talked about what applications should be considered “infrastructure” and which ones are best delivered via App Streaming.  This led is down the path of discussing classic XenApp delivered applications and whether or not those would be double hopped through the XenDesktop.  Answer: Nope, we converted about 30 of those classic XenApp applications into App Streaming profiles and we’re delivering those into the XenDesktop machines as locally executed, streamed applications.

So as the App Streaming guy, I lost one application and a big one, but I picked up 30 that I didn’t expect.  Sometimes things work out for the best.  I still get massive testing of the app virtualization system and the IT team gets what they want for the preferred model of delivering applications to the XenDesktop users.

Spreading the word

If this is “right” for Citrix internal IT usage, then it is also probably a good model for many of our customers.

We hear very often “isolate” everything.  Stream all your apps and you are most flexible.  This is even true, but taking things to absolutes is not always the right answer.    Much of this though has been our own invention.  We (read this as “I”) stand up on stage to demonstrate the greatness of Application Streaming and we use Microsoft Office as the demonstration application.  While showing the value of RADE and just in time delivery, we too often show it where at the same time showing the proof that App Virtualization works!  We’re well past this proving it works stuff, the “now” action is to focus on which applications SHOULD be streamed.

DLL Hell

A great topic for App Virtualization is solving DLL Hell.  This used to be one of the main drivers for App Streaming and solving application incompatibilities was one of the main drivers for the development of application isolation.  Time moves on and thanks to friendly things like UAC Dialogs in Windows Vista, the common behavior of applications is changing so that they really are getting better behaved.  On each release of App Streaming, the “isolate everything” starting point we had in 1.0 settles down to isolating less and less by default so that integration with the other apps on the system and integration with the OS itself is easier for applications.  Solving DLL hell is still “required”, but apps improve.

Apps that write places that they shouldn’t

Consider Microsoft Office.  This app KNOWS how to run on user privilege.  You don’t need to trick it, it already can support execution by honest to goodness USERS.  So, solving this problem for MS Office isn’t needed.

Applications that need to be updated

Microsoft Office gets updated from time to time, but it is rarely a surprise.  Occasionally there’s a patch Tuesday that makes for a non-planned update, but pretty much, this can be held back to service packs.  Can you do these application updates at the same time you do the base machine OS update?  Answer: YES.  It is even likely that these are done by the same administrator.

Here’s the test for putting it in the base or delivering via App Virtualization

  • Does the application get used by EVERYONE that will use that base machine image?
  • Can it be easily updated as part of a larger OS image update?
  • Does the application get along with others?  Is isolation REQUIRED to run this application?
  • Is the application INFRASTRUCTURE?  Is it a platform upon which many other applications depend?

MS Office is a massive application that is used by pretty much everyone, which has a good update mechanism defined, which is used as a platform for other application development and used in methods by users that include defining their own add-ons to the system.  Add these things up and this app is a really good candidate for locally installing into the base.

There are no absolutes.  I have shared the above with a number of customers who respond, nope – streaming it is the best answer for me.  I have task workers, everyone runs the same image and user add-ons are rare.  I value the central maintenance and delivery of the application more than those other factors and I want to keep the base machine OS image pristine.   For these folks, streaming remains the right answer.

In this post though I propose for many shops, placing MS Office into the base image is the preferred answer.

Joe Nord