Scott Hanselman

Windows 7 - Seamless Apps in Windows Virtual PC (Virtual XP) and Application Compatibility

May 23, 2009 Comment on this post [27] Posted in Win7
Sponsored By

I'm running the Windows 7 RC and I'm the Windows Virtual PC Beta along with Virtual Windows XP (a separate download). If you have an application that won't run in Windows 7 by default (they're out there) then you have two choices, aside from getting a version that does work.

First Try: Compatibility Mode

You have two choices with Compatibility Mode. You can always just right click on the program's Icon and click Compatibility Mode, and "lie" to the program about what version of Windows this is. This isn't just a version fib, it also patches up APIs and generally makes things friendly for your old application.

Alternatively, you can type in "Compatibility" in your Start Menu and select "Run Programs made for previous version of Windows. This will start a troubleshooter that will help you select your app and figure out what it needs.

image

You walk through a Wizard, explaining what worked before (different OS, etc) and it'll suggest what it can do about it.

Second Try: Seamless "Virtual XP Mode"

People who know what Virtualization usually assume this means that they'll need to run a Windows XP VM (which they do) and it'll be a hassle (which it isn't) as they'll have a "window of an OS inside their OS."

Here's the process, once you've installed Windows Virtual PC and Virtual XP. Run Virtual XP from the Start Menu, or from your "Virtual Machines" folder.

Virtual Machines

Once it's started, install the old application you want. I'm going to install FileZilla, an FTP client.

NOTE: There's NOTHING wrong with FileZilla under Windows7. This is JUST an example.

Select "for all users of this computer" during the installation, as you want the icon published to the "All Users" part of the Start Menu. If you don't have this option, you can always move the icon later.

Virtual Windows XP - Windows Virtual PC

Now, shut down the Virtual XP machine by clicking the close icon. It will hibernate.

Notice in your Windows 7 Start Menu that FileZilla (or whatever) has appeared...it's in the Windows 7 Start Menu.

image

Run FileZIlla it from here, like you would any other program. You can, of course, even pin it to the Windows 7 Taskbar. When you run it, there may be a moment where you'll see 'Initializing Virtual Environment, and you might see this dialog:

Virtual Windows XP - Windows Virtual PC (2)

Here you can decide to run the App or the Machine. I'll run the App. After I start running Apps, I'll not see this dialog again, unless I start the Machine again directly.

Here's FileZilla running from inside the Windows XP VM. It looks like Windows XP (notice the Crayola Colors) but the Windows 7 Task Manager is running over the top of it.

image

You can see the Virtual PC Host Process in the task manager. There's also a "Virtual PC Application Launcher" that you might see.

If I hover over the icon in the Windows 7 Taskbar, it says "remote."

image

You'll even see Tray Notifications from the Virtual XP machine (like Security Center, etc) published to the "host" tray. (Yes, I know it's not officially called the tray, but it is de facto "The Tray.")

You can even "publish" Internet Explorer 6, by copying its icon to the All Users Start Menu. I right-clicked on the Start Menu from within Virtual XP and clicked "Open All Users", then right-dragged the Internet Explorer icon to the All Users Start Menu. Now IE6 is a choice:

image

...and I have an unholy alliance between IE6 and IE8, as you can see them both running here on my Win7 machine:

image

It's also worth pointing out that this trick works with Vista Virtual Machines as well. So, while Windows 7 (I hear) is profoundly compatible with Windows Vista (basically everything works) you can still run a Vista SP1+ VM and have "Seamless Apps" jump out of it by making sure the right integration features are enabled. I tried this running Visual Studio 2003 under Vista and Visual Studio 2002 under XP, then publishing them both so I could work on them seamlessly under Win 7.

This is all stuff you can do NOW, so go have fun.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Hosting By
Hosted in an Azure App Service
May 23, 2009 3:31
I was very excited to discover that Win7 to Win7 RDP gets you Glass, even across the Internet (and quite speedy, I might add). Unfortuantely, seamless applications published from a Win7 VM end up with the "Aero Basic" theme instead of the "Aero Glass" theme.

So close, so close... :)
May 23, 2009 3:53
This is awesome stuff. Have you tried running a virtual hacked version of the Mac OS and running a Mac app yet? Or Linux? Would it work? I'm sure it's being done by someone, somewhere as I type. :)
May 23, 2009 4:02
Looks just like VMWare "Unity" mode.
May 23, 2009 4:03
[Ewww... my Google OpenID attempt there looks like hell.]
May 23, 2009 4:25
The integration mode support (which is what's necessary to make the seamless windows work) appears to only have driver support right now for Windows, specifically XP and later.
May 23, 2009 4:32
That's very nice. The thing is, this "Remote" feature is built into the operating system, so it's probably possible to create a Remote Desktop client that can do that, isn't it?
That's something I'd love to see as I use Remote Desktop *a lot* and it would make my life a whole lot better not having an OS-in-OS view.
May 23, 2009 4:38
My only issue with this is that I can't drag the "seamless" app from the primary monitor over to the secondary monitor - anyone else have this issue?
May 23, 2009 6:00
hi Scott,

This is good stuff, however one other thing why people don't run VM is that it slows down the host OS, specially on laptops/notebook with lower RAM/Processor speed, how Virtual XP addresses this concern ?
May 23, 2009 6:23
I'm digging the seamless apps that most virtual machine software boasts these days. However, this level of integration is great! Love all the cool stuff you've been showcasing with VMs & Win7 lately.
May 23, 2009 6:25
Not digging OpenID.
May 23, 2009 7:24
Thanks Scott! That was really useful. I haven't used Virtualization much, but that seems super easy. I'm curious though, how does that magic integration between "host" Windows 7 and "remote" Windows XP work exactly? Is it in that special XP-mode image thingy? I've always thought of Virtual machines as being isolated (insomuch as one machine is from another), so I find it a bit puzzling...
May 23, 2009 9:12
Hi Scott,
I guess, this virutallizaiton will only work when Hyper-V is enabled or it will work in normal mode as well for processors like Intel Core 2 duo.
May 23, 2009 9:29
I find virtualization useful for testing the WinForms apps Im developing. I usually test them in a Win XP VM that has nothing installed but .NET, and an Ubuntu VM (VMWare Player) with Mono installed. Its also useful for stress testing the application, i.e. you could see what is the minimum RAM required and the smallest screen resolution that works.
May 23, 2009 16:55
That is very interesting... but how do you get shortcuts in the start menu of xp out into 7 like that? Tried to add a shortcut to µTorrent in xp in the All Users folder, but I get nothing in the Virtual Windows XP Applications menu in 7.
May 23, 2009 16:58
Hm, for some reason when I asked here, it of course suddenly appeared in the 7 menu... weird... Do you have to wait a certain time before it gets there? Or what is the deal here?
May 26, 2009 17:19
Does anyone know how XP mode handles memory allocation? In the current Virtual PC you have to dedicate a certain amount of RAM to the VM, how is that handled in the Win7 version?

And will developers be able to take advantage of the same functionality for hosting Win2003/2008?
May 26, 2009 18:16
It works exactly like earlier versions of Virtual PC where the virtual machine has a static amount of RAM allocated to it. The default installation of the Virtual XP machine sets this to 256 MB, but I've since gone in and increased it.

I've been playing with Scott's method for publishing other applications and discovered that the integration tools appear to only expose applications that live under c:\program files. I was able to get to get the remote desktop client to show up in the virtual application list by copying mstsc.exe and its dependencies to a new folder underneath c:\program files.
May 27, 2009 1:52
Any shortcuts in the All Users Profile Start Menu will publish up. No need to move binaries.
May 28, 2009 3:04
I'll have to try this and see if it works for something like the Nortel Contivity VPN client, which doesn't work well with Windows Vista, and which does not work on a 64 bit OS.

Do you know if it is possible to get a 64 bit Win7 host to run a 32 bit XP VM and application?

BTW - Have you stepped up the moderation on your blog? When I use google OpenID, I get the following message:

Your comment has been received and is under review for potential violation of site guidelines. Do not re-submit.

I've commented here before without any issue.
May 28, 2009 21:23
No virtualization support for the Intel Core 2 Duo in my HP TouchSmart IQ826. Boo hoo :(
June 03, 2009 1:41
After I close an application running in XP Mode, the vm host process and launcher still run in the background.

Does this mean that the VM is still running in the background, even though I have closed the application?

June 07, 2009 19:07
Scott,

Thanks for the info, without reinstalling VPC on WIN7RC, are there issue with non-localhost\Administrator accounts accessing and launching vurtual machines? When I am interactive on WIN7RC under domain a account, vmcs are nota associated with VPC.

Regards,

Paul
June 09, 2009 23:53
Windows Virtual PC sounds nice, but no support for 64bit gues OS's as stated in this forum thread: http://social.technet.microsoft.com/Forums/en-US/w7itprovirt/thread/8fa1b83d-90ca-449e-92aa-5b20fd82cf1b

When I heard about WPC I was hoping I could ditch Server 2k8 on my laptops, but with a need to evaluate 64bit OS's for development and testing, I'll either be sticking with Hyper-V or looking for a non-ms product.
June 17, 2009 3:04
@Taylor Bird - Not true, I have two short cuts in the same folder, one points to remote desktop under Windows and one that I created under Program Files. Only the program files short cut bubbles up to the host OS start menu.
June 20, 2009 3:54
This totally rocks! I'm using it today to test some changes for a client that still uses IE6. It's working great. I also installed VB6 and have used that, too. Waaaay cool!
August 08, 2009 9:57
Do you know if this is language specific?

I have a dual language system with an English user for me and a Korean user for my wife. There are a couple of Korean programs that will not install under Win 7, even in compatibility mode. So, I installed VPC and the Korean language XP. Works great, the apps install and run, but seamless will not work. I have tried everything I can think of, and the programs will not appear in the Win 7 start menu.

I have XP littered with shortcuts trying to find the magic spot, but I've not had any success. Am I missing something or could it be the language issue? Has anyone done this in any language other than English?
August 13, 2009 23:57
@Jim
I had a similar problem when playing with Google Chrome and seamless mode.
After moving the start menu links to in XP to ...\All Users\Start Menu\Programs it worked.
The Chrome link then showed in Win7 under Windows Virtual PC, Windwos XP Mode Applications.

Comments are closed.

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.