POL_Install_gecko

Informations

Creator Message
Quentin PÂRIS Anonymous

Information

This installer has been approved by the team.

Informations

Platforms:
Downloads: 1342045
Wine: System

Feedbacks

Description

Install Gecko package. https://wiki.winehq.org/Gecko 

Source code

#!/bin/bash
# PlayOnLinux Function
# Date : see changelog
# Last revision : see changelog
# Author : Unknown
# Only For : http://www.playonlinux.com

# CHANGELOG:
# [Unknown] (?)
#   Initial script.
# [GNU_Raziel] (2011-08-28 21:00)
#   Update
# [Dadu042] (2020-10-12 14-00)
#   Attempt to make it easier to understand.
# [Dadu042] (2020-10-12 14-30)
#   Attempt to add Gecko v2.47 for Wine v1.9.13 to v3.x.x .
#   Note: the current default Gecko version is still v1.3.0 (2011 ?).

# Check if Gecko is already installed (otherwise do exit this script).
unset GECKO_EXIST
GECKO_EXIST=`find $WINEPREFIX -name "xul.dll"`
if [ ! -n "$GECKO_EXIST" ]; then
# Load the HTML rendering Engine (Gecko)
WINDIR="$WINEPREFIX/drive_c/windows/"
case `wine --version` in
wine-0*|wine-1.0*|wine-1.1|wine-1.1.?|wine-1.1.11)
        GECKO_DIR="$WINDIR"
        GECKO_VERSION=0.1.0
        GECKO_SHA1SUM=c16f1072dc6b0ced20935662138dcf019a38cd56
        GECKO_EXT=cab
        ;;
wine-1.1.1[234]*)
        GECKO_DIR="$WINDIR"
        GECKO_VERSION=0.9.0
        GECKO_SHA1SUM=5cf410ff7fdd3f9d625f481f9d409968728d3d09
        GECKO_EXT=cab
        ;;
wine-1.1.1[56789]*|wine-1.1.2[0123456]*)
        GECKO_DIR="$WINDIR"
        GECKO_VERSION=0.9.1
        GECKO_SHA1SUM=9a49fc691740596517e381b47096a4bdf19a87d8
        GECKO_EXT=cab
        ;;
esac
# x86_64 gecko package for wine64
if [ -e "$WINDIR/syswow64" ]; then
case `wine --version` in
wine-1.1.2[789]*|wine-1.2*|wine-1.3|wine-1.3.1)
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=1.0.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=afa22c52bca4ca77dcb9edb3c9936eb23793de01
        GECKO_EXT=cab
        ;;
wine-1.3.[23456789]|wine-1.3.1[012345])
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=1.1.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=1b6c637207b6f032ae8a52841db9659433482714
        GECKO_EXT=cab
        ;;
wine-1.3.1[6789]|wine-1.3.2[012345])
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=1.2.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=6964d1877668ab7da07a60f6dcf23fb0e261a808
        GECKO_EXT=msi
        ;;
wine-1.9.1[3456789]|wine-2|wine-3)
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=2.47
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=5ebc4ec71c92b3db3d84b334a1db385d
        GECKO_EXT=msi
        ;;
*)
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=1.3.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=6964d1877668ab7da07a60f6dcf23fb0e261a808
        GECKO_EXT=msi
        ;;
esac
else
case `wine --version` in
wine-1.1.2[789]*|wine-1.2*|wine-1.3|wine-1.3.1)
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=1.0.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=afa22c52bca4ca77dcb9edb3c9936eb23793de01
        GECKO_EXT=cab
        ;;
wine-1.3.[23456789]|wine-1.3.1[012345])
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=1.1.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=1b6c637207b6f032ae8a52841db9659433482714
        GECKO_EXT=cab
        ;;
wine-1.3.1[6789]|wine-1.3.2[012345])
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=1.2.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=6964d1877668ab7da07a60f6dcf23fb0e261a808
        GECKO_EXT=msi
        ;;
wine-1.9.1[3456789]|wine-2|wine-3)
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=2.47
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=d93ac0d2e6aceafe9113a9918916df45
        GECKO_EXT=msi
        ;;
*)
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=1.3.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=6964d1877668ab7da07a60f6dcf23fb0e261a808
        GECKO_EXT=msi
        ;;
esac
fi
 
# From this code: 
# http://downloads.sourceforge.net/wine/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
# the final URL is:
# http://downloads.sourceforge.net/wine/wine_gecko-1.3.0-x86.msi
# And as of 2020-10-12, this URL to this file is dead...

if test ! -f "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
then

        POL_Download_Resource "http://downloads.sourceforge.net/wine/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"  "Gecko"

        # Obsolete code (since POL v3 or v4):
        # POL_SetupWindow_download "$(eval_gettext 'Downloading Gecko ...')" "$TITLE" "http://downloads.sourceforge.net/wine/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
        # mv wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
fi
 
# Extract files
if [ "$GECKO_EXT" == "cab" ]; then
        mkdir -p "$GECKO_DIR/gecko/$GECKO_VERSION"
        cd "$GECKO_DIR/gecko/$GECKO_VERSION"
        cabextract "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.cab"
        cd "$olddir"
else
        POL_Wine msiexec /i "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.msi"
        cd "$olddir"
fi
 
 
cat > "$POL_USER_ROOT/tmp/geckopath.reg" <<_EOF_
REGEDIT4
 
[HKEY_LOCAL_MACHINE\\Software\\Wine\\MSHTML\\$GECKO_VERSION]
_EOF_
 
printf '"GeckoPath"="' >>"$POL_USER_ROOT/tmp/geckopath.reg"
case $GECKO_VERSION in
0.*)
        printf 'c:\\windows\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' |
        sed "s/\\\\/\\\\\\\\/g" >> "$POL_USER_ROOT/tmp/geckopath.reg"
        ;;
esac
# x86 gecko path for wine64
if [ -e "$WINDIR/syswow64" ]; then
case $GECKO_VERSION in
1.*)
        printf 'c:\\windows\\syswow64\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' |
        sed "s/\\\\/\\\\\\\\/g" >> "$POL_USER_ROOT/tmp/geckopath.reg"
        ;;
esac
else
case $GECKO_VERSION in
1.*)
        printf 'c:\\windows\\system32\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' |
        sed "s/\\\\/\\\\\\\\/g" >> "$POL_USER_ROOT/tmp/geckopath.reg"
        ;;
esac
fi
 
# Set installation path
POL_Wine regedit "$POL_USER_ROOT/tmp/geckopath.reg"
     
# Register the dll, since it was disabled before
POL_Wine regsvr32 mshtml
fi

Contributions

Filters:

Contribute
Member Message
foriequal0 Saturday 4 September 2021 at 20:48
foriequal0 Anonymous

Warning

This update has not been approved yet by the team.
Use it at your own risk

Differences

@@ -15,31 +15,37 @@
 # [Dadu042] (2020-10-12 14-30)
 #   Attempt to add Gecko v2.47 for Wine v1.9.13 to v3.x.x .
 #   Note: the current default Gecko version is still v1.3.0 (2011 ?).
+# [foriequal0] (2021-09-05)
+#   Fix detecting gecko installation which collides with mono28
+#   Fix gecko download URLs & checksums
+#   Fix wine 2, 3 version prefix detection
+#   Add wine 5, 6 support
 
+# Load the HTML rendering Engine (Gecko)
+WINDIR="$WINEPREFIX/drive_c/windows/"
 # Check if Gecko is already installed (otherwise do exit this script).
 unset GECKO_EXIST
-GECKO_EXIST=`find $WINEPREFIX -name "xul.dll"`
+GECKO_EXIST=$(find "$WINDIR" -name "xul.dll")
 if [ ! -n "$GECKO_EXIST" ]; then
-# Load the HTML rendering Engine (Gecko)
-WINDIR="$WINEPREFIX/drive_c/windows/"
+# Matching Gecko versions: https://wiki.winehq.org/Gecko#Installing
 case `wine --version` in
 wine-0*|wine-1.0*|wine-1.1|wine-1.1.?|wine-1.1.11)
         GECKO_DIR="$WINDIR"
         GECKO_VERSION=0.1.0
-        GECKO_SHA1SUM=c16f1072dc6b0ced20935662138dcf019a38cd56
-        GECKO_EXT=cab
+        GECKO_URL="http://downloads.sourceforge.net/wine/wine_gecko-0.1.0.cab"
+        GECKO_MD5SUM=b188c296f045d20abdb11e9c0564894b
         ;;
 wine-1.1.1[234]*)
         GECKO_DIR="$WINDIR"
         GECKO_VERSION=0.9.0
-        GECKO_SHA1SUM=5cf410ff7fdd3f9d625f481f9d409968728d3d09
-        GECKO_EXT=cab
+        GECKO_URL="http://downloads.sourceforge.net/wine/wine_gecko-0.9.0.cab"
+        GECKO_MD5SUM=74b34ff5bad105f07fe17cdd1391c70c
         ;;
 wine-1.1.1[56789]*|wine-1.1.2[0123456]*)
         GECKO_DIR="$WINDIR"
         GECKO_VERSION=0.9.1
-        GECKO_SHA1SUM=9a49fc691740596517e381b47096a4bdf19a87d8
-        GECKO_EXT=cab
+        GECKO_URL="http://downloads.sourceforge.net/wine/wine_gecko-0.9.1.cab"
+        GECKO_MD5SUM=6abd26c3caf66b497acf73958b5119a5
         ;;
 esac
 # x86_64 gecko package for wine64
@@ -48,37 +54,44 @@
 wine-1.1.2[789]*|wine-1.2*|wine-1.3|wine-1.3.1)
         GECKO_DIR="$WINDIR/syswow64"
         GECKO_VERSION=1.0.0
-        GECKO_ARCH=-x86
-        GECKO_SHA1SUM=afa22c52bca4ca77dcb9edb3c9936eb23793de01
-        GECKO_EXT=cab
+        GECKO_URL="http://downloads.sourceforge.net/wine/wine_gecko-1.0.0-x86.cab"
+        GECKO_MD5SUM=9c5c335fc077c0558561afaf25a09e51
         ;;
 wine-1.3.[23456789]|wine-1.3.1[012345])
         GECKO_DIR="$WINDIR/syswow64"
         GECKO_VERSION=1.1.0
-        GECKO_ARCH=-x86
-        GECKO_SHA1SUM=1b6c637207b6f032ae8a52841db9659433482714
-        GECKO_EXT=cab
+        GECKO_URL="http://downloads.sourceforge.net/wine/wine_gecko-1.1.0-x86.cab"
+        GECKO_MD5SUM=7217cb91106f2efd85d6d1a84f5ee305
         ;;
 wine-1.3.1[6789]|wine-1.3.2[012345])
         GECKO_DIR="$WINDIR/syswow64"
         GECKO_VERSION=1.2.0
-        GECKO_ARCH=-x86
-        GECKO_SHA1SUM=6964d1877668ab7da07a60f6dcf23fb0e261a808
-        GECKO_EXT=msi
+        GECKO_URL="http://downloads.sourceforge.net/wine/wine_gecko-1.2.0-x86.msi"
+        GECKO_MD5SUM=f2ed548494c86c511892b1c02491c8c4
         ;;
-wine-1.9.1[3456789]|wine-2|wine-3)
+wine-1.9.1[3456789]|wine-2.*|wine-3.*)
         GECKO_DIR="$WINDIR/syswow64"
         GECKO_VERSION=2.47
-        GECKO_ARCH=-x86
-        GECKO_SHA1SUM=5ebc4ec71c92b3db3d84b334a1db385d
-        GECKO_EXT=msi
+        GECKO_URL="http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86.msi"
+        GECKO_MD5SUM=5ebc4ec71c92b3db3d84b334a1db385d
+        ;;
+wine-5.*)
+        GECKO_DIR="$WINDIR/syswow64"
+        GECKO_VERSION=2.47.1
+        GECKO_URL="http://dl.winehq.org/wine/wine-gecko/2.47.1/wine-gecko-2.47.1-x86.msi"
+        GECKO_MD5SUM=4a467150fac8256c8ea6a98a8eef1f67
+        ;;
+wine-6.*)
+        GECKO_DIR="$WINDIR/syswow64"
+        GECKO_VERSION=2.47.2
+        GECKO_URL="http://dl.winehq.org/wine/wine-gecko/2.47.2/wine-gecko-2.47.2-x86.msi"
+        GECKO_MD5SUM=e0a26e37397961b2c7f624575590ef66
         ;;
 *)
         GECKO_DIR="$WINDIR/syswow64"
-        GECKO_VERSION=1.3.0
-        GECKO_ARCH=-x86
-        GECKO_SHA1SUM=6964d1877668ab7da07a60f6dcf23fb0e261a808
-        GECKO_EXT=msi
+        GECKO_VERSION=1.3
+        GECKO_URL="http://downloads.sourceforge.net/wine/wine_gecko-1.3-x86.msi"
+        GECKO_MD5SUM=9e21684bb68d016b837744d53abb2fde
         ;;
 esac
 else
@@ -86,65 +99,63 @@
 wine-1.1.2[789]*|wine-1.2*|wine-1.3|wine-1.3.1)
         GECKO_DIR="$WINDIR/system32"
         GECKO_VERSION=1.0.0
-        GECKO_ARCH=-x86
-        GECKO_SHA1SUM=afa22c52bca4ca77dcb9edb3c9936eb23793de01
-        GECKO_EXT=cab
+        GECKO_URL="http://downloads.sourceforge.net/wine/wine_gecko-1.0.0-x86.cab"
+        GECKO_MD5SUM=9c5c335fc077c0558561afaf25a09e51
         ;;
 wine-1.3.[23456789]|wine-1.3.1[012345])
         GECKO_DIR="$WINDIR/system32"
         GECKO_VERSION=1.1.0
-        GECKO_ARCH=-x86
-        GECKO_SHA1SUM=1b6c637207b6f032ae8a52841db9659433482714
-        GECKO_EXT=cab
+        GECKO_URL="http://downloads.sourceforge.net/wine/wine_gecko-1.1.0-x86.cab"
+        GECKO_MD5SUM=7217cb91106f2efd85d6d1a84f5ee305
         ;;
 wine-1.3.1[6789]|wine-1.3.2[012345])
         GECKO_DIR="$WINDIR/system32"
         GECKO_VERSION=1.2.0
-        GECKO_ARCH=-x86
-        GECKO_SHA1SUM=6964d1877668ab7da07a60f6dcf23fb0e261a808
-        GECKO_EXT=msi
+        GECKO_URL="http://downloads.sourceforge.net/wine/wine_gecko-1.2.0-x86.msi"
+        GECKO_MD5SUM=f2ed548494c86c511892b1c02491c8c4
         ;;
-wine-1.9.1[3456789]|wine-2|wine-3)
+wine-1.9.1[3456789]|wine-2.*|wine-3.*)
         GECKO_DIR="$WINDIR/system32"
         GECKO_VERSION=2.47
-        GECKO_ARCH=-x86
-        GECKO_SHA1SUM=d93ac0d2e6aceafe9113a9918916df45
-        GECKO_EXT=msi
+        GECKO_URL="http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86.msi"
+        GECKO_MD5SUM=5ebc4ec71c92b3db3d84b334a1db385d
 	;;
+wine-5.*)
+        GECKO_DIR="$WINDIR/system32"
+        GECKO_VERSION=2.47.1
+        GECKO_URL="http://dl.winehq.org/wine/wine-gecko/2.47.1/wine-gecko-2.47.1-x86.msi"
+        GECKO_MD5SUM=4a467150fac8256c8ea6a98a8eef1f67
+        ;;
+wine-6.*)
+        GECKO_DIR="$WINDIR/system32"
+        GECKO_VERSION=2.47.2
+        GECKO_URL="http://dl.winehq.org/wine/wine-gecko/2.47.2/wine-gecko-2.47.2-x86.msi"
+        GECKO_MD5SUM=e0a26e37397961b2c7f624575590ef66
+        ;;
 *)
         GECKO_DIR="$WINDIR/system32"
-        GECKO_VERSION=1.3.0
-        GECKO_ARCH=-x86
-        GECKO_SHA1SUM=6964d1877668ab7da07a60f6dcf23fb0e261a808
-        GECKO_EXT=msi
+        GECKO_VERSION=1.3
+        GECKO_URL="http://downloads.sourceforge.net/wine/wine_gecko-1.3-x86.msi"
+        GECKO_MD5SUM=9e21684bb68d016b837744d53abb2fde
         ;;
 esac
 fi
- 
-# From this code: 
-# http://downloads.sourceforge.net/wine/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
-# the final URL is:
-# http://downloads.sourceforge.net/wine/wine_gecko-1.3.0-x86.msi
-# And as of 2020-10-12, this URL to this file is dead...
 
-if test ! -f "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
+GECKO_INSTALLER="${GECKO_URL##*/}"
+if test ! -f "$POL_USER_ROOT/ressources/$GECKO_INSTALLER"
 then
-
-	POL_Download_Resource "http://downloads.sourceforge.net/wine/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"  "Gecko"
-
-	# Obsolete code (since POL v3 or v4):
-	# POL_SetupWindow_download "$(eval_gettext 'Downloading Gecko ...')" "$TITLE" "http://downloads.sourceforge.net/wine/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
-        # mv wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
+	POL_Download_Resource "$GECKO_URL" "$GECKO_MD5SUM"
 fi
  
 # Extract files
+GECKO_EXT="${GECKO_URL##*.}"
 if [ "$GECKO_EXT" == "cab" ]; then
         mkdir -p "$GECKO_DIR/gecko/$GECKO_VERSION"
         cd "$GECKO_DIR/gecko/$GECKO_VERSION"
-        cabextract "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.cab"
+        cabextract "$POL_USER_ROOT/ressources/$GECKO_INSTALLER"
         cd "$olddir"
 else
-        POL_Wine msiexec /i "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.msi"
+        POL_Wine msiexec /i "$POL_USER_ROOT/ressources/$GECKO_INSTALLER"
         cd "$olddir"
 fi
  
@@ -155,33 +166,27 @@
 [HKEY_LOCAL_MACHINE\\Software\\Wine\\MSHTML\\$GECKO_VERSION]
 _EOF_
  
-printf '"GeckoPath"="' >>"$POL_USER_ROOT/tmp/geckopath.reg"
+echo '"GeckoPath"="' >> "$POL_USER_ROOT/tmp/geckopath.reg"
 case $GECKO_VERSION in
 0.*)
-        printf 'c:\\windows\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' |
+        echo 'c:\\windows\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' |
         sed "s/\\\\/\\\\\\\\/g" >> "$POL_USER_ROOT/tmp/geckopath.reg"
         ;;
-esac
-# x86 gecko path for wine64
-if [ -e "$WINDIR/syswow64" ]; then
-case $GECKO_VERSION in
-1.*)
-        printf 'c:\\windows\\syswow64\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' |
-        sed "s/\\\\/\\\\\\\\/g" >> "$POL_USER_ROOT/tmp/geckopath.reg"
-        ;;
-esac
-else
-case $GECKO_VERSION in
-1.*)
-        printf 'c:\\windows\\system32\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' |
-        sed "s/\\\\/\\\\\\\\/g" >> "$POL_USER_ROOT/tmp/geckopath.reg"
+*)
+        # x86 gecko path for wine64
+        if [ -e "$WINDIR/syswow64" ]; then
+                echo 'c:\\windows\\syswow64\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' |
+                sed "s/\\\\/\\\\\\\\/g" >> "$POL_USER_ROOT/tmp/geckopath.reg"
+        else
+                echo 'c:\\windows\\system32\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' |
+                sed "s/\\\\/\\\\\\\\/g" >> "$POL_USER_ROOT/tmp/geckopath.reg"
+        fi
         ;;
 esac
-fi
- 
+
 # Set installation path
 POL_Wine regedit "$POL_USER_ROOT/tmp/geckopath.reg"
-     
+
 # Register the dll, since it was disabled before
 POL_Wine regsvr32 mshtml
 fi
\ No newline at end of file

New source code

#!/bin/bash
# PlayOnLinux Function
# Date : see changelog
# Last revision : see changelog
# Author : Unknown
# Only For : http://www.playonlinux.com

# CHANGELOG:
# [Unknown] (?)
#   Initial script.
# [GNU_Raziel] (2011-08-28 21:00)
#   Update
# [Dadu042] (2020-10-12 14-00)
#   Attempt to make it easier to understand.
# [Dadu042] (2020-10-12 14-30)
#   Attempt to add Gecko v2.47 for Wine v1.9.13 to v3.x.x .
#   Note: the current default Gecko version is still v1.3.0 (2011 ?).
# [foriequal0] (2021-09-05)
#   Fix detecting gecko installation which collides with mono28
#   Fix gecko download URLs & checksums
#   Fix wine 2, 3 version prefix detection
#   Add wine 5, 6 support

# Load the HTML rendering Engine (Gecko)
WINDIR="$WINEPREFIX/drive_c/windows/"
# Check if Gecko is already installed (otherwise do exit this script).
unset GECKO_EXIST
GECKO_EXIST=$(find "$WINDIR" -name "xul.dll")
if [ ! -n "$GECKO_EXIST" ]; then
# Matching Gecko versions: https://wiki.winehq.org/Gecko#Installing
case `wine --version` in
wine-0*|wine-1.0*|wine-1.1|wine-1.1.?|wine-1.1.11)
        GECKO_DIR="$WINDIR"
        GECKO_VERSION=0.1.0
        GECKO_URL="http://downloads.sourceforge.net/wine/wine_gecko-0.1.0.cab"
        GECKO_MD5SUM=b188c296f045d20abdb11e9c0564894b
        ;;
wine-1.1.1[234]*)
        GECKO_DIR="$WINDIR"
        GECKO_VERSION=0.9.0
        GECKO_URL="http://downloads.sourceforge.net/wine/wine_gecko-0.9.0.cab"
        GECKO_MD5SUM=74b34ff5bad105f07fe17cdd1391c70c
        ;;
wine-1.1.1[56789]*|wine-1.1.2[0123456]*)
        GECKO_DIR="$WINDIR"
        GECKO_VERSION=0.9.1
        GECKO_URL="http://downloads.sourceforge.net/wine/wine_gecko-0.9.1.cab"
        GECKO_MD5SUM=6abd26c3caf66b497acf73958b5119a5
        ;;
esac
# x86_64 gecko package for wine64
if [ -e "$WINDIR/syswow64" ]; then
case `wine --version` in
wine-1.1.2[789]*|wine-1.2*|wine-1.3|wine-1.3.1)
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=1.0.0
        GECKO_URL="http://downloads.sourceforge.net/wine/wine_gecko-1.0.0-x86.cab"
        GECKO_MD5SUM=9c5c335fc077c0558561afaf25a09e51
        ;;
wine-1.3.[23456789]|wine-1.3.1[012345])
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=1.1.0
        GECKO_URL="http://downloads.sourceforge.net/wine/wine_gecko-1.1.0-x86.cab"
        GECKO_MD5SUM=7217cb91106f2efd85d6d1a84f5ee305
        ;;
wine-1.3.1[6789]|wine-1.3.2[012345])
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=1.2.0
        GECKO_URL="http://downloads.sourceforge.net/wine/wine_gecko-1.2.0-x86.msi"
        GECKO_MD5SUM=f2ed548494c86c511892b1c02491c8c4
        ;;
wine-1.9.1[3456789]|wine-2.*|wine-3.*)
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=2.47
        GECKO_URL="http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86.msi"
        GECKO_MD5SUM=5ebc4ec71c92b3db3d84b334a1db385d
        ;;
wine-5.*)
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=2.47.1
        GECKO_URL="http://dl.winehq.org/wine/wine-gecko/2.47.1/wine-gecko-2.47.1-x86.msi"
        GECKO_MD5SUM=4a467150fac8256c8ea6a98a8eef1f67
        ;;
wine-6.*)
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=2.47.2
        GECKO_URL="http://dl.winehq.org/wine/wine-gecko/2.47.2/wine-gecko-2.47.2-x86.msi"
        GECKO_MD5SUM=e0a26e37397961b2c7f624575590ef66
        ;;
*)
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=1.3
        GECKO_URL="http://downloads.sourceforge.net/wine/wine_gecko-1.3-x86.msi"
        GECKO_MD5SUM=9e21684bb68d016b837744d53abb2fde
        ;;
esac
else
case `wine --version` in
wine-1.1.2[789]*|wine-1.2*|wine-1.3|wine-1.3.1)
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=1.0.0
        GECKO_URL="http://downloads.sourceforge.net/wine/wine_gecko-1.0.0-x86.cab"
        GECKO_MD5SUM=9c5c335fc077c0558561afaf25a09e51
        ;;
wine-1.3.[23456789]|wine-1.3.1[012345])
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=1.1.0
        GECKO_URL="http://downloads.sourceforge.net/wine/wine_gecko-1.1.0-x86.cab"
        GECKO_MD5SUM=7217cb91106f2efd85d6d1a84f5ee305
        ;;
wine-1.3.1[6789]|wine-1.3.2[012345])
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=1.2.0
        GECKO_URL="http://downloads.sourceforge.net/wine/wine_gecko-1.2.0-x86.msi"
        GECKO_MD5SUM=f2ed548494c86c511892b1c02491c8c4
        ;;
wine-1.9.1[3456789]|wine-2.*|wine-3.*)
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=2.47
        GECKO_URL="http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86.msi"
        GECKO_MD5SUM=5ebc4ec71c92b3db3d84b334a1db385d
        ;;
wine-5.*)
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=2.47.1
        GECKO_URL="http://dl.winehq.org/wine/wine-gecko/2.47.1/wine-gecko-2.47.1-x86.msi"
        GECKO_MD5SUM=4a467150fac8256c8ea6a98a8eef1f67
        ;;
wine-6.*)
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=2.47.2
        GECKO_URL="http://dl.winehq.org/wine/wine-gecko/2.47.2/wine-gecko-2.47.2-x86.msi"
        GECKO_MD5SUM=e0a26e37397961b2c7f624575590ef66
        ;;
*)
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=1.3
        GECKO_URL="http://downloads.sourceforge.net/wine/wine_gecko-1.3-x86.msi"
        GECKO_MD5SUM=9e21684bb68d016b837744d53abb2fde
        ;;
esac
fi

GECKO_INSTALLER="${GECKO_URL##*/}"
if test ! -f "$POL_USER_ROOT/ressources/$GECKO_INSTALLER"
then
        POL_Download_Resource "$GECKO_URL" "$GECKO_MD5SUM"
fi
 
# Extract files
GECKO_EXT="${GECKO_URL##*.}"
if [ "$GECKO_EXT" == "cab" ]; then
        mkdir -p "$GECKO_DIR/gecko/$GECKO_VERSION"
        cd "$GECKO_DIR/gecko/$GECKO_VERSION"
        cabextract "$POL_USER_ROOT/ressources/$GECKO_INSTALLER"
        cd "$olddir"
else
        POL_Wine msiexec /i "$POL_USER_ROOT/ressources/$GECKO_INSTALLER"
        cd "$olddir"
fi
 
 
cat > "$POL_USER_ROOT/tmp/geckopath.reg" <<_EOF_
REGEDIT4
 
[HKEY_LOCAL_MACHINE\\Software\\Wine\\MSHTML\\$GECKO_VERSION]
_EOF_
 
echo '"GeckoPath"="' >> "$POL_USER_ROOT/tmp/geckopath.reg"
case $GECKO_VERSION in
0.*)
        echo 'c:\\windows\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' |
        sed "s/\\\\/\\\\\\\\/g" >> "$POL_USER_ROOT/tmp/geckopath.reg"
        ;;
*)
        # x86 gecko path for wine64
        if [ -e "$WINDIR/syswow64" ]; then
                echo 'c:\\windows\\syswow64\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' |
                sed "s/\\\\/\\\\\\\\/g" >> "$POL_USER_ROOT/tmp/geckopath.reg"
        else
                echo 'c:\\windows\\system32\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' |
                sed "s/\\\\/\\\\\\\\/g" >> "$POL_USER_ROOT/tmp/geckopath.reg"
        fi
        ;;
esac

# Set installation path
POL_Wine regedit "$POL_USER_ROOT/tmp/geckopath.reg"

# Register the dll, since it was disabled before
POL_Wine regsvr32 mshtml
fi

Replies

Dadu042 Friday 4 December 2020 at 20:14
Dadu042

Message

Useless function, because from Wine v2 or v3, Wine does includes its own Gecko version.

Replies

Dadu042 Monday 12 October 2020 at 15:33
Dadu042

Information

This update has been approved by the team.

Differences

@@ -16,7 +16,7 @@
 #   Attempt to add Gecko v2.47 for Wine v1.9.13 to v3.x.x .
 #   Note: the current default Gecko version is still v1.3.0 (2011 ?).
 
-# Check if Gecko is not already installed
+# Check if Gecko is already installed (otherwise do exit this script).
 unset GECKO_EXIST
 GECKO_EXIST=`find $WINEPREFIX -name "xul.dll"`
 if [ ! -n "$GECKO_EXIST" ]; then
@@ -121,15 +121,18 @@
 esac
 fi
  
-# From this URL,
+# From this code: 
 # http://downloads.sourceforge.net/wine/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
-# What the final URL is:
+# the final URL is:
 # http://downloads.sourceforge.net/wine/wine_gecko-1.3.0-x86.msi
+# And as of 2020-10-12, this URL to this file is dead...
 
 if test ! -f "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
 then
 
 	POL_Download_Resource "http://downloads.sourceforge.net/wine/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"  "Gecko"
+
+	# Obsolete code (since POL v3 or v4):
 	# POL_SetupWindow_download "$(eval_gettext 'Downloading Gecko ...')" "$TITLE" "http://downloads.sourceforge.net/wine/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
         # mv wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
 fi

New source code

#!/bin/bash
# PlayOnLinux Function
# Date : see changelog
# Last revision : see changelog
# Author : Unknown
# Only For : http://www.playonlinux.com

# CHANGELOG:
# [Unknown] (?)
#   Initial script.
# [GNU_Raziel] (2011-08-28 21:00)
#   Update
# [Dadu042] (2020-10-12 14-00)
#   Attempt to make it easier to understand.
# [Dadu042] (2020-10-12 14-30)
#   Attempt to add Gecko v2.47 for Wine v1.9.13 to v3.x.x .
#   Note: the current default Gecko version is still v1.3.0 (2011 ?).

# Check if Gecko is already installed (otherwise do exit this script).
unset GECKO_EXIST
GECKO_EXIST=`find $WINEPREFIX -name "xul.dll"`
if [ ! -n "$GECKO_EXIST" ]; then
# Load the HTML rendering Engine (Gecko)
WINDIR="$WINEPREFIX/drive_c/windows/"
case `wine --version` in
wine-0*|wine-1.0*|wine-1.1|wine-1.1.?|wine-1.1.11)
        GECKO_DIR="$WINDIR"
        GECKO_VERSION=0.1.0
        GECKO_SHA1SUM=c16f1072dc6b0ced20935662138dcf019a38cd56
        GECKO_EXT=cab
        ;;
wine-1.1.1[234]*)
        GECKO_DIR="$WINDIR"
        GECKO_VERSION=0.9.0
        GECKO_SHA1SUM=5cf410ff7fdd3f9d625f481f9d409968728d3d09
        GECKO_EXT=cab
        ;;
wine-1.1.1[56789]*|wine-1.1.2[0123456]*)
        GECKO_DIR="$WINDIR"
        GECKO_VERSION=0.9.1
        GECKO_SHA1SUM=9a49fc691740596517e381b47096a4bdf19a87d8
        GECKO_EXT=cab
        ;;
esac
# x86_64 gecko package for wine64
if [ -e "$WINDIR/syswow64" ]; then
case `wine --version` in
wine-1.1.2[789]*|wine-1.2*|wine-1.3|wine-1.3.1)
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=1.0.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=afa22c52bca4ca77dcb9edb3c9936eb23793de01
        GECKO_EXT=cab
        ;;
wine-1.3.[23456789]|wine-1.3.1[012345])
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=1.1.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=1b6c637207b6f032ae8a52841db9659433482714
        GECKO_EXT=cab
        ;;
wine-1.3.1[6789]|wine-1.3.2[012345])
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=1.2.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=6964d1877668ab7da07a60f6dcf23fb0e261a808
        GECKO_EXT=msi
        ;;
wine-1.9.1[3456789]|wine-2|wine-3)
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=2.47
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=5ebc4ec71c92b3db3d84b334a1db385d
        GECKO_EXT=msi
        ;;
*)
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=1.3.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=6964d1877668ab7da07a60f6dcf23fb0e261a808
        GECKO_EXT=msi
        ;;
esac
else
case `wine --version` in
wine-1.1.2[789]*|wine-1.2*|wine-1.3|wine-1.3.1)
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=1.0.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=afa22c52bca4ca77dcb9edb3c9936eb23793de01
        GECKO_EXT=cab
        ;;
wine-1.3.[23456789]|wine-1.3.1[012345])
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=1.1.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=1b6c637207b6f032ae8a52841db9659433482714
        GECKO_EXT=cab
        ;;
wine-1.3.1[6789]|wine-1.3.2[012345])
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=1.2.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=6964d1877668ab7da07a60f6dcf23fb0e261a808
        GECKO_EXT=msi
        ;;
wine-1.9.1[3456789]|wine-2|wine-3)
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=2.47
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=d93ac0d2e6aceafe9113a9918916df45
        GECKO_EXT=msi
        ;;
*)
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=1.3.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=6964d1877668ab7da07a60f6dcf23fb0e261a808
        GECKO_EXT=msi
        ;;
esac
fi
 
# From this code: 
# http://downloads.sourceforge.net/wine/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
# the final URL is:
# http://downloads.sourceforge.net/wine/wine_gecko-1.3.0-x86.msi
# And as of 2020-10-12, this URL to this file is dead...

if test ! -f "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
then

        POL_Download_Resource "http://downloads.sourceforge.net/wine/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"  "Gecko"

        # Obsolete code (since POL v3 or v4):
        # POL_SetupWindow_download "$(eval_gettext 'Downloading Gecko ...')" "$TITLE" "http://downloads.sourceforge.net/wine/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
        # mv wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
fi
 
# Extract files
if [ "$GECKO_EXT" == "cab" ]; then
        mkdir -p "$GECKO_DIR/gecko/$GECKO_VERSION"
        cd "$GECKO_DIR/gecko/$GECKO_VERSION"
        cabextract "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.cab"
        cd "$olddir"
else
        POL_Wine msiexec /i "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.msi"
        cd "$olddir"
fi
 
 
cat > "$POL_USER_ROOT/tmp/geckopath.reg" <<_EOF_
REGEDIT4
 
[HKEY_LOCAL_MACHINE\\Software\\Wine\\MSHTML\\$GECKO_VERSION]
_EOF_
 
printf '"GeckoPath"="' >>"$POL_USER_ROOT/tmp/geckopath.reg"
case $GECKO_VERSION in
0.*)
        printf 'c:\\windows\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' |
        sed "s/\\\\/\\\\\\\\/g" >> "$POL_USER_ROOT/tmp/geckopath.reg"
        ;;
esac
# x86 gecko path for wine64
if [ -e "$WINDIR/syswow64" ]; then
case $GECKO_VERSION in
1.*)
        printf 'c:\\windows\\syswow64\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' |
        sed "s/\\\\/\\\\\\\\/g" >> "$POL_USER_ROOT/tmp/geckopath.reg"
        ;;
esac
else
case $GECKO_VERSION in
1.*)
        printf 'c:\\windows\\system32\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' |
        sed "s/\\\\/\\\\\\\\/g" >> "$POL_USER_ROOT/tmp/geckopath.reg"
        ;;
esac
fi
 
# Set installation path
POL_Wine regedit "$POL_USER_ROOT/tmp/geckopath.reg"
     
# Register the dll, since it was disabled before
POL_Wine regsvr32 mshtml
fi

Replies

Dadu042 Monday 12 October 2020 at 15:23
Dadu042

Warning

This update has not been approved yet by the team.
Use it at your own risk

Message

The download URL seems dead, and POL_SetupWindow_download seems obsolete.

Differences

@@ -121,10 +121,17 @@
 esac
 fi
  
+# From this URL,
+# http://downloads.sourceforge.net/wine/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
+# What the final URL is:
+# http://downloads.sourceforge.net/wine/wine_gecko-1.3.0-x86.msi
+
 if test ! -f "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
 then
-        POL_SetupWindow_download "$(eval_gettext 'Downloading Gecko ...')" "$TITLE" "http://downloads.sourceforge.net/wine/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
-        mv wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
+
+	POL_Download_Resource "http://downloads.sourceforge.net/wine/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"  "Gecko"
+	# POL_SetupWindow_download "$(eval_gettext 'Downloading Gecko ...')" "$TITLE" "http://downloads.sourceforge.net/wine/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
+        # mv wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
 fi
  
 # Extract files

New source code

#!/bin/bash
# PlayOnLinux Function
# Date : see changelog
# Last revision : see changelog
# Author : Unknown
# Only For : http://www.playonlinux.com

# CHANGELOG:
# [Unknown] (?)
#   Initial script.
# [GNU_Raziel] (2011-08-28 21:00)
#   Update
# [Dadu042] (2020-10-12 14-00)
#   Attempt to make it easier to understand.
# [Dadu042] (2020-10-12 14-30)
#   Attempt to add Gecko v2.47 for Wine v1.9.13 to v3.x.x .
#   Note: the current default Gecko version is still v1.3.0 (2011 ?).

# Check if Gecko is not already installed
unset GECKO_EXIST
GECKO_EXIST=`find $WINEPREFIX -name "xul.dll"`
if [ ! -n "$GECKO_EXIST" ]; then
# Load the HTML rendering Engine (Gecko)
WINDIR="$WINEPREFIX/drive_c/windows/"
case `wine --version` in
wine-0*|wine-1.0*|wine-1.1|wine-1.1.?|wine-1.1.11)
        GECKO_DIR="$WINDIR"
        GECKO_VERSION=0.1.0
        GECKO_SHA1SUM=c16f1072dc6b0ced20935662138dcf019a38cd56
        GECKO_EXT=cab
        ;;
wine-1.1.1[234]*)
        GECKO_DIR="$WINDIR"
        GECKO_VERSION=0.9.0
        GECKO_SHA1SUM=5cf410ff7fdd3f9d625f481f9d409968728d3d09
        GECKO_EXT=cab
        ;;
wine-1.1.1[56789]*|wine-1.1.2[0123456]*)
        GECKO_DIR="$WINDIR"
        GECKO_VERSION=0.9.1
        GECKO_SHA1SUM=9a49fc691740596517e381b47096a4bdf19a87d8
        GECKO_EXT=cab
        ;;
esac
# x86_64 gecko package for wine64
if [ -e "$WINDIR/syswow64" ]; then
case `wine --version` in
wine-1.1.2[789]*|wine-1.2*|wine-1.3|wine-1.3.1)
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=1.0.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=afa22c52bca4ca77dcb9edb3c9936eb23793de01
        GECKO_EXT=cab
        ;;
wine-1.3.[23456789]|wine-1.3.1[012345])
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=1.1.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=1b6c637207b6f032ae8a52841db9659433482714
        GECKO_EXT=cab
        ;;
wine-1.3.1[6789]|wine-1.3.2[012345])
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=1.2.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=6964d1877668ab7da07a60f6dcf23fb0e261a808
        GECKO_EXT=msi
        ;;
wine-1.9.1[3456789]|wine-2|wine-3)
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=2.47
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=5ebc4ec71c92b3db3d84b334a1db385d
        GECKO_EXT=msi
        ;;
*)
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=1.3.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=6964d1877668ab7da07a60f6dcf23fb0e261a808
        GECKO_EXT=msi
        ;;
esac
else
case `wine --version` in
wine-1.1.2[789]*|wine-1.2*|wine-1.3|wine-1.3.1)
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=1.0.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=afa22c52bca4ca77dcb9edb3c9936eb23793de01
        GECKO_EXT=cab
        ;;
wine-1.3.[23456789]|wine-1.3.1[012345])
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=1.1.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=1b6c637207b6f032ae8a52841db9659433482714
        GECKO_EXT=cab
        ;;
wine-1.3.1[6789]|wine-1.3.2[012345])
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=1.2.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=6964d1877668ab7da07a60f6dcf23fb0e261a808
        GECKO_EXT=msi
        ;;
wine-1.9.1[3456789]|wine-2|wine-3)
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=2.47
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=d93ac0d2e6aceafe9113a9918916df45
        GECKO_EXT=msi
        ;;
*)
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=1.3.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=6964d1877668ab7da07a60f6dcf23fb0e261a808
        GECKO_EXT=msi
        ;;
esac
fi
 
# From this URL,
# http://downloads.sourceforge.net/wine/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
# What the final URL is:
# http://downloads.sourceforge.net/wine/wine_gecko-1.3.0-x86.msi

if test ! -f "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
then

        POL_Download_Resource "http://downloads.sourceforge.net/wine/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"  "Gecko"
        # POL_SetupWindow_download "$(eval_gettext 'Downloading Gecko ...')" "$TITLE" "http://downloads.sourceforge.net/wine/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
        # mv wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
fi
 
# Extract files
if [ "$GECKO_EXT" == "cab" ]; then
        mkdir -p "$GECKO_DIR/gecko/$GECKO_VERSION"
        cd "$GECKO_DIR/gecko/$GECKO_VERSION"
        cabextract "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.cab"
        cd "$olddir"
else
        POL_Wine msiexec /i "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.msi"
        cd "$olddir"
fi
 
 
cat > "$POL_USER_ROOT/tmp/geckopath.reg" <<_EOF_
REGEDIT4
 
[HKEY_LOCAL_MACHINE\\Software\\Wine\\MSHTML\\$GECKO_VERSION]
_EOF_
 
printf '"GeckoPath"="' >>"$POL_USER_ROOT/tmp/geckopath.reg"
case $GECKO_VERSION in
0.*)
        printf 'c:\\windows\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' |
        sed "s/\\\\/\\\\\\\\/g" >> "$POL_USER_ROOT/tmp/geckopath.reg"
        ;;
esac
# x86 gecko path for wine64
if [ -e "$WINDIR/syswow64" ]; then
case $GECKO_VERSION in
1.*)
        printf 'c:\\windows\\syswow64\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' |
        sed "s/\\\\/\\\\\\\\/g" >> "$POL_USER_ROOT/tmp/geckopath.reg"
        ;;
esac
else
case $GECKO_VERSION in
1.*)
        printf 'c:\\windows\\system32\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' |
        sed "s/\\\\/\\\\\\\\/g" >> "$POL_USER_ROOT/tmp/geckopath.reg"
        ;;
esac
fi
 
# Set installation path
POL_Wine regedit "$POL_USER_ROOT/tmp/geckopath.reg"
     
# Register the dll, since it was disabled before
POL_Wine regsvr32 mshtml
fi

Replies

Edited by Dadu042

Dadu042 Monday 12 October 2020 at 15:03
Dadu042

Warning

This update has not been approved yet by the team.
Use it at your own risk

Message

Note: I try to check and update this script in order to help me with a other script (Crossfire) that seems to have a issue with web browser.

Differences

@@ -12,6 +12,9 @@
 #   Update
 # [Dadu042] (2020-10-12 14-00)
 #   Attempt to make it easier to understand.
+# [Dadu042] (2020-10-12 14-30)
+#   Attempt to add Gecko v2.47 for Wine v1.9.13 to v3.x.x .
+#   Note: the current default Gecko version is still v1.3.0 (2011 ?).
 
 # Check if Gecko is not already installed
 unset GECKO_EXIST
@@ -63,6 +66,13 @@
         GECKO_SHA1SUM=6964d1877668ab7da07a60f6dcf23fb0e261a808
         GECKO_EXT=msi
         ;;
+wine-1.9.1[3456789]|wine-2|wine-3)
+        GECKO_DIR="$WINDIR/syswow64"
+        GECKO_VERSION=2.47
+        GECKO_ARCH=-x86
+        GECKO_SHA1SUM=5ebc4ec71c92b3db3d84b334a1db385d
+        GECKO_EXT=msi
+        ;;
 *)
         GECKO_DIR="$WINDIR/syswow64"
         GECKO_VERSION=1.3.0
@@ -94,6 +104,13 @@
         GECKO_SHA1SUM=6964d1877668ab7da07a60f6dcf23fb0e261a808
         GECKO_EXT=msi
         ;;
+wine-1.9.1[3456789]|wine-2|wine-3)
+        GECKO_DIR="$WINDIR/system32"
+        GECKO_VERSION=2.47
+        GECKO_ARCH=-x86
+        GECKO_SHA1SUM=d93ac0d2e6aceafe9113a9918916df45
+        GECKO_EXT=msi
+	;;
 *)
         GECKO_DIR="$WINDIR/system32"
         GECKO_VERSION=1.3.0

New source code

#!/bin/bash
# PlayOnLinux Function
# Date : see changelog
# Last revision : see changelog
# Author : Unknown
# Only For : http://www.playonlinux.com

# CHANGELOG:
# [Unknown] (?)
#   Initial script.
# [GNU_Raziel] (2011-08-28 21:00)
#   Update
# [Dadu042] (2020-10-12 14-00)
#   Attempt to make it easier to understand.
# [Dadu042] (2020-10-12 14-30)
#   Attempt to add Gecko v2.47 for Wine v1.9.13 to v3.x.x .
#   Note: the current default Gecko version is still v1.3.0 (2011 ?).

# Check if Gecko is not already installed
unset GECKO_EXIST
GECKO_EXIST=`find $WINEPREFIX -name "xul.dll"`
if [ ! -n "$GECKO_EXIST" ]; then
# Load the HTML rendering Engine (Gecko)
WINDIR="$WINEPREFIX/drive_c/windows/"
case `wine --version` in
wine-0*|wine-1.0*|wine-1.1|wine-1.1.?|wine-1.1.11)
        GECKO_DIR="$WINDIR"
        GECKO_VERSION=0.1.0
        GECKO_SHA1SUM=c16f1072dc6b0ced20935662138dcf019a38cd56
        GECKO_EXT=cab
        ;;
wine-1.1.1[234]*)
        GECKO_DIR="$WINDIR"
        GECKO_VERSION=0.9.0
        GECKO_SHA1SUM=5cf410ff7fdd3f9d625f481f9d409968728d3d09
        GECKO_EXT=cab
        ;;
wine-1.1.1[56789]*|wine-1.1.2[0123456]*)
        GECKO_DIR="$WINDIR"
        GECKO_VERSION=0.9.1
        GECKO_SHA1SUM=9a49fc691740596517e381b47096a4bdf19a87d8
        GECKO_EXT=cab
        ;;
esac
# x86_64 gecko package for wine64
if [ -e "$WINDIR/syswow64" ]; then
case `wine --version` in
wine-1.1.2[789]*|wine-1.2*|wine-1.3|wine-1.3.1)
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=1.0.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=afa22c52bca4ca77dcb9edb3c9936eb23793de01
        GECKO_EXT=cab
        ;;
wine-1.3.[23456789]|wine-1.3.1[012345])
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=1.1.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=1b6c637207b6f032ae8a52841db9659433482714
        GECKO_EXT=cab
        ;;
wine-1.3.1[6789]|wine-1.3.2[012345])
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=1.2.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=6964d1877668ab7da07a60f6dcf23fb0e261a808
        GECKO_EXT=msi
        ;;
wine-1.9.1[3456789]|wine-2|wine-3)
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=2.47
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=5ebc4ec71c92b3db3d84b334a1db385d
        GECKO_EXT=msi
        ;;
*)
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=1.3.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=6964d1877668ab7da07a60f6dcf23fb0e261a808
        GECKO_EXT=msi
        ;;
esac
else
case `wine --version` in
wine-1.1.2[789]*|wine-1.2*|wine-1.3|wine-1.3.1)
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=1.0.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=afa22c52bca4ca77dcb9edb3c9936eb23793de01
        GECKO_EXT=cab
        ;;
wine-1.3.[23456789]|wine-1.3.1[012345])
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=1.1.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=1b6c637207b6f032ae8a52841db9659433482714
        GECKO_EXT=cab
        ;;
wine-1.3.1[6789]|wine-1.3.2[012345])
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=1.2.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=6964d1877668ab7da07a60f6dcf23fb0e261a808
        GECKO_EXT=msi
        ;;
wine-1.9.1[3456789]|wine-2|wine-3)
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=2.47
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=d93ac0d2e6aceafe9113a9918916df45
        GECKO_EXT=msi
        ;;
*)
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=1.3.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=6964d1877668ab7da07a60f6dcf23fb0e261a808
        GECKO_EXT=msi
        ;;
esac
fi
 
if test ! -f "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
then
        POL_SetupWindow_download "$(eval_gettext 'Downloading Gecko ...')" "$TITLE" "http://downloads.sourceforge.net/wine/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
        mv wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
fi
 
# Extract files
if [ "$GECKO_EXT" == "cab" ]; then
        mkdir -p "$GECKO_DIR/gecko/$GECKO_VERSION"
        cd "$GECKO_DIR/gecko/$GECKO_VERSION"
        cabextract "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.cab"
        cd "$olddir"
else
        POL_Wine msiexec /i "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.msi"
        cd "$olddir"
fi
 
 
cat > "$POL_USER_ROOT/tmp/geckopath.reg" <<_EOF_
REGEDIT4
 
[HKEY_LOCAL_MACHINE\\Software\\Wine\\MSHTML\\$GECKO_VERSION]
_EOF_
 
printf '"GeckoPath"="' >>"$POL_USER_ROOT/tmp/geckopath.reg"
case $GECKO_VERSION in
0.*)
        printf 'c:\\windows\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' |
        sed "s/\\\\/\\\\\\\\/g" >> "$POL_USER_ROOT/tmp/geckopath.reg"
        ;;
esac
# x86 gecko path for wine64
if [ -e "$WINDIR/syswow64" ]; then
case $GECKO_VERSION in
1.*)
        printf 'c:\\windows\\syswow64\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' |
        sed "s/\\\\/\\\\\\\\/g" >> "$POL_USER_ROOT/tmp/geckopath.reg"
        ;;
esac
else
case $GECKO_VERSION in
1.*)
        printf 'c:\\windows\\system32\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' |
        sed "s/\\\\/\\\\\\\\/g" >> "$POL_USER_ROOT/tmp/geckopath.reg"
        ;;
esac
fi
 
# Set installation path
POL_Wine regedit "$POL_USER_ROOT/tmp/geckopath.reg"
     
# Register the dll, since it was disabled before
POL_Wine regsvr32 mshtml
fi

Replies

Edited by Dadu042

Dadu042 Monday 12 October 2020 at 14:34
Dadu042

Warning

This update has not been approved yet by the team.
Use it at your own risk

Differences

@@ -1,11 +1,19 @@
 #!/bin/bash
 # PlayOnLinux Function
-# Date : Unknown
-# Last revision : (2011-08-28 21:00)
-# Author : Unknown - Updated by GNU_Raziel
+# Date : see changelog
+# Last revision : see changelog
+# Author : Unknown
 # Only For : http://www.playonlinux.com
 
-# Check is gecko is not already installed
+# CHANGELOG:
+# [Unknown] (?)
+#   Initial script.
+# [GNU_Raziel] (2011-08-28 21:00)
+#   Update
+# [Dadu042] (2020-10-12 14-00)
+#   Attempt to make it easier to understand.
+
+# Check if Gecko is not already installed
 unset GECKO_EXIST
 GECKO_EXIST=`find $WINEPREFIX -name "xul.dll"`
 if [ ! -n "$GECKO_EXIST" ]; then
@@ -13,140 +21,140 @@
 WINDIR="$WINEPREFIX/drive_c/windows/"
 case `wine --version` in
 wine-0*|wine-1.0*|wine-1.1|wine-1.1.?|wine-1.1.11)
-	GECKO_DIR="$WINDIR"
+        GECKO_DIR="$WINDIR"
         GECKO_VERSION=0.1.0
         GECKO_SHA1SUM=c16f1072dc6b0ced20935662138dcf019a38cd56
-	GECKO_EXT=cab
+        GECKO_EXT=cab
         ;;
 wine-1.1.1[234]*)
         GECKO_DIR="$WINDIR"
         GECKO_VERSION=0.9.0
         GECKO_SHA1SUM=5cf410ff7fdd3f9d625f481f9d409968728d3d09
-	GECKO_EXT=cab
+        GECKO_EXT=cab
         ;;
 wine-1.1.1[56789]*|wine-1.1.2[0123456]*)
         GECKO_DIR="$WINDIR"
         GECKO_VERSION=0.9.1
         GECKO_SHA1SUM=9a49fc691740596517e381b47096a4bdf19a87d8
-	GECKO_EXT=cab
+        GECKO_EXT=cab
         ;;
 esac
 # x86_64 gecko package for wine64
 if [ -e "$WINDIR/syswow64" ]; then
 case `wine --version` in
 wine-1.1.2[789]*|wine-1.2*|wine-1.3|wine-1.3.1)
-	GECKO_DIR="$WINDIR/syswow64"
+        GECKO_DIR="$WINDIR/syswow64"
         GECKO_VERSION=1.0.0
         GECKO_ARCH=-x86
         GECKO_SHA1SUM=afa22c52bca4ca77dcb9edb3c9936eb23793de01
-	GECKO_EXT=cab
-	;;
+        GECKO_EXT=cab
+        ;;
 wine-1.3.[23456789]|wine-1.3.1[012345])
-	GECKO_DIR="$WINDIR/syswow64"
+        GECKO_DIR="$WINDIR/syswow64"
         GECKO_VERSION=1.1.0
         GECKO_ARCH=-x86
         GECKO_SHA1SUM=1b6c637207b6f032ae8a52841db9659433482714
-	GECKO_EXT=cab
-	;;
+        GECKO_EXT=cab
+        ;;
 wine-1.3.1[6789]|wine-1.3.2[012345])
-	GECKO_DIR="$WINDIR/syswow64"
+        GECKO_DIR="$WINDIR/syswow64"
         GECKO_VERSION=1.2.0
         GECKO_ARCH=-x86
         GECKO_SHA1SUM=6964d1877668ab7da07a60f6dcf23fb0e261a808
-	GECKO_EXT=msi
+        GECKO_EXT=msi
         ;;
 *)
         GECKO_DIR="$WINDIR/syswow64"
         GECKO_VERSION=1.3.0
         GECKO_ARCH=-x86
         GECKO_SHA1SUM=6964d1877668ab7da07a60f6dcf23fb0e261a808
-	GECKO_EXT=msi
+        GECKO_EXT=msi
         ;;
 esac
 else
 case `wine --version` in
 wine-1.1.2[789]*|wine-1.2*|wine-1.3|wine-1.3.1)
-	GECKO_DIR="$WINDIR/system32"
+        GECKO_DIR="$WINDIR/system32"
         GECKO_VERSION=1.0.0
         GECKO_ARCH=-x86
         GECKO_SHA1SUM=afa22c52bca4ca77dcb9edb3c9936eb23793de01
-	GECKO_EXT=cab
-	;;
+        GECKO_EXT=cab
+        ;;
 wine-1.3.[23456789]|wine-1.3.1[012345])
-	GECKO_DIR="$WINDIR/system32"
+        GECKO_DIR="$WINDIR/system32"
         GECKO_VERSION=1.1.0
         GECKO_ARCH=-x86
         GECKO_SHA1SUM=1b6c637207b6f032ae8a52841db9659433482714
-	GECKO_EXT=cab
-	;;
+        GECKO_EXT=cab
+        ;;
 wine-1.3.1[6789]|wine-1.3.2[012345])
-	GECKO_DIR="$WINDIR/system32"
+        GECKO_DIR="$WINDIR/system32"
         GECKO_VERSION=1.2.0
         GECKO_ARCH=-x86
         GECKO_SHA1SUM=6964d1877668ab7da07a60f6dcf23fb0e261a808
-	GECKO_EXT=msi
+        GECKO_EXT=msi
         ;;
 *)
         GECKO_DIR="$WINDIR/system32"
         GECKO_VERSION=1.3.0
         GECKO_ARCH=-x86
         GECKO_SHA1SUM=6964d1877668ab7da07a60f6dcf23fb0e261a808
-	GECKO_EXT=msi
+        GECKO_EXT=msi
         ;;
 esac
 fi
-
+ 
 if test ! -f "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
 then
-	POL_SetupWindow_download "$(eval_gettext 'Downloading gecko ...')" "$TITLE" "http://downloads.sourceforge.net/wine/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT" 
-	mv wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
+        POL_SetupWindow_download "$(eval_gettext 'Downloading Gecko ...')" "$TITLE" "http://downloads.sourceforge.net/wine/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
+        mv wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
 fi
-
+ 
 # Extract files
 if [ "$GECKO_EXT" == "cab" ]; then
-	mkdir -p "$GECKO_DIR/gecko/$GECKO_VERSION"
-	cd "$GECKO_DIR/gecko/$GECKO_VERSION"
-	cabextract "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.cab"
-	cd "$olddir"
+        mkdir -p "$GECKO_DIR/gecko/$GECKO_VERSION"
+        cd "$GECKO_DIR/gecko/$GECKO_VERSION"
+        cabextract "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.cab"
+        cd "$olddir"
 else
-	POL_Wine msiexec /i "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.msi"
-	cd "$olddir"
+        POL_Wine msiexec /i "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.msi"
+        cd "$olddir"
 fi
-
-
+ 
+ 
 cat > "$POL_USER_ROOT/tmp/geckopath.reg" <<_EOF_
 REGEDIT4
-
+ 
 [HKEY_LOCAL_MACHINE\\Software\\Wine\\MSHTML\\$GECKO_VERSION]
 _EOF_
-
+ 
 printf '"GeckoPath"="' >>"$POL_USER_ROOT/tmp/geckopath.reg"
 case $GECKO_VERSION in
 0.*)
-	printf 'c:\\windows\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' |
-	sed "s/\\\\/\\\\\\\\/g" >> "$POL_USER_ROOT/tmp/geckopath.reg"
+        printf 'c:\\windows\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' |
+        sed "s/\\\\/\\\\\\\\/g" >> "$POL_USER_ROOT/tmp/geckopath.reg"
         ;;
 esac
 # x86 gecko path for wine64
 if [ -e "$WINDIR/syswow64" ]; then
 case $GECKO_VERSION in
 1.*)
-	printf 'c:\\windows\\syswow64\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' |
-	sed "s/\\\\/\\\\\\\\/g" >> "$POL_USER_ROOT/tmp/geckopath.reg"
+        printf 'c:\\windows\\syswow64\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' |
+        sed "s/\\\\/\\\\\\\\/g" >> "$POL_USER_ROOT/tmp/geckopath.reg"
         ;;
 esac
 else
 case $GECKO_VERSION in
 1.*)
-	printf 'c:\\windows\\system32\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' |
-	sed "s/\\\\/\\\\\\\\/g" >> "$POL_USER_ROOT/tmp/geckopath.reg"
+        printf 'c:\\windows\\system32\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' |
+        sed "s/\\\\/\\\\\\\\/g" >> "$POL_USER_ROOT/tmp/geckopath.reg"
         ;;
 esac
 fi
-
+ 
 # Set installation path
 POL_Wine regedit "$POL_USER_ROOT/tmp/geckopath.reg"
-    
+     
 # Register the dll, since it was disabled before
 POL_Wine regsvr32 mshtml
 fi
\ No newline at end of file

New source code

#!/bin/bash
# PlayOnLinux Function
# Date : see changelog
# Last revision : see changelog
# Author : Unknown
# Only For : http://www.playonlinux.com

# CHANGELOG:
# [Unknown] (?)
#   Initial script.
# [GNU_Raziel] (2011-08-28 21:00)
#   Update
# [Dadu042] (2020-10-12 14-00)
#   Attempt to make it easier to understand.

# Check if Gecko is not already installed
unset GECKO_EXIST
GECKO_EXIST=`find $WINEPREFIX -name "xul.dll"`
if [ ! -n "$GECKO_EXIST" ]; then
# Load the HTML rendering Engine (Gecko)
WINDIR="$WINEPREFIX/drive_c/windows/"
case `wine --version` in
wine-0*|wine-1.0*|wine-1.1|wine-1.1.?|wine-1.1.11)
        GECKO_DIR="$WINDIR"
        GECKO_VERSION=0.1.0
        GECKO_SHA1SUM=c16f1072dc6b0ced20935662138dcf019a38cd56
        GECKO_EXT=cab
        ;;
wine-1.1.1[234]*)
        GECKO_DIR="$WINDIR"
        GECKO_VERSION=0.9.0
        GECKO_SHA1SUM=5cf410ff7fdd3f9d625f481f9d409968728d3d09
        GECKO_EXT=cab
        ;;
wine-1.1.1[56789]*|wine-1.1.2[0123456]*)
        GECKO_DIR="$WINDIR"
        GECKO_VERSION=0.9.1
        GECKO_SHA1SUM=9a49fc691740596517e381b47096a4bdf19a87d8
        GECKO_EXT=cab
        ;;
esac
# x86_64 gecko package for wine64
if [ -e "$WINDIR/syswow64" ]; then
case `wine --version` in
wine-1.1.2[789]*|wine-1.2*|wine-1.3|wine-1.3.1)
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=1.0.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=afa22c52bca4ca77dcb9edb3c9936eb23793de01
        GECKO_EXT=cab
        ;;
wine-1.3.[23456789]|wine-1.3.1[012345])
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=1.1.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=1b6c637207b6f032ae8a52841db9659433482714
        GECKO_EXT=cab
        ;;
wine-1.3.1[6789]|wine-1.3.2[012345])
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=1.2.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=6964d1877668ab7da07a60f6dcf23fb0e261a808
        GECKO_EXT=msi
        ;;
*)
        GECKO_DIR="$WINDIR/syswow64"
        GECKO_VERSION=1.3.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=6964d1877668ab7da07a60f6dcf23fb0e261a808
        GECKO_EXT=msi
        ;;
esac
else
case `wine --version` in
wine-1.1.2[789]*|wine-1.2*|wine-1.3|wine-1.3.1)
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=1.0.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=afa22c52bca4ca77dcb9edb3c9936eb23793de01
        GECKO_EXT=cab
        ;;
wine-1.3.[23456789]|wine-1.3.1[012345])
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=1.1.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=1b6c637207b6f032ae8a52841db9659433482714
        GECKO_EXT=cab
        ;;
wine-1.3.1[6789]|wine-1.3.2[012345])
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=1.2.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=6964d1877668ab7da07a60f6dcf23fb0e261a808
        GECKO_EXT=msi
        ;;
*)
        GECKO_DIR="$WINDIR/system32"
        GECKO_VERSION=1.3.0
        GECKO_ARCH=-x86
        GECKO_SHA1SUM=6964d1877668ab7da07a60f6dcf23fb0e261a808
        GECKO_EXT=msi
        ;;
esac
fi
 
if test ! -f "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
then
        POL_SetupWindow_download "$(eval_gettext 'Downloading Gecko ...')" "$TITLE" "http://downloads.sourceforge.net/wine/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
        mv wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.$GECKO_EXT"
fi
 
# Extract files
if [ "$GECKO_EXT" == "cab" ]; then
        mkdir -p "$GECKO_DIR/gecko/$GECKO_VERSION"
        cd "$GECKO_DIR/gecko/$GECKO_VERSION"
        cabextract "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.cab"
        cd "$olddir"
else
        POL_Wine msiexec /i "$POL_USER_ROOT/ressources/wine_gecko-$GECKO_VERSION$GECKO_ARCH.msi"
        cd "$olddir"
fi
 
 
cat > "$POL_USER_ROOT/tmp/geckopath.reg" <<_EOF_
REGEDIT4
 
[HKEY_LOCAL_MACHINE\\Software\\Wine\\MSHTML\\$GECKO_VERSION]
_EOF_
 
printf '"GeckoPath"="' >>"$POL_USER_ROOT/tmp/geckopath.reg"
case $GECKO_VERSION in
0.*)
        printf 'c:\\windows\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' |
        sed "s/\\\\/\\\\\\\\/g" >> "$POL_USER_ROOT/tmp/geckopath.reg"
        ;;
esac
# x86 gecko path for wine64
if [ -e "$WINDIR/syswow64" ]; then
case $GECKO_VERSION in
1.*)
        printf 'c:\\windows\\syswow64\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' |
        sed "s/\\\\/\\\\\\\\/g" >> "$POL_USER_ROOT/tmp/geckopath.reg"
        ;;
esac
else
case $GECKO_VERSION in
1.*)
        printf 'c:\\windows\\system32\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' |
        sed "s/\\\\/\\\\\\\\/g" >> "$POL_USER_ROOT/tmp/geckopath.reg"
        ;;
esac
fi
 
# Set installation path
POL_Wine regedit "$POL_USER_ROOT/tmp/geckopath.reg"
     
# Register the dll, since it was disabled before
POL_Wine regsvr32 mshtml
fi

Replies