Like everyone else, I need to test my code on Internet Explorer 6 and Internet Explorer 7. Now Internet Explorer 8 has some great tools for developer, which I'd like to use. I'd also like to start testing my code with Internet Explorer 8, as it will soon be released.
The question is: how to run Internet Explorer 6, Internet Explorer 7, and Internet Explorer 8 on the same machine. So far with Internet Explorer 6 and Internet Explorer 7 I've been using Multiple IE . But people have reported (see comments on the page linked in the previous sentence) issue with Internet Explorer 6 after installing Internet Explorer 8. Those errors are related to focus in form fields. Running Internet Explorer 7 wouldn't matter so much as Internet Explorer 8 can use the Internet Explorer 7 rendering engine, but we still need Internet Explorer 6.
How to run Internet Explorer 6, Internet Explorer 7, and Internet Explorer 8 on the same machine?
I wouldn't do it. Use virtual PCs instead. It might take a little setup, but you'll thank yourself in the long run. In my experience, you can't really get them cleanly installed side by side and unless they are standalone installs you can't really verify that it is 100% true-to-browser rendering.
Update: Looks like one of the better ways to accomplish this (if running Windows 7) is using Windows XP mode to set up multiple virtual machines: Testing Multiple Versions of IE on one PC  at the IEBlog .
Update 2: (11/2014) There are new solutions since this was last updated. Microsoft now provides VMs for any environment to test multiple versions of IE: Modern.IE  http://blogs.msdn.com/b/ie/archive/2011/02/04/testing-multiple-versions-of-ie-on-one-pc.aspx
Nobody mentioned this, but IETester  is a great tool. It supports Internet Explorer 5.5, 6, 7 and 8RC1. The rendering matches the corresponding browsers. At least I haven't found any discrepancies yet.
You can use the new MS Expression Web SuperPreview 
If you do not want to spend money on MS Expression Web, you can download Microsoft Expression Web SuperPreview for Windows Internet Explorer  completely free. The only restriction is that after the trial expires you can't compare to non IE browsers. http://blogs.msdn.com/xweb/archive/2009/03/18/Microsoft-Expression-Web-SuperPreview-for-Windows-Internet-Explorer.aspx
I would also suggest running a few virtual machines rather than running multiple versions of Internet Explorer on the same instance of Windows.
Microsoft provides Virtual PC  disk images with Internet Explorer 6, 7, and 8 at the Internet Explorer Application Compatibility VPC Image  download page.
The current list of virtual disk images available from the above link are:
(List is current as of October 11, 2009. All versions have expiration dates.) http://www.microsoft.com/windows/virtual-pc/default.aspx
modern.IE  is an undertaking by Microsoft to make cross-browser testing for the Internet Explorer browsers easier. Microsoft has created modern.IE to provide developers and designers with a suite of tools to facilitate IE browser testing.
With modern.IE you have two methods of testing your website in IE. First, modern.IE offers you three months free usage of the web-based browser testing service BrowserStack . You just need a Facebook account to login and start testing.
The second method modern.IE offers is a virtualization image of each browser from IE 6 to IE 10 , which can be run on virtualization software like VirtualBox, Virtual PC, Hyper-V or VMWare Player on WIndows, Mac or Linux.
Additionally, modern.IE also provides a tool which scans your web page for common coding problems  and lists them out for you to correct so that they display correctly in all IE versions.
Source: modern.IE - Cross-Browser IE Testing Tools Suite  http://www.modern.ie/
Utilu IE Collection contains multiple IE versions, which are standalone so they can be used at the same time.
Conditional Comments work exactly the same as in the native versions. The original version number is shown correctly in the User Agent string. The version number can be found in the window title too.
Utilu IE Collection also includes the Internet Explorer Developer Toolbar 1.00.2189.0. This Explorer Bar provides a variety of tools which make troubleshooting websites easier. The Internet Explorer Developer Toolbar is compatible with Internet Explorer 5.0 and higher when using Windows 2000 or higher.
Utilu IE Collection has the option to install the Firebug Web Development Extension for Internet Explorer. Firebug provides a lot of useful tools which make web development easier...
.02 USD more...
I've written a step-by-step blog post  showing how to run Internet Explorer 6, Internet Explorer 7 and Internet Explorer 8 as "virtual applications" on Windows 7 Ultimate. http://blog.donavon.com/2009/08/run-ie6-ie7-and-ie8-side-by-side-on.html
I use http://www.spoon.net/browsers (Windows-only).
You can run IE8, IE7, IE6, Firefox 3.5, Firefox 3, Firefox 2, Safari 4, Safari 3, Opera 10, Opera 9, Chrome.
You just need to install a plugin, and then click on the corresponding icon. It will download and run the files needed to run each of the above mentioned browsers.
If you have IE8 installed in your machine, you can test how your site works in IE7 too. When you are in the page you need to test in IE7 browser, Open "Tools"->"developer tools". And then in the menu of that "Developer tools" dialog box, Click on "Browser Mode:[CURRENT MODE]" and there you can select 3 options. that is,
Backing up the other users, you will need to run Virtual PC instances on your Windows box. If you try to do a multi install of Internet Explorer, you will break conditional comments on pages, which will make testing difficult anyway (For example, With Internet Explorer 5, 6 and 7. On a Windows box, the IF Internet Explorer statements will resolve to Internet Explorer 7 even in Internet Explorer 5, which means even more weird bugs.
More information and a link to download and run a Internet Explorer 6 Virtual Image: http://blogs.msdn.com/ie/archive/2007/04/17/ie7-virtual-pc-image-and-ie6-virtual-pc-image-refresh.aspx
If you have Virtual PC already, here is the image: http://www.microsoft.com/Downloads/details.aspx?FamilyID=21eabb90-958f-4b64-b5f1-73d0a413c8ef&displaylang=en  http://www.microsoft.com/Downloads/details.aspx?FamilyID=21eabb90-958f-4b64-b5f1-73d0a413c8ef&displaylang=en
I did this on my Windows 7 computer today:
There is one elegant way to run IE6, IE7 and IE8 on the same machine, called virtual PC.
First download virtual PC from Microsoft website here: http://www.microsoft.com/downloadS/details.aspx?FamilyID=04d26402-3199-48a3-afa2-2dc0b40a73b6&displaylang=en 
Then download 3 EXE files with IE6, IE7 and IE8 here: http://www.microsoft.com/downloads/details.aspx?FamilyId=21EABB90-958F-4B64-B5F1-73D0A413C8EF&displaylang=en 
Install them on your PC and test your web applications. Saved me days of looking for similar solutions. http://www.microsoft.com/downloadS/details.aspx?FamilyID=04d26402-3199-48a3-afa2-2dc0b40a73b6&displaylang=en
I've been struggling with this problem for a while. Virtualization would be a good solution, but it's too slow for my needs. A laptop can only handle so much: running a development environment alongside Adobe Photoshop and Illustrator and then trying to do virtualization while connected to a plethora of servers and with a lot of other things going on in the background is... well... slow.
I have the following setup now that solves the problem gracefully, although it is a bit expensive, it's worth it:
Both machines run Synergy , sharing the keyboard and mouse across machines, so I can easily switch between the two. Since they're separate computer I don't have any performance issues and can happily Photoshop along on my Mac while my Windows machine still has each and every browser running.
This setup covers most of browsers in graded browser support as defined by Yahoo! http://developer.yahoo.com/yui/articles/gbs/ :
E-mail clients covered:
Things this setup doesn't cover:
You can check out a video of the setup here . http://synergy2.sourceforge.net/
For windows users there is Windows XP Mode which allows you to run multiple versions of IE on a Windows 7 Professional, Enterprise, or Ultimate edition.
Very good option is update to Internet Explorer 10. You will find very useful developers tools including compatibility with from IE5 to IE 10 including quirks mode. If switch the IE version i menu, the page rendering of the page is changing immediately.
I use Virtual PC to run an instance of windows where I have IE6 installed. It's a bit clumsier than having different versions in the same computer, but it's a 100% working IE6. Multiple IE works fine for most testing, but it's lacking that last few percents.
Don't work too much to get the page looking right in IE8, it still has some glitches that most likely will be fixed in the final release.
I wrote an article about how to test on many browsers without having these browsers installed: 10+ Ways for testing website browser compatibility  http://amrelgarhy.com/index.php/10-ways-for-testing-website-browser-compatibility/
This does not directly answer your question, but have you had a look at Litmus ? We tend to use it mostly for testing HTML/CSS compatibility across multiple browsers (supported by Litmus). http://litmusapp.com/
Somewhat related, you should consider running your site past BrowserShots  when it is almost done, see how it looks in dozens of browsers on hundreds of configurations. http://browsershots.org/
Run IE6, IE7, and IE8 on the Same Machine Using Windows 7 XP Mode
I've installed Virutal PC according to Donavon's tutorial but it seems that my laptop's BIOS doesn't support Hardware Virtualization, and it's required to run Virtual PC. So, make sure your equipment supports that before you go any further wirh Virtual PC.
Download it from Microsoft Download Center  link http://www.webupd8.org/2011/09/test-websites-in-internet-explorer-9-8.html
VMWare Player is a free alternative to Oracle VirtualBox and Microsoft VirtualPC. As with the mentions of VirtualBox you'll need to create your own images of OS+browser, though. VMWare Player is here: http://www.vmware.com/products/player/
What about using App-V? http://www.microsoft.com/systemcenter/appv/default.mspx
In particular Dynamic Application Virtualization http://www.microsoft.com/systemcenter/appv/dynamic.mspx
It virtualizes at the application level. It is useful when running incompatible software on the same OS instance.
Firefox has an add-in that will render a webpage the same as if it was in Internet Explorer 5.5/6/7/8 beta 2.
IE NET Renderer 
Edit: This looks like it only does screenshots so it may not be very useful. Good for making sure your layout isn't broken, but not much else. https://addons.mozilla.org/en-US/firefox/addon/6455
As Eduardo mentioned, the recently announced Microsoft SuperPreview  is a tool that lets you view how web pages are rendered in many different browsers, even if they aren't installed locally.
For example, you can see how your page looks in Internet Explorer 6, Internet Explorer 7, Internet Explorer 8, Firefox, and Safari, even if you don't have those browsers installed. http://blogs.msdn.com/xweb/archive/2009/03/18/Microsoft-Expression-Web-SuperPreview-for-Windows-Internet-Explorer.aspx
Someone I know created a portable version of IE8 using thinstall (now it's bought by vmware and called thinapp) (only 1.8 MB). Thinstall creates a virtualized application with a virtual filesystem builtin and is the perfect solution to DLL hell. The whole app runs from a single exe file.
This is untested against other versions install, I might add.
On my Mac OS X machine I use Sun's VirtualBox  wich is free.
I run 3 WinXP virtual boxes and assign 256K to each. See this tutorial:
This blog post worked for me: http://aarfing.dk/?p=120 (How to run IE6, IE7 and IE8 side by side).
Multiple IE http://tredosoft.com/Multiple_IE Will install ie up to 6, without disrupting current installation (i have 7 and it left it as it is). Now I need to find a way to run 8 on top of all that. 6 and 7 already run fine thanks to that little app above. (only tested on XP)
A colleague of mine recommended Internet Explorer Collection . It appears to work without issues, but I'm far from a power user. It also supports installing IE 1 (!!) through 8. http://finalbuilds.edskes.com/iecollection.htm
The best and probably only solution is probably IE tester that could be found at ietester[dot]com It uses the IEengines for all IE 6, 7 and 8! And I have not found any discrepancies yet!
Try using IE Tab .. Firefox / Chrome Extension
Here is the official microsoft VM images for doing IE 6, 7, 8 and 9 testing: http://www.microsoft.com/en-us/download/details.aspx?id=11575
I found a new tool that makes this Really REALLY easy.
Use IE9 Developer mode. push F12.
Up in the File Menu, you can see Browser Version: IE9, click here and you can change the browser version all the way back to 7. For 6 you will still need a virtual PC.
Microsoft now offers virtual images that you can use in your choice of software to run IE8 and other legacy software!
A fairly large download but works wonderfully! (Requires a valid version of Windows 7 to work fwiw).
Also have a look at Microsoft's Compatibility Inspector , which will give you warnings of issues that will affect your sites backwards compatibility.
To check all versions of Internet Explorer you can go to codecpack.nl and install all versions of Internet Explorer, that is, IE collection .
Or you can use www.multibrowserviewer.com. It can check in 45 browsers and 3 OSes. http://codecpack.nl/iecollection.htm