Jan 9, 2007

Internet Explorer 7 on Linux

The following documents the relatively short process needed to get Internet Explorer 7 running on a Linux system. So far, I have found one (two) problems with this method: it seems transparent GIFs appear as filled-black boxes in IE7, and secondly (this is actually a good thing for me), this won’t give you the IE7 interface running in Linux, but rather the IE7 rendering engine inside the IE6 interface. What this means is that you won’t be seeing IE7 tabs or the RSS reader, but you will be able to debug webpages and fix layout problems.

Microsoft conditional comments do work, unlike the standalone version of IE on Windows, so you will be able to develop and test webpages across almost all major browsers (IE 5-7, Firefox, Opera) on one Linux box! Also note that we will avoid Microsoft’s Genuine Advantage download validation checks, so pure-Linux users will be able to finish the process without having to find a genuine Windows machine to download the IE7 setup file (the check is avoided legitimately, by the way).

First, install IE 6 (and optionally 5.5 + 5.0) using the excellent IEs 4 Linux installer. Consider donating to this project to say thanks!

Follow the instructions appropriate for your Linux distribution at http://www.tatanka.com.br/ies4linux/page/Installation. You must at least install IE6; 5.0 and 5.5 are optional and up to you. I assume that you used the default installation path of ~/.ies4linux - if you didn’t, ensure that you use the correct directory in the upcoming steps.

Once you have finished following the instructions, you can test your IE6 installation by running the ie6 command.

   ie6

I used a browser version check website (use Google, I don’t want to hotlink them) to test the currently installed browsers:

  • firefox reports ‘Firefox 2.0′
  • ie6 reports ‘MSIE 6.0′

Now for Internet Explorer 7:

To skip having to authenticate your copy of Windows at the Microsoft.com download site (since we’re on Linux and don’t have Windows…), make use of Google’s nicely customised IE7 installer; found at http://www.google.com/toolbar/ie7/. Download the file (IE7Setup_G.exe) and save it to a temporary folder.

Now, make a complete copy of your currently installed IE6 installation:

   cd ~/.ies4linux
cp -r ie6/ ie7
sed ~/.ies4linux/bin/ie6 -e 's/ie6/ie7/g' > ~/.ies4linux/bin/ie7
chmod +x ~/.ies4linux/bin/ie7

Go to your IE7Setup_G.exe download and use cabextract which should be installed from earlier (IEs 4 Linux instructions).

   cd ~/yourtempfolder
cabextract IE7Setup_G.exe

ls -la shows:
15505200 Dec 7 21:21 IE7-Setup.exe

Extract necessary files:

   cabextract IE7-Setup.exe
for i in wininet iertutil shlwapi urlmon jscript vbscript \
ieframe mshtml mshtmled mshtmler advpack
do
chmod +x $i.dll
cp $i.dll ~/.ies4linux/ie7/drive_c/windows/system/$i.dll
done

chmod +x inetcpl.cpl
cp inetcpl.cpl ~/.ies4linux/ie7/drive_c/windows/system/

Now normaliz.dll and inetcplc.dll are needed, you can Google them, or use these links:
http://www.down-dll.com/dll/normaliz.zip
http://www.down-dll.com/dll/inetcplc.zip

Unzip both files and copy them to ~/.ies4linux/ie7/drive_c/windows/system/

   unzip normaliz.zip
unzip inetcplc.zip
cp normaliz.dll ~/.ies4linux/ie7/drive_c/windows/system
cp inetcplc.dll ~/.ies4linux/ie7/drive_c/windows/system

IE 7 is now installed but will have view pane corruption unless you switch the Wine container to use Windows XP as the operating system:

   WINEPREFIX=~/.ies4linux/ie7 winecfg

At the bottom of the initial page, change ‘Windows’ option to ‘Windows XP’ and press OK.

Make a shortcut:

   cd ~/bin
ln -s ~/.ies4linux/bin/ie7 ie7

Running ie7 and using the previous browser test site results in:

  • ie7 reports ‘MSIE 7.0′

No comments: