UPDATE: Adobe recently released BrowserLab … If you want a fast method of previewing your sites on different versions of IE running on different OSes, you might want to check it out
After recently weening myself off Windows and on to Mac OS X – and deleting my Windows partition – it became pretty clear that if I would need some method of running Internet Explorer on my Mac if I wanted to continue doing web development with any kind of success. After a bit of Googling, a bit of testing, and healthy dose of “issues”, I have come up with a fast, stable – and best of all free – method of running IE6, IE7 and IE8 simultaneously on my Intel Mac legally.
First of all, you will need to download a bunch of software. I have listed all of this below:
Next, I put together a list of steps that need to be followed in order to get this all working. Read though it first, as I have attached the reasons why I have done things a certain way to help you get a feel for what is going on.
- Install VirtualBox. This is the virtual machine that will be used to run the various OS and browser images.
- Install The Unarchiver. This will be used to extract the virtual machines from the *.EXE files.
- Install Q. This will be used in the process of converting the Microsoft *.VHD virtual machines into native VirtualBox *.VDI virtual machines.
- Run The Unarchiver, and associate it with *.EXE files.
- Open the IE6, IE7 & IE8 images using The Unarchiver. A new folder will be created, with a *.VHD in each of these.
- Open Terminal, and type the listed commands for each of the *.VHD files. This will allow all of the images to be mounted and executed together without any conflicts. Currently all the Microsoft images share that same hard disk identifier, and this method allows it to be changed.
/Applications/Q.app/Contents/MacOS/qemu-img convert -O raw -f vpc OldVHDImage.vhd NewRAWImage.raw
VBoxManage convertdd NewRAWImage.raw NewVDIImage.vdi
- Run VirtualBox, and follow the listed steps for each of the *.VDI images.
- Go to the File menu, and select Virtual Disk Manager…
- Click on the Add toolbar button on the Virtual Disk Manager window, and select the appropriate *.VDI from the file selection dialog.
- You should now see the *.VDI image in the list. Click on the OK button.
- Click on the New toolbar button on the Sun xVM VirtualBox window, and follow the prompts on the Create New Virtual Machine window. Ensure that the right OS type is selected, and that adequate RAM is allotted for the virtual machine.
- Select the new virtual machine, and click on the Start toolbar button on the Sun xVM VirtualBox window. Immediately after this, tap F8 to enter the Windows Advanced Options menu.
- Select Safe Mode from the menu, and press the Return key.
- Once Windows has booted up in safe mode, cancel all of the hardware prompts.
- Go to Start, then select Run… . Type cmd into the input field.
- At the command prompt, type each of the listed commands. This will prevent the virtual machines from bluescreening, and will allow the appropriate network drivers to be installed.
ren processr.sys processr.old
- Restart the virtual machine. Windows will likely prompt you to do this after is has detected the change.
- Once Windows has booted up, cancel all of the hardware prompts.
- Go to the Devices menu in VirtualBox, and select Install Guest Additions…
- Follow the prompts within Windows to install the guest additions, or drivers. You will be prompted to reboot your virtual machine at the end of this process.
- Once Windows has booted up, you will be presented with the Hardware Update Wizard. Select Install the software automatically, and click on the Next button.
- Follow the prompts and wait until the network adapter is installed.
If all goes well, you should have three virtual machines that can all run together synchronously for some serious browser testing. If you would like a little more information, I would suggest checking out Jeff Couturier’s article (he has a nice tutorial video on the site too), and Jeremy Gillick’s article.
UPDATE: It appears this article has been translated into Danish by Rasmus Luckow-Nielsen. Thanks Rasmus!