Windows 7: Virtual Windows XP

windows_7_graphic Today’s post will explain the new Virtual Windows XP mode that is available as a separate download for Windows 7 (release candidate). Downloading Virtual Windows XP will allow users to run a full Windows XP environment in a virtualized instance within Windows 7. This makes Windows 7 very much backwards compatibility with older applications and it opens up the possibility for Microsoft to remove and innovate on their next Windows release.

Including a “copy” of an older operating system and running it through virtualization is nothing new, this is exactly what Apple did when they made their move from Mac OS 9 to Mac OS X – which was a major transformation and there was no way that Apple could have made OS 9 application compatible with OS X.

Last year I predicted that Microsoft will eventually have to include an virtualized copy of Windows when they some day in the future (possibly) will make the move to a different kernel for Windows. This new kernel might possibly be Singularity, which is a research project by Microsoft Research. Singularity is still very much an experimental operating system, but it’s built from ground up with a more modern architecture and built without the regard for any legacy architecture, framework, libraries or software. We can only speculate when the time comes for such a drastic change, it’s probably a long way into the future.

I did not expect my predictions to become true already with the release of Windows 7 – on which Microsoft is releasing a virtual copy of Windows XP.

What’s the point?

While I don’t know all the goals that Microsoft have behind the release of Virtual Windows XP, I know that it’s a very handy feature that my father requires. He is dependent on a very old Java-applet that only runs on Microsoft Java Virtual Machine. This virtual machine software is no longer supported and it’s not easily available. It’s also a problem that the computer cannot have to activate Java-runtimes, so when you install Sun’s latest Java runtime, it will override the Microsoft JVM. This has caused a lot of headache on configuration and issues getting the Java-applet running properly.

With this new Virtual Windows XP, I was able to successfully install and configure an old version of the Java-runtime and make the web application work when my father is within the virtualized environment. Not only this this work seamless, the performance was not too bad. We tested this on an laptop with 1,6GHz CPU and 1GB of RAM, Windows 7 automatically configure the Virtual Windows XP to have aprox. 503 MB of RAM available, and both the virtual machine and the local Windows 7 was relatively smooth. It will probably become a bit slower as the hard drive is filled with additional software.

So one of the main benefits you get is the backwards compatibility, and it can make you be more secure. Running old and outdated software can often be a problem in regards to security, but if the virtual machine is only used with known software and a few selective websites, the attack surface will be much less than if you are running an old version of Java on the local machine that you use to visit all your websites.

Installing Windows 7

Windows 7 is available through the Microsoft Connect Beta program, MSDN Subscribers Download and very soon to the public (5th of May). Booting from the Windows 7 DVD and installing the OS is a very straight forward task, which is dramatically faster than it was with Windows XP. If you happen to have your computers configured like we do, you should be able to format and install a new instance of Windows without first having to clean up files or configure tedious backups. I explained how you can use Windows Live Sync and Live Mesh to run a seamless synchronization of all your important files across your home network computers, in my article Digital Lifestyle 2009.

It took me 19 minutes from the initial boot from the CD to the desktop was fully loaded on the Sahara Slate Tablet PC, installed with my old external USB DVD player. Hint: Before I started the installation, I removed the computer from both my Windows Live Sync website and from Live Mesh. I also made sure that all computers was fully synchronized before I started.

You no longer require to fill out the product key during installation, this can be done later on when the installation is complete. You also get the option to configure the network on the computer before you enter the desktop. When my computer loaded the desktop for the first time after 19 minutes, it was online and ready for use. It automatically started to download updates. It found an definition update for Windows Defender and updated drivers for my fingerprint reader and my Intel Chipset. Almost all drivers was included and loaded with Windows 7, that means my tablet digitizer pen worked out of the box, Bluetooth worked, wireless and wired network. After the updates, my finger printer reader worked! I’ve never really used the reader before because the third party software for it never integrated well, now I’m using the built in functionality in Windows and it works smooth and seamless. Everything installed, no reboot required.

Fingerprint Sensor

Installing Windows Virtual PC

The software that was previously known as Microsoft Virtual PC has been renamed to Windows Virtual PC and is now an integrated part of the Windows experience. There are no separate standalone application – it’s integrated with the Windows Explorer shell. Windows Virtual PC allows you to not only run the pre-configured Virtual Windows XP, you can create any virtual machine you’d like.

Installation is packaged as an Windows Update installer and is a ~5 MB file (Windows6.1-KB958559-x86.msu) that you can download from the same place as you get Windows 7.

After you’ve installed the Windows Virtual PC (required a reboot on two of my computers), you can install the pre-configured Virtual Windows XP. This is a bigger installation file on 445 MB (VirtualWindowsXP_32_en-us.msi), though all it does is copy the virtual hard drive to your computer and make a copy of the virtual machine definition under your local profile. Downloads are available in multiple languages.

Starting Virtual Windows XP

At the end of the installation, you can choose to Launch Virtual Windows XP. If you do this, Windows Virtual PC will launch and configure your new virtual machine. At the first start, you will have the option to specify a password for the virtual machine.


The first run setup takes a little while to configure…


To get started manually, go to your profile folder (e.g. C:\Users\UserName) and open the folder called Virtual Machines. If everything is installed correctly, you should have a Virtual Windows XP machine ready here. As you can see when you locate the Virtual Machines folder, there is a button embedded directly into the Windows Explorer shell that allows you to create a new virtual machine. The dialog that appears is integrated into the shell and is not a separate application as you might be used to. This makes the whole Windows Virtual PC an very integrated experience, one which even my father is easily able to use.


After the initial configuration, you will be presented with a window that contains your Virtual Windows XP. You can resize the window to have the desktop resize and you can go into full screen mode, which will make your computer appear to be running Windows XP. There seems to be better USB support than previously, which was greatly missed in the old Microsoft Virtual PC.

VirtualWindowsXP VirtualPCUSB

Running applications

You can now launch and use the older Internet Explorer 6.0 or you can install any third party software that no longer compatible with Windows 7.

With the default settings, you will get an application shortcut on your local Windows 7 instance when you install  applications in the Virtual Windows XP. These applications can then be launched from the Windows 7 start menu and when they start, they will automatically launch the virtualized Windows XP in the background and you will be able to work with the application directly on the Windows 7 desktop.

Here is a screenshot that shows how I’ve launched WinRAR from my local start menu and it’s opened up the WinRAR application with the Windows XP style application window.


Unfortunately you cannot run both the virtual desktop and virtual applications at the same time.


Extra: Biometric Fingerprint Sensor

Since Windows 7 now has better support for biometric sensory input and it automatically found the driver for my Tablet PC, I decided to write this extra little section on how to configure and use fingerprint reader on Windows 7.

Open the Devices and Printers link in the Start menu. This should display your Fingerprint Sensor if you have one and it’s installed properly. Right-click and choose Biometric. Now you can start to enroll your sensor with your Windows account. The following screenshots is from my machine which has a AuthenTec sensor, this will probably look a bit different depending on your make and model.

Reader1 Reader2

Reader3 Reader5

Reader6 Reader7

Get Windows 7 today!

If you have not tried Windows 7 yet, you should seriously consider to download and install. While it’s still not complete yet, it’s very stable and the performance is great. It works great on older computers with less memory and even better if you have lots of RAM. Make sure you take backup of all your important files before you format your hard drive with a new copy of Windows. Enjoy!

Update: You can now download Windows Virtual PC and the Windows XP Mode (Virtual Windows XP) beta:

The “Windows 7” logo is taken from the eHomeUpgrade site, used without permissions.

Windows 7 for Developers

This is the first of many posts I’m writing about Windows 7 for developers, some of these posts will be featured in my technical presentations that I do at events such as the Norwegian .NET User Group and MSDN Live.

1: Windows 7: Virtual Windows XP
2: Windows 7: Sensor Platform

Leave a Reply

Your email is never published nor shared.

You may use these HTML tags and attributes:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>