How To Run Virtual PC 2007 and Windows Virtual PC on the Same Machine

Windows 7 introduces a feature known as Windows XP Mode, which is reliant on the latest version of their virtualization software: Windows Virtual PC. The older Microsoft Virtual PC 2007 is unable to run when Windows Virtual PC is installed, and vice versa. But what if you need to run both? Microsoft says it’s impossible, but I will prove otherwise.

Reasons for needing both

Why would you need both? There are several scenarios I can think of:

You want Windows XP Mode but you also need to run Windows 98 in a virtual machine. (Windows Virtual PC runs Windows 98 very poorly.)

Your employees are accustomed to Virtual PC 2007, but you also want Windows XP Mode to work.

You just want to do something that Microsoft says is impossible.

Installation procedure

Please follow the below procedure to install both products. Note that this only works on Windows 7, since Windows Virtual PC and Windows XP Mode are not supported on any previous versions of Windows.

1. Install Microsoft Virtual PC 2007, ignoring compatibility warnings.

2. Copy the folder C:Program FilesMicrosoft Virtual PC to your desktop.

3. Install Windows Virtual PC and XP Mode.

4. Uninstall Microsoft Virtual PC 2007.

5. Copy the Microsoft Virtual PC folder back into Program Files.

6. Apply tweaks from the VPC2007Workaround.zip file below.

Easy fix

The below ZIP file contains everything you need to get Microsoft Virtual PC 2007 and Windows Virtual PC living together happily on the same machine. The contents are a file named Virtual PC.exe, as well as some registry files.

Navigate to C:Program FilesMicrosoft Virtual PC. Rename Virtual PC.exe to Virtual PC.bin. Then, copy Virtual PC.exe from the ZIP file into the folder. Be sure to rename the old Virtual PC.exe to Virtual PC.bin, since the included Virtual PC.exe is just a launcher!

Open the vpc-license.reg file with Notepad. On the last line of the file, replace the string “AAAAA-BBB-CCCCCCC-DDDDD" with your Windows product ID, which can be found by right-clicking My Computer and clicking Properties. Then, save the file and double-click on it to add the information to the registry. Be sure to enter your real product ID before double-clicking on the file!

Finally, double-click on vpc-shell.reg to add shell associations to the registry. Once this is done, you should be good to go! Please read the Limitations below first, however.

Download file: VPC2007Workaround.zip

Detailed information

Sadly, Microsoft Virtual PC 2007 doesn’t “just work" when installed. It needs to be coaxed into running in an unsupported configuration, but once you do this, it runs very well. The above ZIP file is all you really need; however, the below information can be useful for the more technically-minded among you who want to know exactly what is going on.

Additionally, when you uninstall Microsoft Virtual PC, file associations and licensing information is removed. Fixes for both of these are included in the VPC2007Workaround.zip file above.

Hard block

Uh-oh! Microsoft has “hard-blocked" Microsoft Virtual PC 2007 on Windows 7, preventing you from running it. This is attached to the signature of the Virtual PC.exe file of Virtual PC 2007. To get around this, I renamed the file to Virtual PC.bin and made a simple program with the name Virtual PC.exe that launches it. Command-line arguments are passed to it as well, so you can continue to use shell associations.

Licensing information

When you launch Microsoft Virtual PC 2007, you will get an error about licensing information. To fix it manually, create a new file named “vpc-license.reg" and paste the following code into it:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftVirtual PC]

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftVirtual PC5.0]

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftVirtual PC5.0Registration]

“PID"="AAAAA-BBB-CCCCCCC-DDDDD"

Replace AAAAA-BBB-CCCCCCC-DDDDD with your product ID, which can be found by right-clicking My Computer and clicking Properties. (This is NOT the same as your Windows product key.) Save the file and double-click it to add the information to the registry.

File associations

.vmc files for virtual machines will need to be associated with Virtual PC.exe if you want the ability to double-click on the file. The “vpc-shell.reg" file contains the required information.

What works?

Everything that I’ve tested so far – network, drag and drop, virtualization. Both products run quite well together; please note the limitations below though.

Limitations

You cannot run both Windows Virtual PC and Microsoft Virtual PC 2007 simultaneously. This means that you cannot have a Windows XP Mode application running while you fire up Windows 98. It’s slightly inconvenient, but oh well… sure beats not being able to run Windows XP Mode at all.

The above fix takes care of this by detecting if Windows Virtual PC is running, and giving you the option to close it.

Conclusion

I hope this has saved you some hair-pulling, swearing at your computer, and disappointment. Please tell me how this worked for you in the comments. I’d like to hear your experiences!

UPDATE –

Today I tried the renaming & .bin file method, and now Virtual PC 2007 SP1 works as well as XP Mode.

So to summarize, here’s what I did (on my Windows 7 SP1 64-bit machine):

-installed Virtual PC 2007 SP1 64-bit installation, verified that it worked.

-installed XP Mode

-installed Windows Virtual PC

-noticed that XP Mode will not work and that VPC 2007 will not work, they are blocking each other.

-deleted registry key:[HKEY_LOCAL_MACHINESOFTWAREClassesInstallerProducts899384DAA9E2504438FF E6 05A34FC9BB]

(again, your exact key name may be different, so I suggest you go to [HKEY_LOCAL_MACHINESOFTWAREClassesInstallerProducts

and search for “PC 2007″ in order to find the exact key name.)

-now XP Mode works fine

-using the file VPC2007Workaround.zip provided here by Nookkin, I renamed VPC 2007’s Virtual PC.exe to Virtual PC.bin, and placed there the Virtual PC.exe file provided by Nookkin.

-now both VPC 2007 and XP Mode work.

With this method, it is not neccessary to use the registry files that Nookkin provided, or deal with the vmm.sys issue (since I did not uninstall VPC 2007)

As mentioned above, it is not possible to have both VPC 2007 and XP Mode running at the same time. If I have XP Mode running and then try to start VPC 2007, it will give an error message. If VPC 2007 is running and then I try to start XP Mode, Windows will freeze for a few seconds and then I get a BSOD (Blue Screen of Death – ouch!)

If I have XP Mode running and then close it, I must wait about 15 seconds until I can start VPC 2007, otherwise I get an error message.

Many thanks to Milan for providing the registry idea. A big thanks to Nookkin for providing the zip file, as well as for the explanation he provided here which enabled me to arrive at what seems to be an improved solution to this issue. My method essentially uses elements from both Nookkin and Milan’s solutions.