Internet Explorer 6 in Windows Vista (IE6) - part 1

This is the first part of hopefully a multipart post that details the current progress in making Internet Explorer 6 run natively under Windows Vista.

A fundamental rule in web-development is insuring that the website/web-application you are developing renders correctly across various web browsers to cater for the largest possible range of prospective visitors. It is indeed rather frustrating and somewhat embarrassing when you present your website in its final form to your boss/customer/mom only to realize that the layout is all missed up due to browser rendering incompatibilities.


So what are my options as a Web developer using Windows Vista?

The current popular web browsers are Safari (from Apple), Firefox (from Mozilla), Opera (from Opera), Konqueror (from KDE), and Internet Explorer (from Microsoft).

  • Safari and Konqueror use the same rendering engine. Apple recently released Safari for Windows which is usable under Windows Vista and can be downloaded from here
  • Firefox was made available to Windows Vista since it's release and is available for download from here
  • Opera can also run perfectly under Windows Vista and is available for download from here
  • Internet Explorer 7 comes bundled with Windows Vista. Microsoft introduced major changes to Internet Explorer in its latest version particularly in the security model and the rendering of CSS style-sheets. A large proportion of users are still using Internet Explorer 6 and are reluctant to upgrade to Internet Explorer 7 or install Windows Vista but that does not mean that as a web developer you should ignore this (still) large usergroup in this transitional period. Microsoft offered a solution to this problem by providing a fully working VirtualPC image of Windows XP available for download here. The VirtualPC image contains Internet Explorer 6 and the Internet Explorer 7 Readiness Toolkit 2.0. Although this does solve the issue, running a VirtualPC image demands allot of resources and a 560.1 MB - 1203.5 MB download is huge even on today's standards. Since the preview releases of Windows Vista, I received hundreds of emails asking about the possibility of running Internet Explorer 6 under Windows Vista or complaining that my Multiple IE installer for the standalone versions of Internet Explorer does not work under Vista. This shows that some web developers consider Microsoft's solution unreasonable while others are still unaware of it.

One of the first things I did when I installed the release candidate for Windows Vista was to try running Internet Explorer 6 in standalone mode. I heard that it was not possible due to kernel changes in the Windows Vista code base. As expected, upon running IE6 on Vista you'll be greeted with quite an un-user-friendly error message and a crash report.

IE6 error 1 on vista

Right clicking iexplore.exe and setting compatibility mode to Windows XP SP2 brings a more telling error message

IE6 error 2 on vista

This error is not actually caused by urlmon.dll but by some code called from the MS OLE library ole32.dll and the NT kernel library ntdll.dll. The reference to the SHUNIMPL.DLL library indicates that Internet Explorer 6 is using some unimplemented method in Windows Vista's core libraries.

Trying to debug a compiled binary executable is not easy. After some playing around with my debugger I came to the following conclusions:

  • Internet Explorer 6 uses a method in ntdll.dll that has a signature different from the one in Windows XP and crashes immediately.
  • The code that uses this method is related to IE6's GUI (could be something to do with the OLE implementation) and is called by iexplore.exe binary executable. The SHDOCVW.DLL library that comes with IE6 may have also called this method.
Any possible workarounds?
  • Directly link to the mshtml.dll library responsible for rendering HTML pages either by developing a program that directly uses this library or use a program that already directly communicates with the mshtml.dll library. In either cases, MANIFEST files will be used to enable side-by-side execution.
  • Completely isolate Internet Explorer 6 from the Windows Kernel either through virtualization technology (e.g. VirtualPC, VMWare, or QEMU) or through Windows kernel emulation that actually works(!)(e.g. running IE6 using a version of Wine compiled under Cygwin or Interix). The "Windows Compatibility Mode" that comes with Windows Vista does not offer a complete emulation of previous Windows kernels.
Did you manage to run Internet Explorer 6 natively under Vista?

I have actually succeeded in running an extremely crippled version of Internet Explorer 6 rendering engine under Windows Vista as shown in the picture below. IE6 on Vista does produce an exact 1:1 rendering comparable to IE6 on Windows XP. Unfortunately, this version only renders HTML and processes CSS files. Java script is buggy and the graphical user interfaces barely works. There is much work to be done, particularly in sorting out the issues with the jscript.dll library that processes java scripts. Moreover, version vectors (an extremely important feature for a usable IE6 on Vista) do not work and the useragent is shown as IE7. The only way for me to know that the pages are actually rendered using Internet Explorer 6's rendering engine is to compare the output with a reference output produced from the Windows XP version of Internet Explorer. The pictures below show IE6 on Vista's output of the ACID2 test from Webstandards.org which is the same as the reference output from IE6 in Windows XP.


Internet Explorer 6 rendering engine on Windows Vista (click to enlarge)
ie6 in vista

Internet Explorer 6 on Windows XP (click to enlarge)
ie6 in vista

What's next?

If you subscribed to the mailing list before 8th February 2008, you should have received an email with instructions on how to download the alpha version of the installer.

If you'd like to be notified by email if and when a full solution is available for download, you can sign up to the "IE6 for Vista" announcement mailing list . (maximum 2 emails; one for the alpha and the other if and when an acceptable working solution is available). The first email was already sent.

E-mail:

IE6 on Vista

Well thank you for your effort to get this crap running on Vista! My current - and well working - solution is to install a version of Windows XP with the free and slim prog VirtualBox. If you have an old license for XP, you can just install XP virtually (like in the Microsoft solution) and it works also perfectly on Linux.In order to have only the programs you need under Win XP (IE6), I'd recommend you to use nLite to create a perfectly slim XP installationAfter completing the installation, you can run VirtualBox, start Windows XP as usual and then save the execution state of the virtual machine (like suspend to disk). If you set up not more than 256 MB for the virtual machine, your virtual Win XP will the start up rapidly!To test a local site, just run IE6, type in the local IP of the host OS and here you are - your web project will be running fine, side by side on Vista or Linux!

windows server 2003

you may have better luck using windows server 2003 files since vista based of server 2003 and share more code

Server 2003 shares a lot

Server 2003 shares a lot more in common with XP than it does with Vista, actually...

Server 2003 has a lot more

Server 2003 has a lot more in common with XP than it does with Vista, actually...

while server 2003 has more

while server 2003 has more in common with xp then vista

vista has more in common with server 2003 then xp

IE6 runs better on linux

Sad, IE6 runs better on Linux via WINE that it does on windows vista. There's a nice script for installing it, I forgot where though. No virtual machine required (wine is an API layer, so it's faster and does not require any windows OS). It's kinda ironic. Oh well, i guess MS wants to make sure IE6 dies. Not really a bad idea, if only so much of the web was not coded (i mean hacked) to support it.

BTW, this is just an observation, I am not a fanboy saying everyone should switch to linux. Of course if you want to put linux on your system and run IE6 on it, go ahead.

IE6 runs better on linux

Your observation is rather dull and obsolete, and this website is obviously not about Linux. Sure, Linux is nice, but leave those kind of comments on Linux forums.
btw, i wanna thank you guys for doing all this work, which hopefully will help me to be able to run my little program on vista, which requires IE 6.
grtz

u idiot

i think this comment is even more dull and obsolete.

omg

why have a program that requires IE6.. what a crappy program.

why is this concept so hard to comprehend

uh...maybe because you are a developer and you actually have to be conscientious of how IE6 renders for those people running IE6 (yes they exist)

I know how you feel

...the fact is that development is pretty much just an artform in hacking IE6 these days.

Development != MS Development

What chaps my bum is that MS Developers do not seem to test for other browsers. Had they done so, we wouldn't have so many of these IE only websites. Well...had they tested and GAVE A CRAP that is.

Whatever happened to the days where your IDE was a text editor?

WINE got Windows version

If you don't know it, WINE has been compiled not only for Linux, but it also has Windows version! Even though last version for Windows compiled is 0.9.16, it should be capable to run IE6 under Vista (probably 32bit only) as it was possible to run it under Linux in that version.

link for wine

hello,

please give the link for downloading wine for windows vista...

Microsoft has the solution for IE6 on Vista

VPC Hard Disk Image for testing websites on IE on Windows XP SP2
A VPC hard disk image containing a pre-activated Windows XP SP2, and either IE6 or IE7 and the IE7 Readiness Toolkit.

Date Published: 12/6/2007
Language: English
Download Size: 471.1 MB - 956.1 MB*

This VPC image will expire on April 1, 2008.

Supported Operating Systems: Windows Server 2003; Windows Vista; Windows XP

http://www.microsoft.com/downloads/details.aspx?familyid=21eabb90-958f-4b64-b5f1-73d0a413c8ef&displaylang=en

Fantastic

Just what I needed thanks!!

If you read the article,

If you read the article, you'll notice that the author already mentioned this.

Direct link

http://download.microsoft.com/download/b/7/2/b72085ae-0f04-4c6f-9182-bf1ee90f5273/IE6_VPC.EXE

... VirtualMachine Vista Support

Oh yeah great...
Virtual Machines Vista Supoort:
Vista Business
Vista Enterprise
Vista Ultimate

and in Germany u get every freakin' PC / Laptop with only Vista Home Premium

Virtual PC on Vista Home Premium

I bought a cheapish laptop for testing purposes that came with Vista Home Premium installed. I hadn't realised it wasn't a supported OS for Virtual PC but went ahead and tried anyway and it seems to be working fine. Save state works and it connected to my wireless internet connection with no problems. Of course I had nothing to loose data wise - don't forget to back up if you're trying this on your main machine ;-)

Forget VPC, dude!

Go with VMWare. Either VMWare Player 2.0.2 or VMWare Server 1.0.4. Both are free and run fine on Vista, no matter which version.

I've been a happy (paid) VMWare Workstation user since 2001. VMWare Server & Player are great and I can re-use all my VMWare Workstation VM's without con.

I'll not going to move to VPC or MS-Virtual Server just because it's free. Too many, intenionally, built-in limitations by Microsoft...

VMWare Server & Player run also on non-MS OS's, hence I can re-use my VMs on other platforms too. Plus, I've bought VMWare Fusion (for a promotional price of $40US last year) and running it on my MacBook too.

Given that config I can now test all my Web stuff with Safari/OS-X, Safari/Win, Opera/OS-X, Opera/Win, Opera/Ubuntu, Firefox/OS-X, Firefox/Win, Firefox/Ubuntu, IE 4/5/6/7/WinXP, IE 7/WinVista, IE 4/5/6//7/Win2003, IE 4/5/6/Win2000.

Actually, I do see that Safari & Opera sometimes act different when working with DIV-based layouts, hence it is really great to have the full test suite handy :-)

All that running on a Fujitsu T4210 with Intel Dual Core 1.8GHz, 4GB RAM and 160GB SATA-HD (sufficient for two or three VM's). The MacBook is a 2GB Intel Dual Core 1.6GHz (sufficient for at least one VM). OK, you need some kind of powerful machine, but that's the price you pay ;-)

Thanks for your efforts about "Standalone IE6.0 in Vista" .

I do not like use VPC on vista.
Because I need to install virus protection software twice in my pc, I think it will effect the speed and waste the space.
I hope that "Standalone IE6.0 in Vista" will come true.
Thanks for your efforts.

You don't need to install

You don't need to install your anti-virus twice.

I'm running a virtual XP on Vista at the moment and Kaspersky anti-virus sees the XP machine as part of a network and protects it as if it were a physical machine.

No more IE6 in Vista...

I can't help but finding it typical. There's a note on the IEBlog post you refer to, which says: "VPC 2004 doesn’t run on Windows Vista". Useful. They do provide a link to a beta version of VPC 2007, but unfortunately that leads to a 404 page.

So Microsoft is a dead end. It seems like Microsoft is trying to deny the very existence of IE6 (which is, of course, understandable, but still)...

I searched for a pre-baked VMWare solution, but nothing there either.

Also, naturely, we don't want to pay for a virtualization solution to something that should not even be a problem (imho).

So I guess all hopes of developers that try to make compatible websites (and are unfortunate to work in Windows Vista) are now focused on TredoSoft. I use MultipleIE's at home, where I run WindowsXP (for now). Great stuff, thanks!

The latest VirtualPC from

The latest VirtualPC from Microsoft does run on Vista, I've used it on my copy of Home Basic.

If you want to go the VMWare route and have access to a XP machine, you can use the VMWare Convertor to make a vitual hard disk image and use it in the VMWare Player.

As mentioned elsewhere though, VirtualBox is a great and free virtulisation software. You might need to download drivers for the virtual Ethernet connection but it is easy to find via google.

you're not good at the internet

virtual pc, free

and

free VMs with IE6 IE7 and IE8

Yours Truly,

Minimalist360

Failed to use in Windows Vista.......

I'm sad that the file is failed to use in Vista.
Thanks for your effort.
I'll wait for the second version.

YOUSIF Internet Explorer 6 in Windows Vista (IE6) - part 1

YOUSIF, HOW COULD YOU MAKE IT WORK ON VISTA.
PLEASE GIVE THE .DDL LIBRARY FILES TO MAKE IT POSSIBLE WORK ON VISTA.
ITS VERY CRUCIAL FOR ME I HAVE NO OPPORTUNITY TO DOWNLOAD 400 MB OF VIRTUAL PC.

Will there a StandAlone IE8?

Will there a StandAlone IE8?

Maybe

I am seriously considering it. I'll post an update on that soon.

--Yousif

Cannot enter text in input boxes in IE6

I am having trouble typing in input boxes when using MultipleIEs IE6 on XP. I thought it was something to do with my XHTML & CSS at first but then tried entering text in google and still have the same problem... I just can't type in any input fields!

Has anyone else come accross this problem? If so, how is it resolved?

Thanks in advance :)

same problem here. i used

same problem here. i used evolt's ie6 stand alone but after installing ie8 beta it stopped accepting input in adress bar :( so i tried this ie6, but it doesn't allow to write into input boxes.

IE7 problem

I also have a problem after installing IE8 beta: IE7 doesn't allow to write into input boxes (except the ones on the address bar and the search bar).

I can conform this problem.

I can conform this problem.

Internet Explorer 6 standalone

How did you install the internet explorer 6 in standalone mode? When I try to install it, it says that there is an actualler version of the IE. Won't you make a better Tutorial?

Ok, i got it, you send an

Ok, i got it, you send an installer in the first mail... Isn't it possible to get this installer now?

download avaliable?

I know its passed the alpha release date but when will an update to the solution be posted? Although far from perfect the current option offers at least a half decent idea of compatability for markup and css. Any chance of getting a copy of the alpha release if there are no updates due?

I'm kind of too time

I'm kind of too time constrained to work on it at the moment.

If you want to download the alpha it's available for download from here

http://tredosoft.com/files/ie6vista/ie6vista-alpha.msi

THis version crashes on

THis version crashes on vista

I mean Vista Home Premium

I mean Vista Home Premium

On vista basic too

On vista basic too

IE7 update causing new error FYI(?)

The recent IE7 update (KB958215) seems to cause an error dialog upon running:

-------

IEXPLORE.EXE - Entry Point Not found

The procedure entry point PathMatchSpecExW could not be
located in the dynamic link library SHLAWPI.dll.

-------

Doesn't seem to impede usage in any way except there's an annoying error dialog popping up on every run.
There were of course other updates along with the aforementioned, but it's the obvious suspect.

IE4?

Your picture of IE6 next to IE7 on Vista shows the IE4 UI. Are you sure it's IE6 you made work? It would explain script problems as IE4 is always giving them!

ie6vista-alpha

i installed the ie6vista-alpha.msi on vista home premium in vmware fusion on a macbook pro (leopard). it works (ok, like an alpha, but fine)

There is a solution

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

This software runs under Windows Vista 64 and allows to check websites using IE 5.5, IE 6, IE 7 and IE 8b1

AFTER DOWNLOADING IE6 TO

AFTER DOWNLOADING IE6 TO YOUR COMPUTER CLICK PROPERTIES AND GO TO COMPATIBILITY MODE AND CLICK WINDOWS XP SERVICE PACK 2

This is what I was looking

This is what I was looking for! What a great piece of software. Thanks for the info.

Actually, never mind

I just tried IETester for the site I'm currently working on, and it rendered the identical page differently depending on if it was local on my PC or on the webserver. FAIL.

IE6, which service pack

Hi,

does anyone know which service pack the IE6 version is and how to get hold of the missing one?

thanks

Internet Explorer Collection

Internet Explorer Collection - http://finalbuilds.edskes.com/iecollection.htm - includes both Internet Explorer 6.0 (6.00.2800.1106) and Internet Explorer 6.0 XP SP2 (6.00.2900.2180).

error in IE6

,in our firm the online registration do only in IE6 , but i am a vista/win7 user with IE8 ..want to downgrade IE8 to 6 ,can't possible..then i searched on web ,find out this solution
But still the above problem ("urlmon.dll")...what i do ???

pls give proper solution,,,,,

faisu

Recent comments