SoftGrid/App-V: Using Virtualization to Fix Compatibility Issues

A big advantage to SoftGrid or App-V is that you can run it on a Terminal Server - something some lesser application virtualization products don't do.  Being able to run on Terminal Server offers several critical advantages but it also leads to a question I seem to get all the time:

Since SoftGrid supports Terminal Server, does that mean I can sequence applications that are not designed to run on a Terminal Server (or Citrix server) and magically make them compatible?

The short answer is "No" but the long answer includes an unofficial maybe which I'll explain a little later.  Regarding the 'No' answer, since an application virtualized with SoftGrid still essentially runs natively on the underlying OS, we're generally not going to enable functionality that didn't exist in the application originally.  In other words, if it doesn't work when installed natively then it probably won't work when it's virtualized either.

And the same goes for virtualizing non-Vista compatible apps in an effort to get them to run on Windows Vista - chances are it's not going to work, and again for the same reasons.

Aside from that there could also some legal issues concerning application licensing you'll need to take into account, so if you decide to give it a try you should contact your application vendor first to determine if running the application on a Terminal Server or Citrix server is in compliance with your license agreement.

So what's the maybe?

There's always an exception, isn't there?  To be 100% accurate I should mention that SoftGrid/App-V can technically allow some programs that would not normally run on a Terminal Server to work.  A contradiction?  Not really, because these results are more of a side effect than a design goal.  For example, there are applications which use HKLM to write user specific registry keys, thus making them less than ideal when it comes to running on Terminal Server.  With SoftGrid/App-V, HKLM is virtualized, giving each user of the virtual app their own unique HKLM, thus offering a workaround for that particular issue.  Another great example is something like Mailslots.  SoftGrid allows the virtualization of some interprocess communications like Mailslots so if that's what's causing your app to fail on a Terminal Server it may in fact work when virtualized.

I've heard of people using these side effects to get their applications to run on a Terminal Services environment, and if that works for you and your vendor then that's great, but don't assume that because it works for one that it'll work for them all, legal and support issues aside.

The bottom line

So the bottom line when it comes to these kinds of questions is this:  If an application doesn't work when it's installed natively then it probably won't work when it's virtualized either.  If you remember just that you'll be way ahead in the sequencing game.

J.C. Hornbeck | Manageability Knowledge Engineer

- Thanks to John Behneman for contributing some of his vast SoftGrid knowledge to this article -