by Ellen
9. February 2010 19:45
Recently, I inadvertently discovered a useful feature of Windows 7 Virtual PC that I'd like to share, just in case there are folks out there who haven't experienced this particular functionality.
On my host laptop (a Windows 7 box), I've installed SQL Server 2008 and Visual Studio 2008, although my previous XP box hosted SQL Server/Visual Studio 2005. I use Visio for Enterprise Architects as my data modeling tool and as I discovered during the move to the new Windows 7 laptop, Visio for Enterprise Architects requires Visual Studio 2005 in order to install properly - it won't play with VS2008.
Okay, fine.
This was annoying, but not catastrophic. Since most of our clients are still on SQL Server 2005, I have a Virtual PC with SQL Server/Visual Studio 2005 installed. I installed Visio on this VPC, grumbling since I knew I'd have to launch this VPC whenever I wanted to do any data modeling.
Or so I thought.
One day, I experienced a momentary lapse of consciousness and double-clicked a Visio (.vsd) file on my host machine. Just as I was cursing myself for doing something so dopey, the Virtual PC credentials login for my SQL Server/VS2005 VPC popped up. I entered my credentials, and the VPC started to launch, except instead of opening the VPC window, it launched Visio as a "virtual application" within the context of the host machine.
How cool is that?
I was able to access files from inside the VPC as well as the host machine from the Visio application menus. The host machine treated it as a remote connection to the VPC through the local network.
I've poked around with this a little more since the first time it surprised me and have discovered a few more things:
- My VPC is a member of a domain. If no network is available (even a network that is not the domain network), the remote application cannot launch. For instance, I was in an airport recently with no internet/network connectivity and was unable to start the virtual application.
- For this domain-enabled VPC, it doesn’t seem to matter if Integration Features are enabled or not. The remote application can still launch.
- Occasionally, Internet Explorer tries to take over and pretend that it’s the application of choice to host .vsd file. You have to take a firm stand on this – right click the .vsd file and choose Open With. On my host laptop, the option to open with the remote Visio program appears in the popup menu (SQLServer2005 is the name of my VPC):
I haven’t tried this with a VPC that isn’t a member of a domain, so I’m not sure what the behavior for that would be like. I’ll have to give that a try for the next blog post!
by Ellen
24. September 2009 03:02
Part 2 – Conversion
In part one of this post, I discussed preparing your Virtual PC 2007 VHD files for transfer to a Windows 7 box, and setting up the Windows 7 machine to use Windows Virtual PC, Microsoft’s Windows 7 virtualization engine. In this post, I’ll step through the process I went through to convert a legacy VHD file.
This post refers to a Virtual PC 2007 VHD with Windows XP SP3 as its guest OS.
- Launch Virtual PC. This new version presents as a Windows Explorer window rather than the VPC console as in VPC 2004 and 2007. You'll see an option to Create Virtual Machine:
- Choose the Create virtual machine option. The steps are very similar to the old VPC wizard - first you'll create the configuration file (which now has a .vmcx extension rather than .vmc), specify memory and networking options, then identify the VHD.
Since you're converting an existing VHD, choose the Use an existing virtual hard disk option and navigate to its location.
- Once you've completed this step, the .vmcx file will appear in the Virtual PC explorer window:
- To open the VPC, double-click on the .vmcx file. The first time you open the VPC, it will appear to be detecting new hardware. It may or may not require your interaction to complete the hardware detection, but if it does, it probably will not be able to find the driver (since it can't identify the hardware device in the first place). This does not appear to adversely affect anything.
- When you're opening the VPC, it will tell you that it's restricting the cursor to the inside of the VPC window and give you the key sequence to release it to the host machine (<Ctrl><Alt><Left Arrow>). Unfortunately, this combination of keys may not work for your hardware. On my laptop, for instance, this key combination rotates the host screen. So for the moment at least, you're stuck with the restricted cursor.
- After the VPC has done its hardware detection dance, you'll want to restart it. If your VHD login was not previously password protected, you'll want to create a password for the login account now. After doing so, restart the VPC.
- While the VPC is booting up (i.e., before the cursor restriction kicks in), from the Tools menu, select Install Integration Components. This is the Windows 7 version of Virtual Machine Additions.
You'll get the following message:
Click Continue.
- Once the VPC is open, it will present the Integration Components setup.exe in the CD drive:
Run setup.exe. It will appear to detect more new hardware, but this time you shouldn't be required to intervene.
- Once the Integration Components have installed, the last screen will prompt you to download the updates required for running XP in this new mode. I usually let it navigate to the download URL as it wants to do, and run the hotfix update at this point. After the hotfix is installed, let the VPC restart. This is the update URL, in case you miss this step:
http://www.microsoft.com/downloads/details.aspx?FamilyID=e5433d88-685f-4036-b435-570ff53598cd&displaylang=en
- Even though you've installed the Integration Components, you still have to enable them. This appears to be user specific, although I haven't run enough tests to be absolutely sure of it. Unless you enable the features, you won't be able to copy and paste between the VPC and the host machine, nor share drives.
- You may be prompted for a login when you choose to Enable Integration Features. I haven't been able to determine consistently when this shows up - definitely when the machine is attached to a domain, possibly when there's more than one non-system user account.
- I’ve run into some oddities with the way a couple of VPN client tools interact with the Integration Features auto-enable (specifically the Cisco VPN client and the Cisco Any Connect web client). When Integration Features are set to auto-enable at startup, the VPN client chokes with a user authentication failure before the user login screen is even presented. To work around this issue, I set the Integration Features to enable manually, by clearing the Enable at startup check box as shown below. When I do this, both of the Cisco VPN clients can connect successfully. For the Windows client, I was able to enable the Integration Features after startup and still connect successfully. For the Any Connect web client, enabling the Integration Features blocked the connection (the application delivered a “not supported” error message.) I mention this as a heads-up: you may need to play with this particular setting a bit if you experience odd connectivity behavior from within your VPC.

by Ellen
22. September 2009 02:11
Part 1 - Preparation
Our extended firm is in the process of moving from the Vista operating system to Windows 7. As the first one in the consulting group to take the plunge, I had the privilege of testing the conversion process for some of our core applications.
At Perkins Consulting, we rely heavily on virtualization to manage the connection environments for our various clients. Consequently, one of the primary areas of concern for us in the conversion process was to make sure our virtual machines would still function under the new operating system.
Will they? Well, yes. More or less.
For those of you familiar with the Microsoft Virtual PC application, you'll remember that there wasn't a whole lot of difference between Virtual PC 2004 and Virtual PC 2007, at least cosmetically. The same is not true for the differences between Virtual PC 2007 and Windows Virtual PC (the Windows 7 virtualization engine). Virtual PC 2007 will not run on a Windows 7 machine. If you want to run a virtual PC on a Windows 7 box, you have to use Windows Virtual PC for Windows 7. And if you want to use your 2007 VHD files, you have to prepare and convert them for use in Windows Virtual PC.
As the official Conversion Sacrifice for PCon, I got to figure out how to make it work for us. In this two-part post, I'll describe the lessons I learned from the process. In the first part (the one you're reading now), I'll discuss preparing your legacy VHD files for conversion and setting up the Virtual PC application on the Windows 7 box. In the second part, I'll step through the conversion process for a 2007 VHD running Windows XP SP 3 as the guest OS.
Prepare Your 2007 VHD Files for Transfer
On your machine running VPC 2007, for each Windows XP SP3 VHD you wish to transfer:
- Remove the Virtual Machine Additions from the VPC. If the additions are up to date, when you select the Install or Update Virtual Machine Additions from the Action menu, the only option presented to you will be Remove. If you get an Install or Update option, you'll need to apply the updates and restart the VPC before you can get the Remove option.
If you fail to complete this step, you will most likely get a drive read error when you try to open the VPC with the Windows 7 version of Virtual PC.
- Windows 7 Virtual PC will only allow the following guest operating systems:
- Windows 7
- Vista
- Windows XP SP3
If the VHD you wish to convert does not have a supported OS, you may not be able to successfully convert it for use with Windows 7. I’ve seen some blog posts that others have been able to convert a VHD with an OS outside this list – Server 2003, for instance – but these are the only officially supported guest operating systems.
Prepare Your Windows 7 Box for Windows Virtual PC
- Windows Virtual PC will only run on a machine with hardware virtualization capabilities. Before installing Windows Virtual PC on your Windows 7 box, enable hardware virtualization in the BIOS. This is a critical step, according to the download notes. If you fail to make the changes to the BIOS, untold death and destruction may ensue. (Or at the very least, the application won’t run.)
- Install the Windows Virtual PC on your Windows 7 machine.
- In addition to the Windows 7 Virtual PC bits, the above site also has a download for Windows XP Mode. You may download and install this if you wish, but its use is outside the scope of this post.