XP Mode is Microsoft's solution to legacy application compatibility under Windows 7. I won't get into the details a second time, but if you're curious how it works, check out the previous post on the subject.
With the Windows 7 RC Release, we have been able to now download and install the Virtual PC Beta, as well as the XP Mode package included with it. The first thing we will notice is that running the XP Mode Virtual Machine prompts us to create a password and let the initial setup start.
On the first 32-bit system I attempted to start up the XP Mode VM I was met with an immediate blue screen and reboot. On the second system, this one a high powered Core i7 64-bit edition I found myself stuck in an endless Initialization cycle. So far I'm 0-2 and this new XP Mode/VPC Beta is not looking so hot. Both cases I had made an upgrade from Beta to Release Candidate and that may have something to do with the problems encountered.
A clean reload on the first system with a fresh copy of the 32-bit RC presented a fully functional XP Mode system. XP Mode is fast and defaults to a mere 256MB of RAM during setup and use. You can of course adjust this but for now it seems to do just fine as is. Unfortunately, the XP Mode can be a little tricky to utilize and trips over itself if you don't shut it down after messing around inside it. Shutting it down however proves tricky because the standard Shutdown button in the Start Menu is missing, replaced with a simple "Disconnect" button.
The easiest way to handle switching from container to apps is to treat this XP Mode as you would a Remote Desktop or Remote Terminal Session with a Windows Server. Use the "Log Off" as you would in Remote Desktop, and simply close the container window once the login prompt shows up. Unlike Remote Desktop, logging off doesn't close the container, presumably to allow for the usage of multiple accounts like an ordinary XP installation. Once the system is logged out, you can safely utilize the XP applications once again seamlessly from Windows 7.
Possible problems you might encounter would include not logging out before closing the container. Should this happen there's no need to worry, unless you left something unfinished running on the VM. Attempting to launch one of the applications published to Windows 7 will merely give you a prompt asking if you want to launch the app anyway or go back into the VM to do a proper log off. Launching the application will force log off the XP session, losing any unsaved work you had there.
One thing I noticed during all this testing was the insane amount of CPU utilization during the startup and shutdown of the VM. During the initial startup or initialization when running an app the first time the CPU usage took a solid 80-100% of a Core 2 Duo core, giving it a 40-50% total system draw. Memory demand seemed low during the entire process but clearly launching the VM and getting it running in the background takes significant CPU power to accomplish. Once the system loads and sits in the background ready to handle your requests CPU usage drops back to around 1-2%.
At this point I'm fairly impressed but want to see just how far this pass-through goes and what the limitations are. To test this I created a shortcut to the Administrator's account desktop (Any folder will work it seems). I placed this shortcut in the All Users"Start Menu directory and closed down the VM. I found the shortcut and was able to access it from Windows 7. Opening the shortcut gives me the familiar Explorer window navigated to the path I specified in the shortcut, as well as access to all of its files. Furthermore it appears I can utilize it for navigation, file creation, modification, and more.
In fact I was able to kick off an install of 7-zip from within this environment and have it ready for use without messing with the host container at all. The only caveat to this is that the container seems to prevent dragging and dropping files to and from the window, regardless of having the VM Additions loaded. In VMWare, Virtual PC, and other products it was always possible to drag files from the host to guest systems and vice versa. This functionality is locked out unless you explicitly launch the XP container as a standalone VM. Any applications seem locked behind bulletproof glass preventing direct interaction with the host system. This is handy for security purposes I suppose as nothing gets in and nothing gets out.
The normal Virtual PC window for managing all of your Virtual Machines is no longer present. Instead, navigating to your user directory will present you with a "Virtual Machines" folder. Inside this folder you will find all of your virtual machines with the management program integrated right into the explorer shell much like Music, Video, and Pictures are with their respective programs. Given this trend it's safe to assume Microsoft is trying to back off from opening full applications for simple common tasks and merely integrate most of those functions into the shell whenever possible.
There are three options on the shell that are required to make the VM's work. One is the "Create new VM" and it operates exactly like VMWare, VirtualBox, and VirtualPC did before. The "Settings" button can be clicked at the top or you can alternatively find it on the right-click menu of each VM. The Settings page hasn't really changed. The addition of a few new options such as "Auto Publish" are present but otherwise it's the same ever popular VM Properties panel. Something else to note is the "Open" button near the left side. Clicking this allows you to open the VM's with something other than VirtualPC, potentially allowing other vendors to plug in here as well. To use this, simply select the VM you want to open, click the "Open" dropdown button and all of the VM programs installed can be selected. Selecting one causes the VM to immediately launch from the selected application.
XP Mode is a solid product and definitely something I look forward to Microsoft expanding in the near future. So far XP SP3, and Vista SP1 (or 2 if you have the RTM) can be loaded as guest systems according to Microsoft. Software to allow the usage of pass-through utilities in both versions is available from the Virtual PC webpage, under the download types for the VirtualPC Client it's in the box marked "Developers".
quote: Is it possible to interface with a virtualized Windows XP session simultaneously with Windows 7?
quote: Does it have to run like an application that you "bring to front"?
quote: This means allocating a set amount of unshared memory,
quote: one or more CPU cores through affinity controls
quote: an unshared partition or drive
quote: maybe even an exclusive rendering pipeline by assigning a seperate display adapter
quote: most importantly disassociated mouse and keyboard input.
quote: Can Windows 7 and the VM network with eachother through TCP/IP?
quote: Are there any special VMware networking protocols?