
Free VMs of Windows to test older versions of IE - Hawkee
http://www.microsoft.com/en-us/download/details.aspx?id=11575
======
thristian
The VMs are designed for Virtual PC, which is of course only available for
Windows.

There's a script called ievms that will automatically downloade those VMs and
convert them for use with VirtualBox on OS X or Linux:

<http://xdissent.github.com/ievms/>

~~~
j_s
Virtual PC isn't supported in Windows 8 and I couldn't get these images
working in Hyper-V. They are truly almost an afterthought from Microsoft.

~~~
adrr
Doesn't IE10 let you run the past versions of IE with developer mode? Haven't
tried with IE10 but i know IE9 had it.

~~~
acdha
No: the compatibility modes aren't the same as the real browser - they try but
some features, especially things like CSS or DOM handling of errors, non-
standard properties, etc. will not be consistent enough to avoid testing in
the real thing.

When IE8 was out, setting IE7 compatibility mode using an HTTP header worked
for 99% of a huge internal business app but I had to monkey-patch around a
third-party library because the code which worked in IE7 raised an exception
in IE8's IE7 compatibility mode due to significant differences in the
underlying JavaScript engine. This was an improvement - IE7 should have done
the same - but it broke a huge enterprise shovelware system with an
indifferent vendor who waited until after IE8 was released to start testing (a
support manager actually contacted me asking if they could redistribute my
patch!).

~~~
mgkimsal
did you let them redistribute it?

~~~
acdha
I'd already posted it publicly, so I didn't even try to charge them.

------
ecaron
The biggest problem with these is that they all have an expiration date - and
Microsoft frequently forgets to update them. And getting through to Microsoft
to tell them it is out of date... forget about it.

~~~
wpietri
Yes! We eventually stopped bothering with these because it was too much time
to re-download and re-install them every time they expired.

Instead, we just narrowed our IE support to what we could maintain easily with
a legitimate copy of windows installed on a VM.

~~~
at-fates-hands
I'm surprised more people haven't done this as it would seem an obvious way to
solve the problem.

I've recently been in several large corporations and they won't support
anything below IE8 now. Most are dropping support for IE8 after IE10 becomes
more widely available.

------
crazygringo
These have been around for years. I put together a guide for personal use a
while ago, for how to get them running under VirtualBox on OSX. Should be a
similar process under Linux. I don't have a blog or anything, so I'll include
them here, hoping they'll be helpful to people here, sorry about the length (I
last did this a few months ago, so it should be pretty up-to-date).

\- Extract the RAR files. On OSX use UnRarX: <http://www.unrarx.com/> At least
with UnRarX, it will still work despite the first RAR file being a self-
extracting .exe file which, obviously, can only run on Windows. You may have
to open the multi-part archive using the second file, it will still work.

\- Install VirtualBox from <https://www.virtualbox.org/> Inside of VirtualBox,
create a new virtual machine using the wizard. Make sure to choose the
appropriate OS (for example Windows 7) and give it enough memory (the default
512MB is definitely not enough). Also, we're using 32-bit OS only. The
important part is to select the .vhd file you extracted from the .rar files as
an existing hard drive.

\- Do not run the virtual machine yet. It won't work, because it's designed
only to work with Microsoft Virtual PC. To make it compatible, click
"settings" in VirtualBox to change some things:

\- On the system tab, check Enable IO APIC. This is necessary to get your
mouse to work (I think).

\- On the storage tab, remove your VHD from the "SATA Controller" list. Then
add the same VHD file back, only under the "IDE Controller" tab. The VHD is
expecting an IDE controller, and you'll get a BSOD if you don't do this step.
Under the network tab, change "attached to" from "NAT" to "Bridged Adapter".
This is necessary to be able to access a webserver running on your local
machine, that is outside of the VM. (You don't need to do this if you just
want to access websites in general). Start the Virtual Machine.

\- You'll notice the mouse doesn't work. We'll get to that. For now, the Tab
key and Alt+Tab are your friends. Log in with either the "IE User" or the
"Admin" account. The password is "Password1".

\- It will ask you to activate. Ignore for now.

\- In VirtualBox, go to the "Devices" menu in your OS menu bar and click
"Install Guest Additions...".

\- In Windows, launch Explorer somehow. Easiest way is the "run" command (try
Windows Key + R) and type "explorer". From within explorer, use Tab and Enter
and arrow keys to navigate to the inserted CD. Select the "Autorun" file and
hit "Enter" to run it.

\- You are now installing guest additions. During the process, you'll need to
Alt+Tab to the new prompt window to hit enter every time you need to confirm
something.

\- Once guest additions is installed, use the start menu to restart the
virtual machine. Once it restarts, your mouse should now work inside the
virtual machine, hooray!

\- It will ask you again to activate. Try to activate online. If it works
without asking you for a product number, awesome. If it asks you for a product
number, hit cancel, open up a command prompt (run "cmd"), and type the
following:

    
    
        slmgr -rearm
    

(If it says you don't have permission, then try logging in under the other
account when Windows starts up, if more than one account is listed, e.g. both
"Admin" and "Administrator". One of them should work.) This will activate
Windows for 30 days, and you can redo this every 30 days. Note: if you don't
activate or run this command instead, then Windows will shut itself down after
15 minutes.

\- Open up IE. It should be able to browse the Internet. But it will not open
up sites on nonstandard ports, so browsing to your own site at something like

    
    
        192.168.0.10:8080
    

will not work. To fix this, go to Internet options, then the Security tab.
Click the Trusted Sites icon. Click the Sites button. Uncheck the "Require
server verficiation (https:) for all sites in this zone" checkbox. Click Add,
then type in the IP address of your machine (for example

    
    
        http://192.168.0.10
    

). Click Close. Then, with the Trusted Sites icon still selected, change the
security level for this zone to the lowest possible setting. Now, browsing
non-standard ports like 8080 should work.

\- If you find yourself Cmd+Tabbing between the Virtual Machine and the rest
of your programs, you may find that every time you Cmd+Tab back to the Virtual
Machine, it opens up the windows menu. This can get real annoying real fast,
because it removes focus from whatever you were working on. You can disable
the "Windows key" inside of the VM from this Microsoft
webpage:<http://support.microsoft.com/kb/216893> Obviously, this will disable
any windows key shortcuts, but that's probably fine. Remember, normal
shortcuts like Ctrl+V etc use the Ctrl key on the Mac keyboard, not the Cmd
key.

~~~
BonoboBoner
Awesome guide, thanks a lot!

Since the WinXP is just a single exe file, UnrarX cannot extract it. Any idea
to fix this besides extracting it on a Windows computer?

~~~
conductor
Hackers don't search for easy solutions ;) You can use any hex editor to cut
the PE file: just cut from the beginning to the point where the _Rar!_
signature starts and rename the extension to .rar.

~~~
BonoboBoner
Challenge accepted.

Edit: There is no "Rar!" in Windows_XP_IE6.exe :(

~~~
conductor
That's because it's not a RAR archive :( Windows_7_IE8.part01.exe and
Windows_Vista_IE7.part01.exe are RAR archives, but Windows_XP_IE6.exe is not.

------
jtchang
Just a quick note that one of the easiest ways to get a legitimate license key
is to join BizSpark. If you are a startup (which I imagine a lot of people
here have _some_ sort of startup) there is no reason not to be a part of it.

~~~
mushishi
IIRC, it cannot be just any kind of startup, i.e. if you have a software
service house (build software for others / consulting), you are not going to
get into BizSpark.

Feel free to straighten out my misconception.

------
duck
Or better yet, just use <https://browserling.com/> which is from another HN
member, pkrumins.

~~~
Hawkee
This is nice, but it suffers from the same flaw all the other virtual browser
services suffer from: No pay by the minute/hour. I probably only need 1 or 2
hours with IE 8 every month or two.

~~~
lotyrin
Honestly, if it's not worth 20 bucks a month to you, you probably aren't in
their target market (deliberately priced out of it, for good reason).

~~~
mattmanser
Depends, when you look at it another way $20 a month is almost your own
virtual server with windows on it.

~~~
hopeless
If it saves me ~30mins/month then it has paid for itself

------
jbyers
These images have been available since at least summer 2008:

[http://weblogs.asp.net/mschwarz/archive/2008/08/30/internet-...](http://weblogs.asp.net/mschwarz/archive/2008/08/30/internet-
explorer-application-compatibility-vpc-image.aspx)

------
mgeraci
xdissent made a great command line installer on github for virtualbox and
these virtual machines; you can get them running with one command. I've used
the script for the last year or so when I've had to set up a new box for
testing and I've really enjoyed it.

<https://github.com/xdissent/ievms>

~~~
mr_luc
I came here to post this; instead I'll mention more features:

\- Handles interrupted downloads for you, continues them. \- Hilariously, each
browser comes in a distinct version of the operating system. Windows 95 for
IE7, Windows Vista for IE8, and Windows 7 for IE9. A trip down memory lane! \-
Debugging for IE7 is not enabled by default on the IE7 image. Thanks, MS ...
people mostly use IE8 with IE7 mode turned on, but it _is_ possible to get a
full debugger in IE7.

 _shiver_

Now I'm going to go back to pretending those abominations don't exist. Until
later next week, when yet another responsive web app needs to be backported to
the days of buggy whips ...

~~~
risratorn
The windows versions you mention are not right. It's WindowsXP-IE6,
WindowsVista-IE7, Windows7-IE8/9

<https://github.com/xdissent/ievms/blob/master/ievms.sh#L150>

------
AdrianRossouw
These images work directly on vmware fusion btw.

the converter is built into the application.

~~~
arikrak
what about parallels? (arstechnica recommends it)

------
duncans
Bear in mind they're time limited. If you're running Windows 7 you can use
multiple instances of "XP Mode" (basically Virtual PC + a VHD image you can
download from MS) to run all versions of IE
[http://blog.dotsmart.net/2009/06/24/using-windows-7s-xp-
mode...](http://blog.dotsmart.net/2009/06/24/using-windows-7s-xp-mode-to-run-
ie-6-and-ie-7-side-by-side/)

------
mxxx
We do most of our testing through cloud-hosted VMs now, like
<http://browserstack.com> and <http://saucelabs.com>

Sauce also lets you set up selenium/WebDriver testing so you can automate it.

~~~
chunkyslink
Agreed. Spending hours fiddling around with old VM's to test horrible old
browsers sounds depressing.

Saucelabs looks good cheers.

------
nnq
Why use this instead of the setup that I use for years?: a WinXP virtual
machine and this IEs collection: [http://www.askvg.com/how-to-run-multiple-
internet-explorer-v...](http://www.askvg.com/how-to-run-multiple-internet-
explorer-versions-simultaneously/) \- you end up with one VM and IE 3 - 8.

...and since I use Win7 for work I was tempted to try <http://www.my-
debugbar.com/wiki/IETester/HomePage> but ended up using my old solution out of
fear of messy installs/unistalls that such software could do on my "clean"
work OS though I'm curious if anyone tried it as it still seems more
comfortable and I'd switch to it if I could...

~~~
camtarn
In the past (about four years ago) we had a difficult to debug issue which
only manifested in IE on one team member's computer - we traced it down to
Multiple IE screwing up cookie handling in some odd manner. So you'd be
testing with an environment that's not necessarily 100% the same as your end
users.

~~~
yesbabyyes
Yes, I have also seen peculiarities with Multiple IE. IMO, it's decent for
casual testing, but you still need to do testing on real installations of your
target platforms.

------
jsd1982
For web devs, if you want to test your site on IE7, download the XP image and
install IE7 on it - the image comes with the installer on the desktop. Don't
bother with Vista unless you need to support something OS-specific, which if
you do - you should just stop what you're doing and severely rethink your web
dev stragedy.

For use with Oracle VirtualBox, you'll have issues with networking, which will
prevent you from Activating the VM.

I posted detailed steps to get networking working in VirtualBox here:
[http://bittwiddlers.org/index.php/2012/11/xp-vms-with-
virtua...](http://bittwiddlers.org/index.php/2012/11/xp-vms-with-virtualbox/)

------
acqq
"Windows XP Image:

Expires: This image will shutdown and become completely unusable on February
14, 2013."

------
arikrak
Installing a whole OS just to test a site on IE seems a bit excessive.
Wouldn't it be easier to just test one's site on the cloud? (E.g. see
[http://www.microsoft.com/expression/products/SuperPreview_Ov...](http://www.microsoft.com/expression/products/SuperPreview_Overview.aspx),
though its for Windows.)

~~~
Osiris
That's always bothered my about Internet Explorer. I can download Firefox,
Chrome, and Opera all for under 20MB but I need to download 4GB to test
Internet Explorer 8?

~~~
mappu
Seems strange, doesn't it? But the rendering engine is shared with countless
other system components, it's not portable between operating systems (no IE9
on XP, no IE on mac/linux, no IE7 on certain x64 windowsen) and all attempts
to extract the rendering engine into a portable .dll have quirks of their own
(IETester et al).

Sad state of affairs, but a whole OS image is the only way to get guaranteed
compatibility with what real-world users are seeing - A better comparison
would be to iOS Safari or the Android browser, where the vendor just has zero
incentive to make that specific browser work (identically) on other platforms.

------
wslh
Another alternative is using an application virtualization solution. In that
case you can run IE6 directly in Windows 7. It works as a sandbox and you
don't nees the whole operating system. My company is providing this technology
to Symantec.

------
genuine
The right thing to do is sometimes just to give it up. People will stop using
the old browser, even if that isn't immediate in large companies that can't
roll out new versions quickly due to the expense and time involved.

We gave up IE6 as soon as we could.

------
DrStalker
A while ago I used Windows XP Mode to create VMs with different versions of IE
for testing - very easy if you have Windows 7 Pro because XP mode can be
duplicated/copied around like any other VM and has automagic licensing
provided the host in Windows 7 Pro (if you move the VM to a different type of
host it will fail to work)

Obviously this is only good if you're already on windows but that was a huge
help for development and didn't take much effort to set up.

------
ck2
Or several gigabytes less and much faster:

<http://www.my-debugbar.com/wiki/IETester/HomePage>

~~~
larrydavid
I'm fairly sure IETester is not a 100% accurate representation. Although
saying that, I have used it before and it certainly is more convenient. I
suppose it depends on how important the compatibility of your site is on the
older IE versions.

[http://stackoverflow.com/questions/5612170/web-testing-
for-i...](http://stackoverflow.com/questions/5612170/web-testing-for-ie-how-
accurate-is-ietester)

------
kunkurus
IETester anyone? <http://www.my-debugbar.com/wiki/IETester/HomePage>

~~~
codereflection
IETester is a great idea, unfortunately it's extremely unstable.

------
cheeaun
Note that these images can still expire after 30 days (or 90 days with
"rearm").

~~~
xdissent
In Virtualbox you can take a snapshot of the VM after the initial install and
revert to that snapshot to reset the trial period. ievms does this for you
automatically.

~~~
ayuvar
Microsoft actually recommends doing so in the documentation for these images
(except using Virtual PC, natch).

------
jpdoctor
This is awesome. Anyone have a pointer to Win2003 Server (ie7)? We have a
bunch of folks there with a hard-to-knockdown bug not showing up elsewhere.
Our solution so far has been to say: Upgrade the OS.

------
Daegalus
You don't need VMs or the sort to test old versions of IE.

Open IE and hit F12, this will open IEs equivalent of Chrome Developer tools.
It has options to change which IE engine it uses all the way back to IE7 for
testing.

~~~
ecaron
Which gets you close, but not close enough to say "I've testing in IEX."
Although the DOM modelling is very close, the CSS and JS quirks between
different versions aren't emulated enough in F12 to catch the problems that
using the actual version would expose.

------
JoeAcchino
Do someone use <http://spoon.net/> and have some thought to share?

It seems to be far more easy to setup, but I don't fully understand how it
works.

------
josephlord
From the title I thought they were hosting VMs that you could RPC into to test
your site. That would be quite cool (not that I need it at the moment though).

------
ck2
Apparently (free) VMWare Player can import VMC/VPC files now for those that
prefer VMWare.

------
tonetheman
or <http://crossbrowsertesting.com>

I am a founder so I am biased. :)

~~~
Hawkee
Lot more expensive than browserstack. Any reason?

------
frozenport
This doesn't mesh well with <http://www.ie6countdown.com/>

------
sudhirj
It would serve the world so much better IF THEY JUST LET IT FUCKING DIE!
GRAAAAAAGGHH!

</rant>

~~~
thisone
the only way early versions of IE would go away is if the computers upgraded
themselves.

Even going out of support won't kill them as some people/businesses still
won't allow their computers to upgrade IE, or install anything else.

Example: Over the weekend I was at a big chain store and decided to sign up
for a discount card (which is done online). The employee pulls up the browser,
and it's IE6.

The website we go to, the company's public website, is broken in IE6, yet they
still use IE6 on their computers.

If businesses won't upgrade from IE6, even though the tools they make their
employees use don't function properly in IE6, I don't think there's anything
MS can do about it.

~~~
sudhirj
But that's precisely the point - the only thing that can force businesses to
upgrade is if the cost of developing, testing and maintaing software for IE6
becomes more than what it costs to do a full overhaul and re-education.
Microsoft stepping in to make IE6 support _easier_ and _cheaper_ simply sends
the message that it's still a valid choice for development and support.

