VM Junkie

November 11, 2009

Windows 7 XP Mode – Virtual PC vs. Workstation 7 Unity

Filed under: microsoft, vmware — ermac318 @ 6:00 am

So I recently upgraded my primary work laptop to 64-bit Windows 7. So far, I have no regrets! Loving the new OS, although my battery life seems to have taken a slight hit, but I’m not sure if that’s due to the OS, the battery dying, or a combination of both.

However, I did find one of my applications just would not work in 64-bit Windows 7, no matter how much fixing I tried. I considered going back to an older version to test if that worked, but I figured I’d just eat the Virtualization dogfood and do what any good nerd would do – run it in a VM!

Microsoft has been kind enough to offer a special XP Mode VM to all business-class Win7 customers. I made a blog post about this previously when it was announced. But now it was time to really give it a try. At the same time, VMware just released Workstation 7 (convenient how that version number lined up…) which includes support for importing the XP Mode VM directly into Workstation so you can use Unity to run XP apps. Sounds like a great comparison test to me!

Virtual PC with XP Mode

Setting up VPC was fairly simple, although it took a very very long time for everything to finally start working. First, you install the XP Mode VM package from Microsoft, then you install an update to Windows 7 which adds VPC into the OS itself. Finally, you have to start the setup wizard for XP Mode, which sits and runs for quite a long time setting up your VM. What I’m assuming its doing during this time (because it gives you no feedback other than a progress bar) is sysprep’ing the VM, adding your special user account, and installing the Virtual PC integration components. Once you’re finally done, you can install applications and then they appear as icons in your start menu.

How does it really work?

What it turns out XP Mode is actually doing (as far as I can tell) is launching seamless RDP windows into your XP VM. There were a few hints to me that this was what it was doing:

  • When you launch an “XP Mode” application from your start menu, it forces a log out of whoever is logged into your XP VM.
  • The various icons in the task bar look like RDP windows sometimes.
  • The process list gives away what’s actually going on. =)

Using RDP is a clever choice, and the whole XP Mode in VPC thing has some good things and some bad things going for it.

Pros:

  • It integrates directly into your start menu. No need to manually start and stop your XP VM – when you ask for an application it resumes the VM on demand and starts the app. This can be time consuming, however.
  • System tray icons appear in your Windows 7 Notification Area. This is a nice touch of integration which Workstation 7 does not have.
  • Apps appear seamless with your other Win7 native applications.

Cons:

  • Speed. Virtual PC is a dog of a virtualization engine, and in my testing it took significantly longer for apps to startup and process.
  • System tray icons appear in your Windows 7 Notification Area. Yes, I already listed this in Pros, because I think it’s cool, but in reality it’s really confusing. When you need to perform Windows Updates on your XP Mode VM, the Windows Update notification appears in your main OS.
  • Sometimes windows get lost. If your application launches windows which don’t create a task bar icon (such as notification or alert dialog boxes) these can easily become lost. For some reason, I can’t Alt+Tab to see them, instead I have to minimize everything to get to these windows.
  • It requires your processor support Intel VT or AMD-V. This has been written about in detail on other blogs, so I won’t touch on it here too much, other than to say if your system doesn’t have this you’re out of luck.

VMware Workstation 7 + Unity Mode

Installing Workstation 7 is a breeze, as usual. One of the big benefits of Workstation over Virtual PC is that.. well, VPC is a free product and has the feature set to match the price. Workstation is a fabulous product, but to be fair I should really be comparing it to the free VMware Player 3.0 product, which has the same feature set when it comes to using XP Mode, so for the purposes of this comparison I will overlook all of the cool extra stuff Workstation gives you.

First you install XP Mode just like you would for VPC. After installing Workstation 7/Player 3, you just have to go to the menu and select Import Windows XP Mode VM… and that’s it! It then runs through a standard sysprep process (which you actually get to see and input information into, unlike when you use VPC). After that, you install VMware tools, then enable Unity Mode and you’re good to go.

How does it really work?

VMware’s Unity mode, from what I can tell, works by screenscraping the actual video output of your VM (not hard, since its a virtual video card), isolating the area that the application is in, and then overlaying that in a window on your host OS. This differs from VPC’s RDP window method because your VM is doing all the screen rendering, not the host OS, but that also means that you don’t have the disadvantages of running over what’s essentially a remote display protocol. For example, running Internet Explorer in a window using VPC, Flash videos played back extremely poorly. In Workstation 7, they were much better. The VMware products can also do 3D graphics and other cool things, whereas VPC cannot.

Pros:

  • Speed. Workstation 7’s virtualization engine is significantly faster than VPC’s. Also, with Workstation 7 (not sure about VMware Player) you can give your XP Mode VM two vCPUs if you feel that’s necessary.
  • Graphics. The VMware products’ graphics capabilities are just plain better.
  • Switching modes is easy. If you want to use Unity Mode, you click a button and it turns on. Turning it off is just as simple. With XP Mode, you cannot launch the VM’s console if any applications are open, because a local login kills your RDP sessions.

Cons:

  • Integration. Unity mode creates a separate “start menu” in purple that appears above your Windows Start Icon when you mouse-over it. I found this menu to be a little awkward and the purple color wasn’t doing it any favors. Similarly, all your Unity Mode windows have a hideous purple border and a purple VMware logo in their title bar. Great for keeping heads or tails of what’s virtual and what’s not, but it’s definitely an eyesore.
  • You must start the VM yourself. If you want to launch an application, you need to start the VM manually, enable Unity mode, and then you’re good to go. Virtual PC’s integration directly into your main start menu has a definite edge here.
  • Cost. Technically, using VMware Player 3.0 avoids this issue, but if you want the full feature set you have to pony up some money to VMware for a license. That said, a $99 upgrade to my Workstation 6 license (free when I got my VCP!) will probably be on my Christmas list.

Verdict

So which one is better? I think it comes down to what type of user you are. I’m a crazy VMware nerd who would be using Workstation to run ESXi virtually and all sorts of other stuff, so Workstation was the second thing I installed on my Windows 7 box (after Firefox 3.6 beta). I would be using it anyway, so I’m not the best comparison here. However, from my experience I can break it down to a fairly easy choice.

If the integration features of Virtual PC + XP Mode are a big draw for you, or if you’re setting this up for a non-technical user, then the all-Microsoft solution has some big advantages. If performance and flexibility are more important to you than really slick OS integration, I would recommend using the VMware products.

As for me? I’m just glad we have choices, because I’m sure it will make both parties work hard to improve their products.

A side note…

In my original article about Windows 7’s XP Mode, I mentioned that VMware should be doing the same thing in the VDI space. If VMware can make this work in Workstation, they should be able to do something similar in ESX. Today, Citrix is already allowing seamless app publishing (via ICA) from XenDesktop virtual machines. VMware could do the same thing – why not have a pool of VMs where half are Windows 7 and half are Windows XP, and allow seamless windows from the latter to the former? You’d have your main VDI desktop running Windows 7 with PC over IP and all the fancy graphics, and then have your legacy apps broken out in a separate VM published via Unity into a single desktop view. Sounds like a winning combo to me! How about it VMware? Or for that matter, Microsoft? Remote Desktop Services could sure use a unique feature other than “it’s made by Microsoft.”

Advertisements

9 Comments

  1. […] here to see the original: Windows 7 XP Mode – Virtual PC vs. Workstation 7 Unity « VM Junkie var addthis_pub = ''; var addthis_language = 'en';var addthis_options = 'email, favorites, digg, […]

    Pingback by Windows 7 XP Mode – Virtual PC vs. Workstation 7 Unity « VM Junkie | High technology information — November 11, 2009 @ 2:00 pm

  2. VMware Player 7 is also a great alternative to VPC than the full Workstation product, it’s free (like VPC) and now allows you to create VMs from within the GUI, neat stuff.

    Comment by Aaron — November 13, 2009 @ 7:46 am

  3. You can change the color – as well as turn off the borders/logo entirely – in the VM’s unity options.

    Comment by Jacques — November 16, 2009 @ 4:36 pm

  4. You forgot to mention the silly obnoxious processor virtualization requirement that VPC+XPMode has got. Really VMware Workstation 7.5 should get integration like XP Mode with auto publishing and VMware Workstation will be the clearly superior winner.

    Comment by anon — November 16, 2009 @ 11:01 pm

  5. Actually I did mention the Intel VT requirements in the article, I linked to a virtualization.info article about it.

    Comment by ermac318 — November 16, 2009 @ 11:28 pm

  6. Thanks for comaparing the two products we believe that Player provides several major benefits over XP Mode. Including 3D graphics support and drag and drop capabilities. Keep your eyes open for an improved host integration in the near future.

    Comment by Jason Joel — November 19, 2009 @ 8:58 am

  7. I’ve been using Windows 7 and VMWare Unity with XP solidly for a few weeks now and have encountered the following problems:

    VMWare Player version 3 doesn’t reliably update the display in Visual Studio 2008. Occasionally, tool windows (such as the solution tree) will stop updating visually, although they still function properly in the underlying VM. The only way to fix this issue is to restart.

    Drag/Drop is also incredibly painful with long delays in event handling. You have to be very careful with your drag/drop actions.

    Alt-tab between applications on the Windows 7 desktop as well as Unity windows results in a locked ALT key inside the Visual Studio code editor. Very strange behavior.

    My setup includes a dual monitor setup so the problems may be related to that configuration, but the issues are significant enough that I’m not using Unity anymore.

    Comment by Ken — January 5, 2010 @ 5:11 pm

  8. I was wondering if 3D is supported on XP Mode… your article answered my question. I probably will skip XP Mode and stick to VMWare instead.

    Comment by Jay M — January 11, 2010 @ 11:12 am

  9. The integration is killing me using the VMWare option at this point. I have a couple apps that won’t run on x64 Win7 and they only have tray icons. . .so they just “disappear” when you close them even if they are still in the tray of the VM.

    Comment by TechFan — January 13, 2010 @ 5:01 am


RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Create a free website or blog at WordPress.com.

%d bloggers like this: