I have been using Microsoft’s free virtual machine images for a few years now for browser testing and to help me navigate the various operating systems when a user calls me for support.
Microsoft released their new images and can be found here:
http://www.microsoft.com/download/en/details.aspx?id=11575
Note that if you find yourself depending on these images more and more, it seems to take about a month or so for Microsoft to update the images after the expiration date, so keep that in mind when that time of the year comes. When the last set of images expired in the beginning of November, the new images weren’t available until mid-December.
Virtual Machine Uses
These images offer Windows XP, Windows Vista, and Windows 7. Each platform has a version of the Internet Explorer browser available. While IETester offers a quick way to test websites with the various IE browser engines, it’s still not as good as having the real thing to work with. Additionally, IETester only works with the highest version of IE that you have installed. For example, if you only have IE8 installed, IETester can only work with IE engines up to IE8.
A side benefit to having the different operating systems available is that if you do any sort of tech support, it’s likely that your users/clients use different versions of Windows. So, whenever I find myself needing to guide users over the phone through a series of steps that may vary from operating system to operating system, I find that having these virtual images available helps considerably.
A third benefit is that virtual images allow you to have a place to test software that you may not necessarily want to test in a live environment or on your native operating system. This technique is called “sandboxing” because it allows you to isolate what you’re testing inside its own enclosed environment (or “box”). For example, not to long ago, I was testing various application firewalls to replace an older discontinued application firewall. As such, installing and uninstalling all these different firewalls would have eventually had a negative impact on my native operating system (for various reasons). Since I was testing in a virtual machine, all I had to do was discard the changes, and install the next one I wanted to test.
Virtual Machine Software
These virtual images are in the VHD disk image format. The one caveat in the EULA to using these images is that they must stay in the VHD format and cannot be converted to any other disk image format. You can run these virtual images using Microsoft Virtual PC or VirtualBox, as both support VHD image files and are freely available.
The current version of Microsoft Virtual PC is advertised with XP Mode. XP Mode includes a fully licensed virtual machine image if you are running Windows 7 Professional, Enterprise, or Ultimate. If you aren’t running any of those editions, you can download Virtual PC without XP mode by clicking the link “Don’t need XP Mode and want VPC only? Download Windows Virtual PC without Windows XP Mode” and selecting your operating system.
If you still need the older version, Virtual PC 2007 for Windows XP or Vista, it is still available here: http://www.microsoft.com/download/en/details.aspx?id=4580
However, for Virtual PC 2007, make sure you install the service pack and hotfixes in the order listed below:
- Service Pack 1: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=24439
- Hotfix rollup (scroll to the “Resolution” section for the download): http://support.microsoft.com/kb/958162
- Security update: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=25161
Best Practices
When you use these virtual machines, keep in mind they won’t nearly be as fast as your native operating system because they are running on top of your native operating system. To get the most out of your virtual machines, make sure you have enough physical RAM to run what you need in your native environment as well as in the virtual machine. I recommend at least a minimum of 2GB of physical RAM in order to run just one virtual machine.
Here is what I have found that works well as a bare minimum for allocating RAM for each virtual machine:
- Windows XP virtual machine: 512MB RAM
- Windows Vista virtual machine: 512MB RAM
- Windows 7 virtual machine: 768MB RAM
It also helps to host the VHD file on a separate hard drive. Running your native operating system as well as a virtual machine from the same drive tends to reduce performance.