Free VMs of Windows to test older versions of IE
microsoft.com
microsoft.com
There's a script called ievms that will automatically downloade those VMs and convert them for use with VirtualBox on OS X or Linux:
Procedure: 1. Download 2. Use unrar or http://wakaba.c3.cx/s/apps/unarchiver.html to unpack the segments 3. Open VMWare Fusion & choose import 4. Get coffee & wait for disk I/O 5. Install VMWare tools & pending Windows Updates 6. Take a snapshot so you can reset it after the timelimit sets in (as noted by Microsoft, they disallow storing data durably for more than 90 days)
Turned out to be an IE7 specific regex bug (a look ahead bug), that we couldn't replicate using IE8 and IE9 set to IE7 compat mode.
Tracked down a copy of XP with IE7 and replicated the bug. Which led me to Google regex bugs related to IE7 and managed to track down the exact issue.
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!).
I was a little baffled why MS would make this images only run on Windows when the people most likely to need to emulate other versions of IE / Windows would be non-Windows users.
As to why they'd use their own VM in preference to VirtualBox I don't know. But to be fair, Microsoft isn't the only company that neglects developers who aren't on their platform; "not invented here" syndrome seems to impact all software companies eventually!
I can't believe that it's only raised $400 so far. It's completely excellent and I know lots of people out there depend on it.
Instead, we just narrowed our IE support to what we could maintain easily with a legitimate copy of windows installed on a VM.
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.
- 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.
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?
Edit: There is no "Rar!" in Windows_XP_IE6.exe :(
I'm not sure why MS wants to make buying Windows without a PC so expensive. I suppose they feel that locking us into PC hardware (that won't run MacOS, thanks to Apple's lock-in policies) is the best way to lock us into Windows. For me, someone who uses Mac, Windows, Linux, iOS, and Android for different things, it all just drives me toward a policy of trying to find ways to get by without MS and Apple as much as I reasonably can. A $39 "Windows for VMs" package would keep my foot in the Windows world, but lacking Apple's (current) hardware quality advantage, MS is the easiest to learn to do without entirely.
You could be right, and I could be wrong, though....
Count me as a guy who has a few copies of Windows I only use for browser testing in VMs...
Feel free to straighten out my misconception.
http://saucelabs.com/
http://crossbrowsertesting.com/
http://www.browserstack.com/
Some of these even do mobile browsers too. After spending several hours setting up just 1 or 2 VMs, I'm convinced using these services is not only cheaper and more stress-free but also lets you keep more up to date.Even the tunneling to a local Vagrant instance, with a subdomain (through lvh.me), worked simply and flawlessly. I couldn't have asked for a better experience.
http://weblogs.asp.net/mschwarz/archive/2008/08/30/internet-...
- 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 ...
the converter is built into the application.
Sauce also lets you set up selenium/WebDriver testing so you can automate it.
Saucelabs looks good cheers.
...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...
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...
Expires: This image will shutdown and become completely unusable on February 14, 2013."
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.
We gave up IE6 as soon as we could.
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.
It's fine for working out layout quirks, but if you're testing larger websites I wouldn't depend on it.
http://stackoverflow.com/questions/5612170/web-testing-for-i...
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.
http://stackoverflow.com/questions/10249454/how-well-does-ie...
It seems to be far more easy to setup, but I don't fully understand how it works.
I am a founder so I am biased. :)
</rant>
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.