Wine implements its own version of Internet Explorer. The implementation is based on a custom version of Mozilla's Gecko Layout Engine.
When your application tries to display a site, current Wine loads its custom implementation from the files wine_gecko-2.40-x86.msi and (on 64 bit systems) wine_gecko-2.40-x86_64.msi (older versions of Wine use older versions of wine-gecko).
Wine looks for this file first in /usr/share/wine/gecko/ (good distributions of Wine put that file there). Wine will try to install Gecko when a prefix is created. If the file can't be found on your computer, Wine will download it for you. If your distribution of Wine doesn't put the .msi (or .cab for older Wine versions) file in the right place for you, you can avoid downloading Gecko every time you create a wineprefix by putting it there yourself with the commands:
$ wget http://dl.winehq.org/wine/wine-gecko/2.40//wine_gecko-2.40-x86.msi $ wget http://dl.winehq.org/wine/wine-gecko/2.40//wine_gecko-2.40-x86_64.msi $ sudo mkdir -p /usr/share/wine/gecko $ sudo mv wine_gecko-2.40-x86.msi /usr/share/wine/gecko/ $ sudo mv wine_gecko-2.40-x86_64.msi /usr/share/wine/gecko/
The above commands are accurate for a 64 bit system using wine-1.7.50 or later. On a 32 bit system, only wine_gecko-2.40-x86.msi needs to be installed.
Older versions of Wine use other Gecko versions:
|Wine||Gecko (32 bit)||Gecko (64 bit)|
|wine-0.9.47 - wine-1.1.11||wine_gecko-0.1.0.cab|
|wine-1.1.12 - wine-1.1.14||wine_gecko-0.9.0.cab|
|wine-1.1.15 - wine-1.1.26||wine_gecko-0.9.1.cab|
|wine-1.1.27 - wine-1.3.1||wine_gecko-1.0.0-x86.cab|
|wine-1.3.2 - wine-1.3.15||wine_gecko-1.1.0-x86.cab||wine_gecko-1.1.0-x86_64.cab|
|wine-1.3.16 - wine-1.3.26||wine_gecko-1.2.0-x86.msi||wine_gecko-1.2.0-x86_64.msi|
|wine-1.3.27 - wine-1.3.32||wine_gecko-1.3-x86.msi||wine_gecko-1.3-x86_64.msi|
|wine-1.3.33 - wine-1.4||wine_gecko-1.4-x86.msi||wine_gecko-1.4-x86_64.msi|
|wine-1.5.0 - wine-1.5.6||wine_gecko-1.5-x86.msi||wine_gecko-1.5-x86_64.msi|
|wine-1.5.7 - wine-1.5.9||wine_gecko-1.6-x86.msi||wine_gecko-1.6-x86_64.msi|
|wine-1.5.10 - wine-1.5.14||wine_gecko-1.7-x86.msi||wine_gecko-1.7-x86_64.msi|
|wine-1.5.15 - wine-1.5.21||wine_gecko-1.8-x86.msi||wine_gecko-1.8-x86_64.msi|
|wine-1.5.22 - wine-1.5.30||wine_gecko-1.9-x86.msi||wine_gecko-1.9-x86_64.msi|
|wine-1.5.31 - wine-1.7.2||wine_gecko-2.21-x86.msi||wine_gecko-2.21-x86_64.msi|
|wine-1.7.3 - wine-1.7.30||wine_gecko-2.24-x86.msi||wine_gecko-2.24-x86_64.msi|
|wine-1.7.31 - wine-1.7.37||wine_gecko-2.34-x86.msi||wine_gecko-2.34-x86_64.msi|
|wine-1.7.38 - wine-1.7.49||wine_gecko-2.36-x86.msi||wine_gecko-2.36-x86_64.msi|
|wine-1.7.50 - current||wine_gecko-2.40-x86.msi||wine_gecko-2.40-x86_64.msi|
If you installed Wine in some $prefix rather than /usr, it will look in $prefix/share/wine/gecko/ instead of /usr/share/wine/gecko. e.g. if you installed it from source, then the default-path is /usr/local/share/wine/gecko.
Running Wine from source tree
If you are using Git or running Wine from source code, then Wine will try to find the .msi file by looking in ../gecko/ (relative to the build tree).
If Gecko is crashing on you, you can download a debug build to get more verbose logs. Here's how:
$ wget http://dl.winehq.org/wine/wine-gecko/2.40/wine_gecko-2.40-x86-unstripped.tar.bz2 $ cd .wine/drive_c/windows/system32/gecko/2.40 $ mv wine_gecko wine_gecko.old $ tar -jxf ~/wine_gecko-2.40-x86-unstripped.tar.bz2
winetricks can install gecko-dbg, use 'winetricks gecko-dbg' to automate the above steps.
- Gecko version needed by current Wine git