[playonlinux] 44/230: New upstream version 3.6

Bertrand Marc bmarc at moszumanska.debian.org
Sun Jul 9 17:41:35 UTC 2017


This is an automated email from the git hooks/post-receive script.

bmarc pushed a commit to branch master
in repository playonlinux.

commit c82fc102dfff37e0125eb8ec96f294aaccdc118a
Author: Bertrand Marc <bmarc at debian.org>
Date:   Sun Jul 9 18:53:15 2017 +0200

    New upstream version 3.6
---
 CHANGELOG                                       |    4 +
 LICENCE                                         |    0
 bash/options/infos                              |   38 -
 bash/options/lng_choose                         |   85 -
 bash/options/repository                         |   71 -
 bash/options/tests                              |   52 -
 bash/{options => }/panel                        |    0
 bash/{options => }/system_info                  |    0
 bash/uninstall                                  |    4 +-
 etc/24-0.gif                                    |  Bin
 etc/PlayOnLinux.desktop                         |    0
 etc/PlayOnLinux.directory                       |    0
 etc/install/applications-accessories.png        |  Bin
 etc/install/applications-development.png        |  Bin
 etc/install/applications-games.png              |  Bin
 etc/install/applications-graphics.png           |  Bin
 etc/install/applications-internet.png           |  Bin
 etc/install/applications-multimedia.png         |  Bin
 etc/install/applications-office.png             |  Bin
 etc/install/applications-other.png              |  Bin
 etc/install/applications-system.png             |  Bin
 etc/install/edu.png                             |  Bin
 etc/install/founder.png                         |  Bin
 etc/install/h-star.png                          |  Bin
 etc/install/preferences-desktop-peripherals.png |  Bin
 etc/install/preferences-desktop.png             |  Bin
 etc/install/preferences-system.png              |  Bin
 etc/install/spacer.png                          |  Bin
 etc/install/star.png                            |  Bin
 etc/install/wine-packages.png                   |  Bin
 etc/install/wine-warning.png                    |  Bin
 etc/install/wine.png                            |  Bin
 etc/menu/cdrom.png                              |  Bin
 etc/menu/directx.png                            |  Bin
 etc/menu/infos.png                              |  Bin
 etc/menu/lang.png                               |  Bin
 etc/menu/options.png                            |  Bin
 etc/menu/panel.png                              |  Bin
 etc/menu/polshell.png                           |  Bin
 etc/menu/regedit.png                            |  Bin
 etc/menu/repository.png                         |  Bin
 etc/menu/run.png                                |  Bin
 etc/menu/test.png                               |  Bin
 etc/menu/wine.png                               |  Bin
 etc/menu/winecfg.png                            |  Bin
 etc/menu/wineprefix.png                         |  Bin
 etc/menu/wineserver.png                         |  Bin
 etc/modele.png                                  |  Bin
 etc/onglet/application-x-executable.png         |  Bin
 etc/onglet/applications-system.png              |  Bin
 etc/onglet/input-gaming.png                     |  Bin
 etc/onglet/internet-group-chat.png              |  Bin
 etc/onglet/internet-web-browser.png             |  Bin
 etc/onglet/package-x-generic.png                |  Bin
 etc/onglet/preferences-desktop-locale.png       |  Bin
 etc/onglet/preferences-desktop-theme.png        |  Bin
 etc/onglet/system-users.png                     |  Bin
 etc/onglet/user-desktop.png                     |  Bin
 etc/onglet/wine.png                             |  Bin
 etc/photo                                       |  Bin
 etc/playonlinux-Programmes.menu                 |    0
 etc/playonlinux.png                             |  Bin
 etc/playonlinux16.png                           |  Bin
 etc/playonlinux22.png                           |  Bin
 etc/playonlinux32.png                           |  Bin
 etc/pol_bash                                    |    0
 etc/pol_min.png                                 |  Bin
 etc/setups/autorun/left.jpg                     |  Bin
 etc/setups/autorun/top.png                      |  Bin
 etc/setups/default/left.jpg                     |  Bin
 etc/setups/default/top.png                      |  Bin
 etc/setups/delete/left.jpg                      |  Bin
 etc/setups/delete/top.png                       |  Bin
 etc/setups/exec/left.jpg                        |  Bin
 etc/setups/exec/top.png                         |  Bin
 etc/setups/fonts/left.jpg                       |  Bin
 etc/setups/fonts/top.png                        |  Bin
 etc/setups/update/top.png                       |  Bin
 etc/setups/wineserver/left.jpg                  |  Bin
 etc/setups/wineserver/top.png                   |  Bin
 etc/splash.png                                  |  Bin
 etc/star.png                                    |  Bin
 lang/locale/de/LC_MESSAGES/pol.mo               |  Bin
 lang/locale/es/LC_MESSAGES/pol.mo               |  Bin
 lang/locale/fr/LC_MESSAGES/pol.mo               |  Bin
 lang/locale/he/LC_MESSAGES/pol.mo               |  Bin
 lang/locale/hu/LC_MESSAGES/pol.mo               |  Bin
 lang/locale/it/LC_MESSAGES/pol.mo               |  Bin
 lang/locale/ja/LC_MESSAGES/pol.mo               |  Bin
 lang/locale/nl/LC_MESSAGES/pol.mo               |  Bin
 lang/locale/pl/LC_MESSAGES/pol.mo               |  Bin
 lang/locale/ru/LC_MESSAGES/pol.mo               |  Bin
 lang/locale/sk/LC_MESSAGES/pol.mo               |  Bin
 lang/locale/sv/LC_MESSAGES/pol.mo               |  Bin
 lang/locale/ua/LC_MESSAGES/pol.mo               |  Bin
 lang/old/de_DE.UTF-8                            |    0
 lang/old/en_EN.UTF-8                            |    0
 lang/old/es_ES.UTF-8                            |    0
 lang/old/fr_FR.UTF-8                            |    0
 lang/old/he_HE.UTF-8                            |    0
 lang/old/hu_HU.UTF-8                            |    0
 lang/old/it_IT.UTF-8                            |    0
 lang/old/ja_JP.UTF-8                            |    0
 lang/old/nl_NL.UTF-8                            |    0
 lang/old/pl_PL.UTF-8                            |    0
 lang/old/ru_RU.UTF-8                            |    0
 lang/old/sk_SK.UTF-8                            |    0
 lang/old/sv_SE.UTF-8                            |    0
 lang/old/ua_UA.UTF-8                            |    0
 lang/po/de.po                                   |    0
 lang/po/es.po                                   |    0
 lang/po/fr.po                                   |    0
 lang/po/he.po                                   |    0
 lang/po/hu.po                                   |    0
 lang/po/it.po                                   |    0
 lang/po/ja.po                                   |    0
 lang/po/nl.po                                   |    0
 lang/po/pl.po                                   |    0
 lang/po/ru.po                                   |    0
 lang/po/sk.po                                   |    0
 lang/po/sv.po                                   |    0
 lang/po/ua.po                                   |    0
 lib/{games => applications}                     |    2 +
 lib/{games => applications~}                    |    0
 lib/check_depend                                |    0
 lib/interface                                   |    0
 lib/interface_v3                                |    0
 lib/main                                        |    0
 lib/plugins                                     |    0
 lib/sources                                     |    3 +-
 bash/options/themes => lib/sources~             |   37 +-
 lib/tricks                                      | 1959 +++++++++++++++++++++++
 lib/tricks~                                     | 1959 +++++++++++++++++++++++
 lib/variables                                   |    2 +-
 lib/{variables => variables~}                   |    0
 lib/wine                                        |    1 +
 lib/{wine => wine~}                             |    0
 python/lib/Variables.py                         |    3 +-
 python/lib/Variables.pyc                        |  Bin 0 -> 563 bytes
 python/lib/{Variables.py => Variables.py~}      |    3 +-
 python/lib/__init__.py                          |    0
 python/lib/__init__.pyc                         |  Bin 0 -> 185 bytes
 python/lib/irc.pyold                            |    0
 python/lib/lng.py                               |    0
 python/lib/lng.pyc                              |  Bin 0 -> 1418 bytes
 python/mainwindow.py                            |    2 +-
 python/{mainwindow.py => mainwindow.py~}        |    0
 python/options.py                               |  105 +-
 python/{options.py => options.py~}              |  101 +-
 python/tools/get_wineversions.py                |   62 -
 themes/tango/desktop.png                        |  Bin
 themes/tango/divers.png                         |  Bin
 themes/tango/download.png                       |  Bin
 themes/tango/error.png                          |  Bin
 themes/tango/exec_wine.png                      |  Bin
 themes/tango/fonts.png                          |  Bin
 themes/tango/info.png                           |  Bin
 themes/tango/ok.png                             |  Bin
 themes/tango/presentation.png                   |  Bin
 themes/tango/question.png                       |  Bin
 themes/tango/tux.png                            |  Bin
 themes/tango/update.png                         |  Bin
 themes/tango/wait.png                           |  Bin
 themes/tango/warning.png                        |  Bin
 themes/tango/wine.png                           |  Bin
 themes/tango/wizard.png                         |  Bin
 166 files changed, 4076 insertions(+), 417 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
old mode 100644
new mode 100755
index 779db9b..1fc355a
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,7 @@
+-> 3.6
+- Various bug fixed
+- Winetricks integration
+
 -> 3.5
 - Icon changed
 - pol.mulx.net becomes mulx.playonlinux.com
diff --git a/LICENCE b/LICENCE
old mode 100644
new mode 100755
diff --git a/bash/options/infos b/bash/options/infos
deleted file mode 100755
index f9f86a5..0000000
--- a/bash/options/infos
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/bin/bash
-
-# Copyright (C) 2007 Pâris Quentin
-#  		     Cassarin-Grand Arthur
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 
-
-if [ "$PLAYONLINUX" = "" ]
-then
-	exit 0
-fi
-
-source "$PLAYONLINUX/lib/sources" 
-
-get_info_game () 
-{
-	JEUX=$(menu "$LNG_MAIN_INSTALL_GAME" "$(cat $REPERTOIRE/configurations/listes/search)" "$LNG_WINEBOOSTER_GAME_CHOOSE" 0 0 1 "question.png" "--cut-line");
-	if [ "$JEUX" = "" ]
-	then
-		exit 0
-	fi
-	JEUX=${JEUX//" "/"%20"}
-	wget -q $SITE/infos_v2.php?id=$JEUX -O $REPERTOIRE/tmp/info
-	afficher_fichier $REPERTOIRE/tmp/info
-}
-get_info_game
diff --git a/bash/options/lng_choose b/bash/options/lng_choose
deleted file mode 100755
index c6bd66d..0000000
--- a/bash/options/lng_choose
+++ /dev/null
@@ -1,85 +0,0 @@
-#!/bin/bash
-
-# Copyright (C) 2007 Pâris Quentin
-#  		     Cassarin-Grand Arthur
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 
-
-if [ "$PLAYONLINUX" = "" ]
-then
-	exit 0
-fi
-
-source "$PLAYONLINUX/lib/sources" 
-
-list_lang()
-{
-	cd "$PLAYONLINUX/lang/"
-	for file in $(ls)
-	do
-		LNG_NAME=$(cat $file | grep LNGFILENAME)
-		DELETE1="\""
-		DELETE2="export LNGFILENAME="
-		LNG_NAME=${LNG_NAME//$DELETE1/""}
-		LNG_NAME=${LNG_NAME//$DELETE2/""}
-		echo $LNG_NAME
-	done
-}
-determine_lang ()
-{
-	cd "$PLAYONLINUX/lang/"
-	GOOD_FILE=""
-
-	for file in $(ls)
-	do
-		LNG_NAME=$(cat $file | grep "$1")
-		if [ ! "$LNG_NAME" = "" ]
-		then
-			GOOD_FILE=$file
-		fi
-		#echo $LNG_NAME
-	done
-	echo $GOOD_FILE
-}
-set_lng ()
-{
-	if [ -e "$PLAYONLINUX/lang/$LANG" ]
-	then
-		reponse=$(question "$LNG_MAIN_LANGUAGE_DETECTED")
-		if [ ! "$reponse" = "0" ]
-		then
-			choose_lng
-		else
-			echo "$LANG" > $REPERTOIRE/configurations/options/pol_lang
-		fi
-	else
-		message "$LNG_MAIN_LANGUAGE_NOT_DETECTED"
-		choose_lng
-	fi
-}
-choose_lng ()
-{
-	cd "$PLAYONLINUX/lang/"
-	langue_select=$(menu "$LNG_MAIN_CHOOSELANGUAGE" "$(list_lang)" "$LNG_MAIN_CHOOSELANGUAGE" 0 0 1 "" "--cut-line")
-	if [ ! "$langue_select" = "" ]
-	then
-		determine_lang "$langue_select" > $REPERTOIRE/configurations/options/pol_lang
-		#echo "$langue_select" #> $REPERTOIRE/configurations/options/pol_lang
-		#export POL_LANG="$langue_select"
-	fi
-}
-set_lng
-message "$LNG_NEXT_RUN"
-
diff --git a/bash/options/repository b/bash/options/repository
deleted file mode 100755
index 568066d..0000000
--- a/bash/options/repository
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/bin/bash
-
-# Copyright (C) 2007 Pâris Quentin
-#  		     Cassarin-Grand Arthur
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 
-
-if [ "$PLAYONLINUX" = "" ]
-then
-	exit 0
-fi
-
-source "$PLAYONLINUX/lib/sources" 
-
-WorkOnLinux_repos ()
-{
-	if [ -e "$HOME/.PlayOnLinux/configurations/options/work" ]
-	then
-		reponse=$(question "$LNG_WORK_1" "$LNG_OPTIONS_REPOSITORY" 2 2 0)
-		if [ "$reponse" = "0" ]
-		then
-			rm $HOME/.PlayOnLinux/configurations/options/work -f
-			bash $PLAYONLINUX/bash/check_maj
-		fi
-	else
-		reponse=$(question "$LNG_WORK_2" "$LNG_OPTIONS_REPOSITORY" 2 2 0)
-		if [ "$reponse" = "0" ]
-		then
-			touch $HOME/.PlayOnLinux/configurations/options/work
-			bash $PLAYONLINUX/bash/check_maj
-		fi
-	fi
-}
-Community_repos ()
-{
-	if [ -e "$HOME/.PlayOnLinux/configurations/options/community" ]
-	then
-		reponse=$(question "$LNG_COMMUNITY_1" "$LNG_OPTIONS_REPOSITORY" 2 2 0)
-		if [ "$reponse" = "0" ]
-		then
-			rm $HOME/.PlayOnLinux/configurations/options/community -f
-			bash $PLAYONLINUX/bash/check_maj
-		fi
-	else
-		reponse=$(question "$LNG_COMMUNITY_2" "$LNG_OPTIONS_REPOSITORY" 2 2 0)
-		if [ "$reponse" = "0" ]
-		then
-			touch $HOME/.PlayOnLinux/configurations/options/community
-			bash $PLAYONLINUX/bash/check_maj
-		fi
-	fi
-	maj_check
-}
-repos=$(menu "$LNG_OPTIONS_REPOS_STEP1" "Community WorkOnLinux" "$LNG_OPTIONS_REPOSITORY" 1 2 1)
-if [ "$repos" != "" ]
-then
-	${repos}_repos
-fi
-
diff --git a/bash/options/tests b/bash/options/tests
deleted file mode 100755
index 1a645b1..0000000
--- a/bash/options/tests
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/bin/bash
-
-# Copyright (C) 2007 Pâris Quentin
-#  		     Cassarin-Grand Arthur
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 
-
-if [ "$PLAYONLINUX" = "" ]
-then
-	exit 0
-fi
-
-source "$PLAYONLINUX/lib/sources" 
-
-menu_option_tests=$(menu "$LNG_CHOICE" "Full Glxgears Glxmulx Glxmulx1.2 GlxTinou" "$LNG_OPTIONS_TESTS" 0 0 1);
-if [ "$menu_option_tests" = "Glxmulx" ]
-then
-	cd $PLAYONLINUX/bin/
-	bash test_glxmulx
-fi
-if [ "$menu_option_tests" = "Glxmulx1.2" ]
-then
-	cd $PLAYONLINUX/bin/
-	bash test_glxmulx1.2
-fi		
-if [ "$menu_option_tests" = "Glxgears" ]
-then
-	cd $PLAYONLINUX/bin/
-	bash test_gears
-fi	
-if [ "$menu_option_tests" = "GlxTinou" ]
-then
-	cd $PLAYONLINUX/bin/
-	bash test_glxtinou
-fi	
-if [ "$menu_option_tests" = "Full" ]
-then
-	cd $PLAYONLINUX/bin/
-	bash test_glx_complet
-fi
diff --git a/bash/options/panel b/bash/panel
similarity index 100%
rename from bash/options/panel
rename to bash/panel
diff --git a/bash/options/system_info b/bash/system_info
similarity index 100%
rename from bash/options/system_info
rename to bash/system_info
diff --git a/bash/uninstall b/bash/uninstall
index 016aeee..61ac2bb 100755
--- a/bash/uninstall
+++ b/bash/uninstall
@@ -42,7 +42,9 @@ then
 	#then
 	rm $REPERTOIRE/configurations/installed/"$1"
 	rm $HOME/.local/share/applications/"$1".desktop
-	POL_SetupWindow_wait "$(eval_gettext 'Uninstalling...')" "$(eval_gettext 'PlayOnLinux Uninstaller')" "sleep 1"
+	POL_SetupWindow_wait_next_signal "$(eval_gettext 'Uninstalling...')" "$(eval_gettext 'PlayOnLinux Uninstaller')" 
+	sleep 1
+	POL_SetupWindow_detect_exit
 	clean_wineprefix $application_prefixe
 	POL_SetupWindow_message "$delete_var $(eval_gettext 'has been uninstalled successfully')" "$(eval_gettext 'PlayOnLinux Uninstaller')"
 else
diff --git a/etc/24-0.gif b/etc/24-0.gif
old mode 100644
new mode 100755
diff --git a/etc/PlayOnLinux.desktop b/etc/PlayOnLinux.desktop
old mode 100644
new mode 100755
diff --git a/etc/PlayOnLinux.directory b/etc/PlayOnLinux.directory
old mode 100644
new mode 100755
diff --git a/etc/install/applications-accessories.png b/etc/install/applications-accessories.png
old mode 100644
new mode 100755
diff --git a/etc/install/applications-development.png b/etc/install/applications-development.png
old mode 100644
new mode 100755
diff --git a/etc/install/applications-games.png b/etc/install/applications-games.png
old mode 100644
new mode 100755
diff --git a/etc/install/applications-graphics.png b/etc/install/applications-graphics.png
old mode 100644
new mode 100755
diff --git a/etc/install/applications-internet.png b/etc/install/applications-internet.png
old mode 100644
new mode 100755
diff --git a/etc/install/applications-multimedia.png b/etc/install/applications-multimedia.png
old mode 100644
new mode 100755
diff --git a/etc/install/applications-office.png b/etc/install/applications-office.png
old mode 100644
new mode 100755
diff --git a/etc/install/applications-other.png b/etc/install/applications-other.png
old mode 100644
new mode 100755
diff --git a/etc/install/applications-system.png b/etc/install/applications-system.png
old mode 100644
new mode 100755
diff --git a/etc/install/edu.png b/etc/install/edu.png
old mode 100644
new mode 100755
diff --git a/etc/install/founder.png b/etc/install/founder.png
old mode 100644
new mode 100755
diff --git a/etc/install/h-star.png b/etc/install/h-star.png
old mode 100644
new mode 100755
diff --git a/etc/install/preferences-desktop-peripherals.png b/etc/install/preferences-desktop-peripherals.png
old mode 100644
new mode 100755
diff --git a/etc/install/preferences-desktop.png b/etc/install/preferences-desktop.png
old mode 100644
new mode 100755
diff --git a/etc/install/preferences-system.png b/etc/install/preferences-system.png
old mode 100644
new mode 100755
diff --git a/etc/install/spacer.png b/etc/install/spacer.png
old mode 100644
new mode 100755
diff --git a/etc/install/star.png b/etc/install/star.png
old mode 100644
new mode 100755
diff --git a/etc/install/wine-packages.png b/etc/install/wine-packages.png
old mode 100644
new mode 100755
diff --git a/etc/install/wine-warning.png b/etc/install/wine-warning.png
old mode 100644
new mode 100755
diff --git a/etc/install/wine.png b/etc/install/wine.png
old mode 100644
new mode 100755
diff --git a/etc/menu/cdrom.png b/etc/menu/cdrom.png
old mode 100644
new mode 100755
diff --git a/etc/menu/directx.png b/etc/menu/directx.png
old mode 100644
new mode 100755
diff --git a/etc/menu/infos.png b/etc/menu/infos.png
old mode 100644
new mode 100755
diff --git a/etc/menu/lang.png b/etc/menu/lang.png
old mode 100644
new mode 100755
diff --git a/etc/menu/options.png b/etc/menu/options.png
old mode 100644
new mode 100755
diff --git a/etc/menu/panel.png b/etc/menu/panel.png
old mode 100644
new mode 100755
diff --git a/etc/menu/polshell.png b/etc/menu/polshell.png
old mode 100644
new mode 100755
diff --git a/etc/menu/regedit.png b/etc/menu/regedit.png
old mode 100644
new mode 100755
diff --git a/etc/menu/repository.png b/etc/menu/repository.png
old mode 100644
new mode 100755
diff --git a/etc/menu/run.png b/etc/menu/run.png
old mode 100644
new mode 100755
diff --git a/etc/menu/test.png b/etc/menu/test.png
old mode 100644
new mode 100755
diff --git a/etc/menu/wine.png b/etc/menu/wine.png
old mode 100644
new mode 100755
diff --git a/etc/menu/winecfg.png b/etc/menu/winecfg.png
old mode 100644
new mode 100755
diff --git a/etc/menu/wineprefix.png b/etc/menu/wineprefix.png
old mode 100644
new mode 100755
diff --git a/etc/menu/wineserver.png b/etc/menu/wineserver.png
old mode 100644
new mode 100755
diff --git a/etc/modele.png b/etc/modele.png
old mode 100644
new mode 100755
diff --git a/etc/onglet/application-x-executable.png b/etc/onglet/application-x-executable.png
old mode 100644
new mode 100755
diff --git a/etc/onglet/applications-system.png b/etc/onglet/applications-system.png
old mode 100644
new mode 100755
diff --git a/etc/onglet/input-gaming.png b/etc/onglet/input-gaming.png
old mode 100644
new mode 100755
diff --git a/etc/onglet/internet-group-chat.png b/etc/onglet/internet-group-chat.png
old mode 100644
new mode 100755
diff --git a/etc/onglet/internet-web-browser.png b/etc/onglet/internet-web-browser.png
old mode 100644
new mode 100755
diff --git a/etc/onglet/package-x-generic.png b/etc/onglet/package-x-generic.png
old mode 100644
new mode 100755
diff --git a/etc/onglet/preferences-desktop-locale.png b/etc/onglet/preferences-desktop-locale.png
old mode 100644
new mode 100755
diff --git a/etc/onglet/preferences-desktop-theme.png b/etc/onglet/preferences-desktop-theme.png
old mode 100644
new mode 100755
diff --git a/etc/onglet/system-users.png b/etc/onglet/system-users.png
old mode 100644
new mode 100755
diff --git a/etc/onglet/user-desktop.png b/etc/onglet/user-desktop.png
old mode 100644
new mode 100755
diff --git a/etc/onglet/wine.png b/etc/onglet/wine.png
old mode 100644
new mode 100755
diff --git a/etc/photo b/etc/photo
old mode 100644
new mode 100755
diff --git a/etc/playonlinux-Programmes.menu b/etc/playonlinux-Programmes.menu
old mode 100644
new mode 100755
diff --git a/etc/playonlinux.png b/etc/playonlinux.png
old mode 100644
new mode 100755
diff --git a/etc/playonlinux16.png b/etc/playonlinux16.png
old mode 100644
new mode 100755
diff --git a/etc/playonlinux22.png b/etc/playonlinux22.png
old mode 100644
new mode 100755
diff --git a/etc/playonlinux32.png b/etc/playonlinux32.png
old mode 100644
new mode 100755
diff --git a/etc/pol_bash b/etc/pol_bash
old mode 100644
new mode 100755
diff --git a/etc/pol_min.png b/etc/pol_min.png
old mode 100644
new mode 100755
diff --git a/etc/setups/autorun/left.jpg b/etc/setups/autorun/left.jpg
old mode 100644
new mode 100755
diff --git a/etc/setups/autorun/top.png b/etc/setups/autorun/top.png
old mode 100644
new mode 100755
diff --git a/etc/setups/default/left.jpg b/etc/setups/default/left.jpg
old mode 100644
new mode 100755
diff --git a/etc/setups/default/top.png b/etc/setups/default/top.png
old mode 100644
new mode 100755
diff --git a/etc/setups/delete/left.jpg b/etc/setups/delete/left.jpg
old mode 100644
new mode 100755
diff --git a/etc/setups/delete/top.png b/etc/setups/delete/top.png
old mode 100644
new mode 100755
diff --git a/etc/setups/exec/left.jpg b/etc/setups/exec/left.jpg
old mode 100644
new mode 100755
diff --git a/etc/setups/exec/top.png b/etc/setups/exec/top.png
old mode 100644
new mode 100755
diff --git a/etc/setups/fonts/left.jpg b/etc/setups/fonts/left.jpg
old mode 100644
new mode 100755
diff --git a/etc/setups/fonts/top.png b/etc/setups/fonts/top.png
old mode 100644
new mode 100755
diff --git a/etc/setups/update/top.png b/etc/setups/update/top.png
old mode 100644
new mode 100755
diff --git a/etc/setups/wineserver/left.jpg b/etc/setups/wineserver/left.jpg
old mode 100644
new mode 100755
diff --git a/etc/setups/wineserver/top.png b/etc/setups/wineserver/top.png
old mode 100644
new mode 100755
diff --git a/etc/splash.png b/etc/splash.png
old mode 100644
new mode 100755
diff --git a/etc/star.png b/etc/star.png
old mode 100644
new mode 100755
diff --git a/lang/locale/de/LC_MESSAGES/pol.mo b/lang/locale/de/LC_MESSAGES/pol.mo
old mode 100644
new mode 100755
diff --git a/lang/locale/es/LC_MESSAGES/pol.mo b/lang/locale/es/LC_MESSAGES/pol.mo
old mode 100644
new mode 100755
diff --git a/lang/locale/fr/LC_MESSAGES/pol.mo b/lang/locale/fr/LC_MESSAGES/pol.mo
old mode 100644
new mode 100755
diff --git a/lang/locale/he/LC_MESSAGES/pol.mo b/lang/locale/he/LC_MESSAGES/pol.mo
old mode 100644
new mode 100755
diff --git a/lang/locale/hu/LC_MESSAGES/pol.mo b/lang/locale/hu/LC_MESSAGES/pol.mo
old mode 100644
new mode 100755
diff --git a/lang/locale/it/LC_MESSAGES/pol.mo b/lang/locale/it/LC_MESSAGES/pol.mo
old mode 100644
new mode 100755
diff --git a/lang/locale/ja/LC_MESSAGES/pol.mo b/lang/locale/ja/LC_MESSAGES/pol.mo
old mode 100644
new mode 100755
diff --git a/lang/locale/nl/LC_MESSAGES/pol.mo b/lang/locale/nl/LC_MESSAGES/pol.mo
old mode 100644
new mode 100755
diff --git a/lang/locale/pl/LC_MESSAGES/pol.mo b/lang/locale/pl/LC_MESSAGES/pol.mo
old mode 100644
new mode 100755
diff --git a/lang/locale/ru/LC_MESSAGES/pol.mo b/lang/locale/ru/LC_MESSAGES/pol.mo
old mode 100644
new mode 100755
diff --git a/lang/locale/sk/LC_MESSAGES/pol.mo b/lang/locale/sk/LC_MESSAGES/pol.mo
old mode 100644
new mode 100755
diff --git a/lang/locale/sv/LC_MESSAGES/pol.mo b/lang/locale/sv/LC_MESSAGES/pol.mo
old mode 100644
new mode 100755
diff --git a/lang/locale/ua/LC_MESSAGES/pol.mo b/lang/locale/ua/LC_MESSAGES/pol.mo
old mode 100644
new mode 100755
diff --git a/lang/old/de_DE.UTF-8 b/lang/old/de_DE.UTF-8
old mode 100644
new mode 100755
diff --git a/lang/old/en_EN.UTF-8 b/lang/old/en_EN.UTF-8
old mode 100644
new mode 100755
diff --git a/lang/old/es_ES.UTF-8 b/lang/old/es_ES.UTF-8
old mode 100644
new mode 100755
diff --git a/lang/old/fr_FR.UTF-8 b/lang/old/fr_FR.UTF-8
old mode 100644
new mode 100755
diff --git a/lang/old/he_HE.UTF-8 b/lang/old/he_HE.UTF-8
old mode 100644
new mode 100755
diff --git a/lang/old/hu_HU.UTF-8 b/lang/old/hu_HU.UTF-8
old mode 100644
new mode 100755
diff --git a/lang/old/it_IT.UTF-8 b/lang/old/it_IT.UTF-8
old mode 100644
new mode 100755
diff --git a/lang/old/ja_JP.UTF-8 b/lang/old/ja_JP.UTF-8
old mode 100644
new mode 100755
diff --git a/lang/old/nl_NL.UTF-8 b/lang/old/nl_NL.UTF-8
old mode 100644
new mode 100755
diff --git a/lang/old/pl_PL.UTF-8 b/lang/old/pl_PL.UTF-8
old mode 100644
new mode 100755
diff --git a/lang/old/ru_RU.UTF-8 b/lang/old/ru_RU.UTF-8
old mode 100644
new mode 100755
diff --git a/lang/old/sk_SK.UTF-8 b/lang/old/sk_SK.UTF-8
old mode 100644
new mode 100755
diff --git a/lang/old/sv_SE.UTF-8 b/lang/old/sv_SE.UTF-8
old mode 100644
new mode 100755
diff --git a/lang/old/ua_UA.UTF-8 b/lang/old/ua_UA.UTF-8
old mode 100644
new mode 100755
diff --git a/lang/po/de.po b/lang/po/de.po
old mode 100644
new mode 100755
diff --git a/lang/po/es.po b/lang/po/es.po
old mode 100644
new mode 100755
diff --git a/lang/po/fr.po b/lang/po/fr.po
old mode 100644
new mode 100755
diff --git a/lang/po/he.po b/lang/po/he.po
old mode 100644
new mode 100755
diff --git a/lang/po/hu.po b/lang/po/hu.po
old mode 100644
new mode 100755
diff --git a/lang/po/it.po b/lang/po/it.po
old mode 100644
new mode 100755
diff --git a/lang/po/ja.po b/lang/po/ja.po
old mode 100644
new mode 100755
diff --git a/lang/po/nl.po b/lang/po/nl.po
old mode 100644
new mode 100755
diff --git a/lang/po/pl.po b/lang/po/pl.po
old mode 100644
new mode 100755
diff --git a/lang/po/ru.po b/lang/po/ru.po
old mode 100644
new mode 100755
diff --git a/lang/po/sk.po b/lang/po/sk.po
old mode 100644
new mode 100755
diff --git a/lang/po/sv.po b/lang/po/sv.po
old mode 100644
new mode 100755
diff --git a/lang/po/ua.po b/lang/po/ua.po
old mode 100644
new mode 100755
diff --git a/lib/games b/lib/applications
old mode 100644
new mode 100755
similarity index 97%
copy from lib/games
copy to lib/applications
index b1834b0..b9c764c
--- a/lib/games
+++ b/lib/applications
@@ -195,10 +195,12 @@ clean_wineprefix()
 		LNG_PREFIX=$(eval_gettext "Do you want to delete the prefix : \$prefix")
 		POL_SetupWindow_question "$LNG_PREFIX" "Wine"
 		reponse=$APP_ANSWER
+		POL_SetupWindow_wait_next_signal "$(eval_gettext 'Uninstalling...')" "$(eval_gettext 'PlayOnLinux Uninstaller')" 
 		if [ "$reponse" = "TRUE" ]
 		then
 			rm $1 -r
 		fi
+		POL_SetupWindow_detect_exit
 	   fi
    fi
 }
diff --git a/lib/games b/lib/applications~
similarity index 100%
rename from lib/games
rename to lib/applications~
diff --git a/lib/check_depend b/lib/check_depend
old mode 100644
new mode 100755
diff --git a/lib/interface b/lib/interface
old mode 100644
new mode 100755
diff --git a/lib/interface_v3 b/lib/interface_v3
old mode 100644
new mode 100755
diff --git a/lib/main b/lib/main
old mode 100644
new mode 100755
diff --git a/lib/plugins b/lib/plugins
old mode 100644
new mode 100755
diff --git a/lib/sources b/lib/sources
old mode 100644
new mode 100755
index d007a84..b6aa0b1
--- a/lib/sources
+++ b/lib/sources
@@ -19,12 +19,13 @@ then
 	INCLUDED="1"
 	source "$PLAYONLINUX/lib/variables"
 	source "$PLAYONLINUX/lib/check_depend"
-	source "$PLAYONLINUX/lib/games"
+	source "$PLAYONLINUX/lib/applications"
 	source "$PLAYONLINUX/lib/main"
 	source "$PLAYONLINUX/lib/interface"
 	source "$PLAYONLINUX/lib/interface_v3"
 	source "$PLAYONLINUX/lib/wine"
 	source "$PLAYONLINUX/lib/plugins"
+	source "$PLAYONLINUX/lib/tricks"
 
 	cfg_check 
 	construire_repertoire_personnel
diff --git a/bash/options/themes b/lib/sources~
old mode 100755
new mode 100644
similarity index 61%
rename from bash/options/themes
rename to lib/sources~
index a1ecfb0..6e45762
--- a/bash/options/themes
+++ b/lib/sources~
@@ -1,7 +1,5 @@
 #!/bin/bash
-
 # Copyright (C) 2007 Pâris Quentin
-#  		     Cassarin-Grand Arthur
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -16,23 +14,24 @@
 # You should have received a copy of the GNU General Public License along
 # with this program; if not, write to the Free Software Foundation, Inc.,
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 
-
-if [ "$PLAYONLINUX" = "" ]
+if [ ! "$INCLUDED" ]
 then
-	exit 0
-fi
-
-source "$PLAYONLINUX/lib/sources" 
-
-choose_lng ()
-{
-	cd "$PLAYONLINUX/themes/"
-	langue_select=$(menu "$LNG_MAIN_CHOOSETHEME" "$(ls -1)" "$LNG_MAIN_CHOOSETHEME" 0 0 1 "" "--cut-line")
-	if [ ! "$langue_select" = "" ]
+	INCLUDED="1"
+	source "$PLAYONLINUX/lib/variables"
+	source "$PLAYONLINUX/lib/check_depend"
+	source "$PLAYONLINUX/lib/games"
+	source "$PLAYONLINUX/lib/main"
+	source "$PLAYONLINUX/lib/interface"
+	source "$PLAYONLINUX/lib/interface_v3"
+	source "$PLAYONLINUX/lib/wine"
+	source "$PLAYONLINUX/lib/plugins"
+	source "$PLAYONLINUX/lib/tricks"
+
+	cfg_check 
+	construire_repertoire_personnel
+	if [ ! -d "$HOME/.PlayOnLinux/configurations/listes" ]
 	then
-		echo "$langue_select" > $REPERTOIRE/configurations/options/theme
+		maj_check --first
 	fi
-}
-choose_lng
-message "$LNG_NEXT_RUN"
-
+	fonts_install
+fi
diff --git a/lib/tricks b/lib/tricks
new file mode 100644
index 0000000..1aa1533
--- /dev/null
+++ b/lib/tricks
@@ -0,0 +1,1959 @@
+#!/bin/bash
+# Quick and dirty script to download and install various 
+# redistributable runtime libraries
+#
+# Current maintainers: Austin English, Dan Kegel
+# Copyright 2007, 2008, 2009 Google (Dan Kegel, dank at kegel.com)
+# Copyright 2008, 2009 Austin English (austinenglish at gmail.com)
+# Thanks to Detlef Riekenberg for lots of updates
+# Thanks to Saulius Krasuckas for corrections and suggestions
+# Thanks to Erik Inge Bolsø for several patches
+# Please report problems at http://code.google.com/p/winezeug/issues
+# See also http://wiki.winehq.org/winetricks
+#
+# Note to contributors: please avoid gnu extensions in this shell script,
+# as it has to run on MacOSX and Solaris, too.  A good book on the topic is
+# "Portable Shell Programming" by Bruce Blinn
+
+# Prevent running with sudo/root. This would create a .winetrickscache as root 
+# in the user's home directory!
+
+# Edited by Quentin Pâris for PlayOnLinux
+
+die() {
+  echo "$@"
+
+  POL_SetupWindow_message "Winetricks Error : $@" "Error"
+  POL_SetupWindow_Close
+
+  exit 1
+}
+
+#----------------------------------------------------------------
+
+usage() {
+    set +x
+    echo "Usage: $0 [options] package [package] ..."
+    echo "This script can help you prepare your system for Windows applications"
+    echo "that mistakenly assume all users' systems have all the needed"
+    echo "redistributable runtime libraries or fonts."
+    echo "Some options require the Linux 'cabextract' program."
+    echo ""
+    echo "Options:"
+    echo " -q         quiet.  You must have already agreed to the EULAs."
+    echo " -v         verbose"
+    echo " -V         display Version"
+    echo "Packages:"    
+    echo " art2kmin      MS Access 2000 runtime.  Requires Access 2000 Dev license!"
+    echo " colorprofile  Standard RGB color profile"
+    echo " comctl32      MS common controls 5.80"
+    echo " comctl32.ocx  MS comctl32.ocx and mscomctl.ocx, comctl32 wrappers for VB6"
+    echo " controlpad    MS ActiveX Control Pad"
+    echo " corefonts     MS Arial, Courier, Times fonts"
+    echo " d3dx9         MS d3dx9_??.dll (from DirectX 9 user redistributable)"
+    echo " dcom98        MS DCOM (ole32, oleaut32); requires Win98 license!"
+    echo " dirac0.8      the obsolete Dirac 0.8 directshow filter"
+    echo " directx9      MS DirectX 9 user redistributable (not recommended! use d3dx9 instead)"
+    echo " divx          divx video codec"
+    echo " dotnet11      MS .NET 1.1 (requires Windows license)"
+    echo " dotnet20      MS .NET 2.0 (requires Windows license)"
+    echo " ffdshow       ffdshow video codecs"
+    echo " flash         Adobe Flash Player ActiveX and firefox plugins"
+    echo " fm20          MS Forms 2.0 Object Library"
+    echo " fontfix       Fix bad fonts which cause crash in some apps (e.g. .net)."
+    echo " fontsmooth-disable    Disables font smoothing"
+    echo " fontsmooth-gray       Enables grayscale font smoothing"
+    echo " fontsmooth-rgb        Enables subpixel smoothing for RGB LCDs"
+    echo " fontsmooth-bgr        Enables subpixel smoothing for BGR LCDs"
+    echo " gdiplus       MS gdiplus.dll (from powerpoint viewer)"
+    echo " gecko         The HTML rendering Engine (Mozilla)"
+    echo " gecko-dbg     The HTML rendering Engine (Mozilla), with debugging symbols"
+    echo " hosts         Adds empty C:\windows\system32\drivers\etc\{hosts,services} files"
+    echo " icodecs       Intel Codecs (Indeo)"
+    echo " jet40         MS Jet 4.0 Service Pack 8"
+    echo " liberation    Red Hat Liberation fonts (Sans, Serif, Mono)"
+    echo " mdac25        MS MDAC 2.5: Microsoft ODBC drivers, etc."
+    echo " mdac27        MS MDAC 2.7"
+    echo " mdac28        MS MDAC 2.8"
+    echo " mfc40         MS mfc40 (Microsoft Foundation Classes from Visual C++ 4)"
+    echo " mfc42         MS mfc42 (same as vcrun6 below)"
+    echo " mono20        mono-2.0.1"
+    echo " mono22        mono-2.2"
+    echo " msi2          MS Installer 2.0"
+    echo " mshflxgd      MS Hierarchical Flex Grid Control"
+    echo " msls31        MS Line Services 3.1 (needed by native riched?)"
+    echo " msmask        MS Masked Edit Control"
+    echo " msscript      MS Script Control"
+    echo " msxml3        MS XML version 3"
+    echo " msxml4        MS XML version 4"
+    echo " msxml6        MS XML version 6" 
+    echo " ogg           ogg filters/codecs: flac, theora, speex, vorbis, schroedinger"
+    echo " ole2          MS 16 bit OLE"
+    echo " pdh           MS pdh.dll (Performance Data Helper)"
+    echo " quicktime72   Apple Quicktime 7.2"
+    echo " riched20      MS riched20 and riched32"
+    echo " riched30      MS riched30"
+    echo " tahoma        MS Tahoma font (not part of corefonts)"
+    echo " urlmon        MS urlmon.dll"
+    echo " vb2run        MS Visual Basic 2 runtime"
+    echo " vb3run        MS Visual Basic 3 runtime"
+    echo " vb4run        MS Visual Basic 4 runtime"
+    echo " vb5run        MS Visual Basic 5 runtime"
+    echo " vb6run        MS Visual Basic 6 runtime"
+    echo " vcrun6        MS Visual C++ 6 sp4 libraries (mfc42, msvcp60, msvcrt)"
+    echo " vcrun2003     MS Visual C++ 2003 libraries (mfc71,msvcp71,msvcr71)"
+    echo " vcrun2005     MS Visual C++ 2005 libraries (mfc80,msvcp80,msvcr80)"
+    echo " vcrun2005sp1  MS Visual C++ 2005 sp1 libraries"
+    echo " vcrun2008     MS Visual C++ 2008 libraries (mfc90,msvcp90,msvcr90)"
+    echo " vcrun2008sp1  MS Visual C++ 2008 sp1 libraries"
+    echo " vjrun20       MS Visual J# 2.0 libraries (requires dotnet20)"
+    echo " wininet       MS wininet.dll (requires Windows license)"
+    echo " wme9          MS Windows Media Encoder 9 (requires Windows license)"
+    echo " wmp9          MS Windows Media Player 9 (requires Windows license)"
+    echo " wmp10         MS Windows Media Player 10 (requires Windows license)"
+    echo " wsh56         MS Windows Scripting Host 5.6"
+    echo " wsh56js       MS Windows scripting 5.6, jscript only, no cscript"
+    echo " wsh56vb       MS Windows scripting 5.6, vbscript only, no cscript"
+    echo " xact          MS XACT Engine (x3daudio?_?.dll, xactengine?_?.dll)"
+    echo " xvid          xvid video codec"
+    echo "Apps:"
+    echo " autohotkey    Autohotkey (open source gui scripting language)"
+    echo " firefox3      Firefox Version 3"
+    echo " ie6           Microsoft Internet Explorer 6.0"
+    echo " kde           KDE for Windows installer"
+    echo " mpc           Media Player Classic"
+    echo " vlc           VLC media player"
+    echo "Pseudopackages:"
+    echo " allfonts      All listed fonts (corefonts, tahoma, liberation)"
+    echo " allcodecs     All listed codecs (xvid, ffdshow, icodecs)"
+    echo " fakeie6       Set registry to claim IE6sp1 is installed"
+    echo " native_mdac   Override odbc32 and odbccp32"
+    echo " native_oleaut32 Override oleaut32"
+    echo " nt40          Set windows version to nt40"
+    echo " win98         Set windows version to Windows 98"
+    echo " win2k         Set windows version to Windows 2000"
+    echo " winxp         Set windows version to Windows XP"
+    echo " vista         Set windows version to Windows Vista"
+    echo " winver=       Set windows version to default (winxp)"
+    echo " volnum        Rename drive_c to harddiskvolume0 (needed by some installers)"
+}
+
+#----------------------------------------------------------------
+# Trivial GUI just to handle case where user tries running without commandline
+
+# Checks for known desktop environments
+# set variable DE to the desktop environments name, lowercase
+
+detectDE() {
+    if [ x"$KDE_FULL_SESSION" = x"true" ]
+    then 
+        DE=kde
+    elif [ x"$GNOME_DESKTOP_SESSION_ID" != x"" ]
+    then
+        DE=gnome
+    elif [ x"$DISPLAY" != x"" ]
+    then
+        DE=x
+    else 
+        DE=none
+    fi
+}
+
+kde_showmenu() {
+    title="$1"
+    shift
+    text="$1"
+    shift
+    col1name="$1"
+    shift
+    col2name="$1"
+    shift
+    while test $# -gt 0
+    do
+        args="$args $1 $1 off"
+        shift
+    done
+    kdialog --title "$title" --separate-output --checklist "$text" $args
+}
+
+x_showmenu() {
+    title="$1"
+    shift
+    text="$1"
+    shift
+    col1name="$1"
+    shift
+    col2name="$1"
+    shift
+    if test $# -gt 0
+    then
+        args="$1"
+        shift
+    fi
+    while test $# -gt 0
+    do
+        args="$args,$1"
+        shift
+    done
+    (echo "$title"; echo ""; echo "$text") | \
+    xmessage -print -file - -buttons "Cancel,$args" | sed 's/Cancel//'
+}
+
+showmenu()
+{
+    detectDE
+    case $DE in
+    kde) kde_showmenu "$@" ;;
+    gnome|x) x_showmenu "$@" ;;
+    none) usage 1>&2; exit 1;;
+    esac
+}
+
+
+#----------------------------------------------------------------
+
+#-----  Helpers  ------------------------------------------------
+
+# Execute with error checking
+try() {
+    # "VAR=foo try cmd" fails to put VAR in the environment
+    # with some versions of bash if try is a shell function?!
+    # Adding this explicit export works around it.
+    export WINEDLLOVERRIDES
+    POL_SetupWindow_wait_next_signal "Installing $PACKAGE ..." "$POL_TITLE"
+    "$@"
+    status=$?
+    POL_SetupWindow_wait_next_signal "Installing $PACKAGE ...  " "$POL_TITLE"
+    sleep 1
+    POL_SetupWindow_detect_exit
+    if test $status -ne 0
+    then        
+	die "Note: command '$@' returned status $status.  Aborting."
+    fi
+}
+
+# verify an sha1sum
+verify_sha1sum() {
+    wantsum=$1
+    file=$2
+   
+    gotsum=`$SHA1SUM < $file | sed 's/ .*//'`
+    if [ "$gotsum"x != "$wantsum"x ]
+    then
+       POL_SetupWindow_message "Warning : sha1sum mismatch!" "$POL_TITLE"
+    fi
+}
+
+# Download a file
+# Usage: package url [sha1sum [filename]]
+# Caches downloads in winetrickscache/$package
+download() {
+    if [ "$4"x != ""x ]
+    then
+        file="$4"
+    else
+        file=`basename "$2"`
+    fi
+    cache="$WINETRICKS_CACHE/$1"
+    mkdir -p "$cache"
+    if test ! -f "$cache/$file"
+    then
+        cd "$cache"
+        # Mac folks tend to have curl rather than wget
+        # On Mac, 'which' doesn't return good exit status
+        # Need to jam in --header "Accept-Encoding: gzip,deflate" else
+        # redhat.com decompresses liberation-fonts.tar.gz!
+	#grep -q "^http://" <<< $2
+	#if [ "$?" == "0" ] 
+	#then
+	#	POL_SetupWindow_download "Downloading $PACKAGE ..." "$POL_TITLE" "$2"
+	#else
+		POL_SetupWindow_wait_next_signal "Downloading $PACKAGE ..." "$POL_TITLE"
+	     	wget -nd -c --read-timeout=300 --retry-connrefused --header "Accept-Encoding: gzip,deflate" "$2"
+		POL_SetupWindow_detect_exit     
+        #fi
+        cd "$olddir"
+    fi
+    if [ "$3"x != ""x ]
+    then
+	verify_sha1sum $3  "$cache/$file"
+    fi
+}
+
+set_winver() {
+    echo "Setting Windows version to $1"
+    cat > "$WINETRICKS_TMP"/set-winver.reg <<_EOF_
+REGEDIT4
+
+[HKEY_CURRENT_USER\Software\Wine]
+"Version"="$1"
+
+_EOF_
+    try $WINE regedit "$WINETRICKS_TMP"/set-winver.reg
+}
+
+unset_winver() {
+    echo "Clearing Windows version back to default"
+    cat > "$WINETRICKS_TMP"/unset-winver.reg <<_EOF_
+REGEDIT4
+
+[HKEY_CURRENT_USER\Software\Wine]
+"Version"=-
+
+_EOF_
+    try $WINE regedit "$WINETRICKS_TMP"/unset-winver.reg
+}
+
+override_dlls() {
+    mode=$1
+    shift
+    echo Using $mode override for following DLLs: $@
+    cat > "$WINETRICKS_TMP"/override-dll.reg <<_EOF_
+REGEDIT4
+
+[HKEY_CURRENT_USER\Software\Wine\DllOverrides]
+_EOF_
+    while test "$1" != ""
+    do
+        case "$1" in
+        comctl32)
+           rm -rf "$WINDIR"/winsxs/manifests/x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.2600.2982_none_deadbeef.manifest
+           ;;
+        esac
+        echo "\"$1\"=\"$mode\"" >> "$WINETRICKS_TMP"/override-dll.reg
+	shift
+    done
+
+    try $WINE regedit "$WINETRICKS_TMP"/override-dll.reg
+    rm "$WINETRICKS_TMP"/override-dll.reg
+}
+
+override_app_dlls() {
+    app=$1
+    shift
+    mode=$1
+    shift
+    echo Using $mode override for following DLLs when running $app: $@
+    ( 
+    echo REGEDIT4 
+    echo "" 
+    echo "[HKEY_CURRENT_USER\\Software\\Wine\\AppDefaults\\$app\\DllOverrides]" 
+    ) > "$WINETRICKS_TMP"/override-dll.reg 
+
+    while test "$1" != ""
+    do
+        case "$1" in
+        comctl32)
+           rm -rf "$WINDIR"/winsxs/manifests/x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.2600.2982_none_deadbeef.manifest
+           ;;
+        esac
+        echo "\"$1\"=\"$mode\"" >> "$WINETRICKS_TMP"/override-dll.reg
+	shift
+    done
+
+    try $WINE regedit "$WINETRICKS_TMP"/override-dll.reg
+    rm "$WINETRICKS_TMP"/override-dll.reg
+}
+
+register_font() {
+    file=$1
+    shift
+    font=$1
+    #echo "Registering $file as $font"
+    cat > "$WINETRICKS_TMP"/register-font.reg <<_EOF_
+REGEDIT4
+
+[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Fonts]
+"$font"="$file"
+_EOF_
+    # too verbose
+    #try $WINE regedit "$WINETRICKS_TMP"/register-font.reg
+    $WINE regedit "$WINETRICKS_TMP"/register-font.reg
+}
+
+#----- common download for several verbs
+helper_directx_dl() {
+    # Mar 2009 DirectX 9c User Redistributable
+    # http://www.microsoft.com/downloads/details.aspx?FamilyID=0cf368e5-5ce1-4032-a207-c693d210f616&displaylang=en
+    download . http://download.microsoft.com/download/3/C/4/3C46A69A-CB0F-4CCA-B1E8-248D43270D5F/directx_mar2009_redist.exe 29957ee0d29b95019b082a47da5eab52f50cde0d
+
+    DIRECTX_NAME=directx_mar2009_redist.exe
+}
+
+#----- One function per package, in alphabetical order ----------
+
+load_art2kmin() {
+    # See http://support.microsoft.com/kb/243957
+    download . http://download.microsoft.com/download/office2000dev/art2kmin/1/win98/en-us/art2kmin.exe 73be2622254d1f857a204a03f068787542b985e9
+    try $WINE "$WINETRICKS_CACHE"/art2kmin.exe
+    cd "$WINEPREFIX/drive_c/ART2KMin Setup"
+    try $WINE Setup.exe INSTALLPFILES=1 /wait $WINETRICKS_QUIET
+    cd "$olddir"
+}
+
+#----------------------------------------------------------------
+
+load_autohotkey() {
+    download . http://www.autohotkey.net/programs/AutoHotkey104706_Install.exe 3d3d8845473dea477d6983d063f0afc9999d880f
+    try $WINE "$WINETRICKS_CACHE"/AutoHotkey104706_Install.exe $WINETRICKS_S
+}
+
+#----------------------------------------------------------------
+
+load_cc580() {
+    # http://www.microsoft.com/downloads/details.aspx?familyid=6f94d31a-d1e0-4658-a566-93af0d8d4a1e
+    download . http://download.microsoft.com/download/platformsdk/redist/5.80.2614.3600/w9xnt4/en-us/cc32inst.exe 94c3c494258cc54bd65d2f0153815737644bffde
+
+    try $WINE "$WINETRICKS_CACHE"/cc32inst.exe "/T:`$WINE winepath -w "$WINETRICKS_TMP"`" /c $WINETRICKS_QUIET
+    cd "$WINETRICKS_TMP"
+    try unzip "comctl32.exe"  
+    cd -
+    try $WINE "$WINETRICKS_TMP"/x86/50ComUpd.Exe "/T:`$WINE winepath -w "$WINETRICKS_TMP"`" /c $WINETRICKS_QUIET
+    try cp "$WINETRICKS_TMP"/comcnt.dll "$WINDIR"/system32/comctl32.dll
+
+    override_dlls native,builtin comctl32
+}
+
+#----------------------------------------------------------------
+
+load_comctl32ocx() {
+    # http://www.microsoft.com/downloads/details.aspx?FamilyID=25437D98-51D0-41C1-BB14-64662F5F62FE
+    download . http://download.microsoft.com/download/3/a/5/3a5925ac-e779-4b1c-bb01-af67dc2f96fc/VisualBasic6-KB896559-v1-ENU.exe f52cf2034488235b37a1da837d1c40eb2a1bad84
+
+    try cabextract -q --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/VisualBasic6-KB896559-v1-ENU.exe
+    try cp "$WINETRICKS_TMP"/mscomctl.ocx "$WINDIR"/system32/mscomctl.ocx
+    try cp "$WINETRICKS_TMP"/comctl32.ocx "$WINDIR"/system32/comctl32.ocx
+    try $WINE regsvr32 comctl32.ocx
+    try $WINE regsvr32 mscomctl.ocx
+}
+
+#----------------------------------------------------------------
+
+load_colorprofile() {
+    download . http://download.microsoft.com/download/whistler/hwdev1/1.0/wxp/en-us/ColorProfile.exe 6b72836b32b343c82d0760dff5cb51c2f47170eb
+    try unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_CACHE"/ColorProfile.exe
+    mkdir -p "$WINDIR"/system32/spool/drivers/color
+    try cp -f "$WINETRICKS_TMP/sRGB Color Space Profile.icm" "$WINDIR"/system32/spool/drivers/color
+}
+
+#----------------------------------------------------------------
+
+load_controlpad() {
+    # http://msdn.microsoft.com/en-us/library/ms968493.aspx
+    # Fixes error "Failed to load UniText..."
+    load_wsh56
+    download . http://download.microsoft.com/download/activexcontrolpad/install/4.0.0.950/win98mexp/en-us/setuppad.exe 8921e0f52507ca6a373c94d222777c750fb48af7
+    try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/setuppad.exe
+    echo "If setup says 'Unable to start DDE ...', press Ignore"
+    try $WINE "$WINETRICKS_TMP"/setup $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_corefonts() {
+    # See http://corefonts.sf.net
+    # TODO: let user pick mirror,
+    # see http://corefonts.sourceforge.net/msttcorefonts-2.0-1.spec for how
+    # TODO: add more fonts
+    
+    # Added More Fonts (see msttcorefonts)
+    # [*] Pointed download locations to sites that actually contained the
+    # fonts to download (as of 04-03-2008)			    
+    #download . $SOURCEFORGE/corefonts/andale32.exe c4db8cbe42c566d12468f5fdad38c43721844c69
+    download . $SOURCEFORGE/corefonts/arial32.exe 6d75f8436f39ab2da5c31ce651b7443b4ad2916e
+    download . $SOURCEFORGE/corefonts/arialb32.exe d45cdab84b7f4c1efd6d1b369f50ed0390e3d344
+    download . $SOURCEFORGE/corefonts/comic32.exe 2371d0327683dcc5ec1684fe7c275a8de1ef9a51
+    download . $SOURCEFORGE/corefonts/courie32.exe 06a745023c034f88b4135f5e294fece1a3c1b057
+    download . $SOURCEFORGE/corefonts/georgi32.exe 90e4070cb356f1d811acb943080bf97e419a8f1e
+    download . $SOURCEFORGE/corefonts/impact32.exe 86b34d650cfbbe5d3512d49d2545f7509a55aad2
+    download . $SOURCEFORGE/corefonts/times32.exe 20b79e65cdef4e2d7195f84da202499e3aa83060
+    download . $SOURCEFORGE/corefonts/trebuc32.exe 50aab0988423efcc9cf21fac7d64d534d6d0a34a
+    download . $SOURCEFORGE/corefonts/verdan32.exe f5b93cedf500edc67502f116578123618c64a42a
+    download . $SOURCEFORGE/corefonts/webdin32.exe 2fb4a42c53e50bc70707a7b3c57baf62ba58398f
+
+    # Natively installed versions of these fonts will cause the installers
+    # to exit silently. Because there are apps out there that depend on the
+    # files being present in the Windows font directory we use cabextract
+    # to obtain the files and register the fonts by hand.
+
+    # Andale needs a FontSubstitutes entry
+    # try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/andale32.exe
+
+    # Display EULA
+    test x"$WINETRICKS_QUIET" = x"" || try $WINE "$WINETRICKS_CACHE"/arial32.exe $WINETRICKS_QUIET
+
+    try cabextract -q --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/arial32.exe
+    try cp -f "$WINETRICKS_TMP"/Arial*.TTF "$winefontsdir"
+    register_font Arial.TTF "Arial (TrueType)"
+    register_font Arialbd.TTF "Arial Bold (TrueType)"
+    register_font Arialbi.TTF "Arial Bold Italic (TrueType)"
+    register_font Ariali.TTF "Arial Italic (TrueType)"
+
+    try cabextract -q --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/arialb32.exe
+    try cp -f "$WINETRICKS_TMP"/AriBlk.TTF "$winefontsdir"
+    register_font AriBlk.TTF "Arial Black (TrueType)"
+
+    try cabextract -q --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/comic32.exe
+    try cp -f "$WINETRICKS_TMP"/Comic*.TTF "$winefontsdir"
+    register_font Comic.TTF "Comic Sans MS (TrueType)"
+    register_font Comicbd.TTF "Comic Sans MS Bold (TrueType)"
+
+    try cabextract -q --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/courie32.exe
+    try cp -f "$WINETRICKS_TMP"/cour*.ttf "$winefontsdir"
+    register_font Cour.TTF "Courier New (TrueType)"
+    register_font CourBD.TTF "Courier New Bold (TrueType)"
+    register_font CourBI.TTF "Courier New Bold Italic (TrueType)"
+    register_font Couri.TTF "Courier New Italic (TrueType)"
+
+    try cabextract -q --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/georgi32.exe
+    try cp -f "$WINETRICKS_TMP"/Georgia*.TTF "$winefontsdir"
+    register_font Georgia.TTF "Georgia (TrueType)"
+    register_font Georgiab.TTF "Georgia Bold (TrueType)"
+    register_font Georgiaz.TTF "Georgia Bold Italic (TrueType)"
+    register_font Georgiai.TTF "Georgia Italic (TrueType)"
+
+    try cabextract -q --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/impact32.exe
+    try cp -f "$WINETRICKS_TMP"/Impact.TTF "$winefontsdir"
+    register_font Impact.TTF "Impact (TrueType)"
+
+    try cabextract -q --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/times32.exe
+    try cp -f "$WINETRICKS_TMP"/Times*.TTF "$winefontsdir"
+    register_font Times.TTF "Times New Roman (TrueType)"
+    register_font Timesbd.TTF "Times New Roman Bold (TrueType)"
+    register_font Timesbi.TTF "Times New Roman Bold Italic (TrueType)"
+    register_font Timesi.TTF "Times New Roman Italic (TrueType)"
+
+    try cabextract -q --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/trebuc32.exe
+    try cp -f "$WINETRICKS_TMP"/trebuc*.ttf "$winefontsdir"
+    register_font Trebuc.TTF "Trebucet MS (TrueType)"
+    register_font Trebucbd.TTF "Trebucet MS Bold (TrueType)"
+    register_font Trebucbi.TTF "Trebucet MS Bold Italic (TrueType)"
+    register_font Trebucit.TTF "Trebucet MS Italic (TrueType)"
+
+    try cabextract -q --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/verdan32.exe
+    try cp -f "$WINETRICKS_TMP"/Verdana*.TTF "$winefontsdir"
+    register_font Verdana.TTF "Verdana (TrueType)"
+    register_font Verdanab.TTF "Verdana Bold (TrueType)"
+    register_font Verdanaz.TTF "Verdana Bold Italic (TrueType)"
+    register_font Verdanai.TTF "Verdana Italic (TrueType)"
+
+    try cabextract -q --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/webdin32.exe
+    try cp -f "$WINETRICKS_TMP"/Webdings.TTF "$winefontsdir"
+    register_font Webdings.TTF "Webdings (TrueType)"
+}
+
+#----------------------------------------------------------------
+
+load_d3dx9() {
+    helper_directx_dl
+
+    # Kinder, less invasive directx - only extract and override d3dx9_??.dll
+    cabextract -d "$WINETRICKS_TMP" -L -F '*d3dx9*x86*' "$WINETRICKS_CACHE"/$DIRECTX_NAME
+    for x in `ls "$WINETRICKS_TMP"/*.cab`; do
+      cabextract -d "$WINDIR"/system32 -L -F '*.dll' "$x"
+    done
+
+    # For now, not needed, but when Wine starts preferring our builtin dll over native it will be.
+    override_dlls native d3dx9_24 d3dx9_25 d3dx9_26 d3dx9_27 d3dx9_28 d3dx9_29 d3dx9_30
+    override_dlls native d3dx9_31 d3dx9_32 d3dx9_33 d3dx9_34 d3dx9_35 d3dx9_36 d3dx9_37
+    override_dlls native d3dx9_38 d3dx9_39 d3dx9_40 d3dx9_41
+}
+
+#----------------------------------------------------------------
+
+load_dirac08() {
+    download . http://codecpack.nl/dirac_dsfilter_080.exe aacfcddf6b2636de5f0a50422ba9155e395318af
+    try $WINE "$WINETRICKS_CACHE"/dirac_dsfilter_080.exe $WINETRICKS_SILENT
+}
+
+#----------------------------------------------------------------
+
+load_directx9() {
+    helper_directx_dl
+
+    # Stefan suggested that, when installing, one should override as follows:
+    # 1) use builtin wintrust (we don't run native properly somehow?)
+    # 2) disable mscoree (else if it's present some module misbehaves?)
+    # 3) override native any directx DLL whose Wine version doesn't register itself well yet
+    # For #3, I have no idea which DLLs don't register themselves well yet,
+    # so I'm just listing a few of the basic ones.  Let's whittle that
+    # list down as soon as we can.  
+    echo "You probably shouldn't be using this. It's VERY invasive."
+    echo "Use 'winetricks d3dx9' instead."
+    set_winver win2k
+    WINEDLLOVERRIDES="wintrust=b,mscoree=,ddraw,d3d8,d3d9,dsound,dinput=n" \
+       try $WINE "$WINETRICKS_CACHE"/$DIRECTX_NAME /t:"$WINETRICKS_TMP_WIN" $WINETRICKS_QUIET
+
+    # How many of these do we really need?
+    # We should probably remove most of these...?
+    override_dlls native d3dim d3drm d3dx8 d3dx9_24 d3dx9_25 d3dx9_26 d3dx9_27 d3dx9_28 d3dx9_29
+    override_dlls native d3dx9_30 d3dx9_31 d3dx9_32 d3dx9_33 d3dx9_34 d3dx9_35 d3dx9_36 d3dx9_37
+    override_dlls native d3dx9_38 d3dx9_39 d3dx9_40 d3dx9_41 d3dxof
+    override_dlls native dciman32 ddrawex devenum dmband dmcompos dmime dmloader dmscript dmstyle 
+    override_dlls native dmsynth dmusic dmusic32 dnsapi dplay dplayx dpnaddr dpnet dpnhpast dpnlobby 
+    override_dlls native dswave dxdiagn mscoree msdmo qcap quartz streamci
+    override_dlls builtin d3d8 d3d9 dinput dinput8 dsound
+    
+    try $WINE "$WINETRICKS_TMP_WIN"/DXSETUP.exe
+
+    unset_winver
+}
+
+#----------------------------------------------------------------
+
+load_divx() {
+    # 6.8.2: 02203fdc4dddd13e789c39b22902837da31d2a1d ?
+    # 6.8.2: e36bf87c1675d0cf9169839bc0cd8f866b9db026 as of 4 jun 2008 as http://download.divx.com/divx/DivXInstaller.exe
+    # 6.8.3: f4f4387ef89316aea440a29f3e24c1f1945e14af as of 20 jun 2008 as http://download.divx.com/divx/abt/b1/DivXInstaller.exe
+    # 6.8.4: c5fcb1465a1bb24d1c104c2588fdb6706d1e1476 as of 10 Jul 2008 as http://download.divx.com/divx/abt/b1/DivXInstaller.exe
+    # 6.8.4: d28a2b041f4af45d22c4dedfe7608f2958cf997d as of 23 Aug 2008 as http://download.divx.com/divx/DivXInstaller.exe
+
+    # 7.? 4d91ef90ae26a6088851560c4263ef0cdbf09123 as of 22 Mar 2009 as http://download.divx.com/divx/DivXInstaller.exe
+    # 7.0 19c9ba3104025d1fab335e405e7f411dfbbcb477 as of 28 May 2009 as http://download.divx.com/divx/DivXInstaller.exe
+    download divx-7 http://download.divx.com/divx/DivXInstaller.exe 19c9ba3104025d1fab335e405e7f411dfbbcb477
+
+    try $WINE "$WINETRICKS_CACHE"/divx-7/DivXInstaller $WINETRICKS_SILENT
+}
+
+#----------------------------------------------------------------
+
+load_dcom98() {
+    # Install native dcom per http://wiki.winehq.org/NativeDcom
+    # to avoid http://bugs.winehq.org/show_bug.cgi?id=4228
+    # See http://www.microsoft.com/downloads/details.aspx?familyid=08b1ac1b-7a11-43e8-b59d-0867f9bdda66
+    download . http://download.microsoft.com/download/d/1/3/d13cd456-f0cf-4fb2-a17f-20afc79f8a51/DCOM98.EXE aff002bd03f17340b2bef2e6b9ea8e3798e9ccc1
+
+    # Pick win98 so we can install native dcom
+    set_winver win98
+
+    # Avoid "err:setupapi:SetupDefaultQueueCallbackA copy error 5 ..."
+    # Those messages are suspect, probably shouldn't be err's.
+    rm -f "$WINDIR"/system32/ole32.dll
+    rm -f "$WINDIR"/system32/olepro32.dll
+    rm -f "$WINDIR"/system32/oleaut32.dll
+    rm -f "$WINDIR"/system32/rpcrt4.dll
+
+    # Normally only need to override ole32, but overriding advpack
+    # as well gets us the correct exit status.
+    WINEDLLOVERRIDES="ole32,advpack=n" try $WINE "$WINETRICKS_CACHE"/DCOM98.EXE $WINETRICKS_QUIET
+
+    # Set native DCOM by default for all apps (ok, this might be overkill)
+    override_dlls native,builtin ole32 oleaut32 rpcrt4
+
+    # but not for a few builtin apps that don't like it
+    override_app_dlls explorer.exe builtin ole32 oleaut32 rpcrt4
+    override_app_dlls iexplore.exe builtin ole32 oleaut32 rpcrt4
+    override_app_dlls services.exe builtin ole32 oleaut32 rpcrt4
+    override_app_dlls wineboot.exe builtin ole32 oleaut32 rpcrt4
+    override_app_dlls winedevice.exe builtin ole32 oleaut32 rpcrt4
+
+    # and undo version win98
+    unset_winver
+}
+
+#----------------------------------------------------------------
+
+load_dotnet11() {
+    DOTNET_INSTALL_DIR="$WINDIR/Microsoft.NET/Framework/v1.1.4322" 
+
+    # need corefonts, else installer crashes
+    load_corefonts
+
+    # http://www.microsoft.com/downloads/details.aspx?FamilyId=262D25E3-F589-4842-8157-034D1E7CF3A3
+    download dotnet11 http://download.microsoft.com/download/a/a/c/aac39226-8825-44ce-90e3-bf8203e74006/dotnetfx.exe 16a354a2207c4c8846b617cbc78f7b7c1856340e
+    try $WINE "$WINETRICKS_CACHE"/dotnet11/dotnetfx.exe $WINETRICKS_QUIET
+} 
+
+#----------------------------------------------------------------
+
+load_dotnet20() {
+    # Recipe from http://bugs.winehq.org/show_bug.cgi?id=10467#c57
+    test -d "$WINDIR/gecko" || load_gecko
+    set_winver win2k
+    # See http://kegel.com/wine/l_intl-sh.txt for how l_intl.nls was generated
+    download dotnet20 http://kegel.com/wine/l_intl.nls
+    try cp -f "$WINETRICKS_CACHE"/dotnet20/l_intl.nls "$WINDIR/system32/"
+
+    # http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5
+    download dotnet20 http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe a3625c59d7a2995fb60877b5f5324892a1693b2a
+    if [ "$WINETRICKS_QUIET"x = ""x ]
+    then
+       try $WINE "$WINETRICKS_CACHE"/dotnet20/dotnetfx.exe 
+    else
+       try $WINE "$WINETRICKS_CACHE"/dotnet20/dotnetfx.exe /q /c:"install.exe /q"
+    fi
+    unset_winver
+} 
+
+#----------------------------------------------------------------
+
+# Fake IE per workaround in http://bugs.winehq.org/show_bug.cgi?id=3453
+# Just the first registry key works for most apps.
+# The App Paths part is required by a few apps, like Quickbooks Pro;
+# see http://windowsxp.mvps.org/ie/qbooks.htm
+set_fakeie6() {
+
+    cat > "$WINETRICKS_TMP"/fakeie6.reg <<"_EOF_"
+REGEDIT4
+
+[HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer]
+"Version"="6.0.2900.2180"
+
+[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\IEXPLORE.EXE]
+_EOF_
+
+    echo -n '@="' >>"$WINETRICKS_TMP"/fakeie6.reg
+    echo -n "${programfilesdir_win}" | sed "s/\\\\/\\\\\\\\/" >>"$WINETRICKS_TMP"/fakeie6.reg
+    echo '\\\\Internet Explorer\\\\iexplore.exe"' >>"$WINETRICKS_TMP"/fakeie6.reg
+
+    echo -n '"PATH"="' >>"$WINETRICKS_TMP"/fakeie6.reg
+    echo -n "${programfilesdir_win}" | sed "s/\\\\/\\\\\\\\/" >>"$WINETRICKS_TMP"/fakeie6.reg
+    echo '\\\\Internet Explorer"' >>"$WINETRICKS_TMP"/fakeie6.reg
+
+    try $WINE regedit "$WINETRICKS_TMP"/fakeie6.reg
+
+    # On old wineprefixes iexplore.exe is not created. Create a fake dll using
+    # shdocvw.dll that should have similar VERSIONINFO.
+    if [ ! -f "$programfilesdir_unix/Internet Explorer/iexplore.exe" ]; then
+        echo "You have an old wineprefix without iexplore.exe. Will create a fake now"
+        if [ ! -d "$programfilesdir_unix/Internet Explorer/iexplore.exe" ]; then
+            try mkdir "$programfilesdir_unix/Internet Explorer";
+        fi
+        try cp -f "$WINDIR/system32/shdocvw.dll" "$programfilesdir_unix/Internet Explorer/iexplore.exe"
+    fi
+}
+
+#----------------------------------------------------------------
+
+load_firefox3() {
+    # Firefox 3
+    download . "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.10/win32/en-US/Firefox%20Setup%203.0.10.exe" ef719c1fc82b7a716a54b5ad03b3b633ddbd6193 "Firefox Setup 3.0.10.exe"
+    if [ "$WINETRICKS_QUIET"x = ""x ]
+    then
+       try $WINE "$WINETRICKS_CACHE"/"Firefox Setup 3.0.10.exe" 
+    else
+       try $WINE "$WINETRICKS_CACHE"/"Firefox Setup 3.0.10.exe" -ms
+    fi
+}
+
+#----------------------------------------------------------------
+
+load_ffdshow() {
+    # ffdshow
+    download . $SOURCEFORGE/ffdshow-tryout/ffdshow_beta5_rev2033_20080705_clsid.exe 6da6837e2f400923ff5294a6591a88a3eee5ee40
+    try $WINE "$WINETRICKS_CACHE"/ffdshow_beta5_rev2033_20080705_clsid.exe $WINETRICKS_SILENT
+}
+
+#----------------------------------------------------------------
+
+load_flash() {
+    # www.adobe.com/products/flashplayer/
+
+    # Active X plugin
+    # http://blogs.adobe.com/psirt/2008/03/preparing_for_april_flash_play.html
+    # http://fpdownload.macromedia.com/get/flashplayer/current/licensing/win/install_flash_player_active_x.msi 
+    # 2008-04-01: old version sha1sum f4dd1c0c715b791db2c972aeba90d3b78372996a
+    # 2008-04-18: new version sha1sum 04ac79c4f1eb1e1ca689f27fa71f12bb5cd11cc2
+    # Version 10 http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_ax.exe
+    # 2008-11-27: 10 sha1sum 7f6850ae815e953311bb94a8aa9d226f97a646dd  
+    # 2009-02-27: shasum 86745020a25edc9695a1a6a4d59eae375665a0b3
+
+    download . http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_ax.exe 86745020a25edc9695a1a6a4d59eae375665a0b3
+    try $WINE "$WINETRICKS_CACHE"/install_flash_player_ax.exe $WINETRICKS_S
+
+    # Mozilla / Firefox plugin
+    # 2008-07-22: sha1sum 1e6f7627784a5b791e99ae9ad63133dc11c7940b
+    # 2008-11-27: sha1sum 20ec0300a8cae19105c903a7ec6c0801e016beb0
+    # 2009-02-27: sha1sum 770db9ad471ffd4357358bc16ff0bb6c98d71e5d
+    download . http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player.exe 770db9ad471ffd4357358bc16ff0bb6c98d71e5d
+    try $WINE "$WINETRICKS_CACHE"/install_flash_player.exe $WINETRICKS_S
+}
+
+#----------------------------------------------------------------
+
+load_fontfix() {
+    # some versions of ukai.ttf and uming.ttf crash .net and picasa
+    # See http://bugs.winehq.org/show_bug.cgi?id=7098#c9
+    # Could fix globally, but that needs root, so just fix for wine
+    if test -f /usr/share/fonts/truetype/arphic/ukai.ttf 
+    then
+        gotsum=`$SHA1SUM < /usr/share/fonts/truetype/arphic/ukai.ttf | sed 's/ .*//'`
+        # FIXME: do all affected versions of the font have same sha1sum as Gutsy?  Seems unlikely.
+        if [ "$gotsum"x = "96e1121f89953e5169d3e2e7811569148f573985"x ]
+        then
+            download . https://launchpadlibrarian.net/1499628/ttf-arphic-ukai_0.1.20060108.orig.tar.gz 92e577602d71454a108968e79ab667451f3602a2
+            cd "$WINETRICKS_TMP/"
+            tar -xzf "$WINETRICKS_CACHE/ttf-arphic-ukai_0.1.20060108.orig.tar.gz"
+            try mv ttf-arphic-ukai-0.1.20060108/*.ttf "$winefontsdir"
+            cd "$olddir"
+        fi
+    fi
+
+    if test -f /usr/share/fonts/truetype/arphic/uming.ttf 
+    then
+        gotsum=`$SHA1SUM < /usr/share/fonts/truetype/arphic/uming.ttf | sed 's/ .*//'`
+        if [ "$gotsum"x = "2a4f4a69e343c21c24d044b2cb19fd4f0decc82c"x ]
+        then
+            download . https://launchpadlibrarian.net/1564410/ttf-arphic-uming_0.1.20060108.orig.tar.gz 1439cdd731906e9e5311f320c2cb33262b24ef91
+            cd "$WINETRICKS_TMP/"
+            tar -xzf "$WINETRICKS_CACHE/ttf-arphic-uming_0.1.20060108.orig.tar.gz"
+            try mv ttf-arphic-uming-0.1.20060108/*.ttf "$winefontsdir"
+            cd "$olddir"
+        fi
+    fi
+
+    # The heterogeneity of SHA-1 checksums and paths for "bad" Samyak-Oriya.ttf
+    # fonts make checking impractical, so we'll substitute in a good version
+    # regardless of the installed version, if any.
+
+    download . http://cvs.fedora.redhat.com/repo/pkgs/samyak-fonts/samyak-fonts-1.2.0.tar.gz/a57339ba2b4279938a2d792ebdf70377/samyak-fonts-1.2.0.tar.gz f06d0eaac201a3ec79418d69d46807a52150f047
+    cd "$WINETRICKS_TMP/"
+    tar -xzf "$WINETRICKS_CACHE/samyak-fonts-1.2.0.tar.gz"
+    try mv samyak-fonts-1.2.0/oriya/Samyak-Oriya.ttf "$winefontsdir"
+    cd "$olddir"
+}
+
+#----------------------------------------------------------------
+load_fs_disable() {
+    cat > "$WINETRICKS_TMP"/fs_disable.reg <<_EOF_
+REGEDIT4
+
+[HKEY_CURRENT_USER\Control Panel\Desktop]
+"FontSmoothing"="0"
+"FontSmoothingGamma"=dword:00000578
+"FontSmoothingOrientation"=dword:00000001
+"FontSmoothingType"=dword:00000000
+
+_EOF_
+    try $WINE regedit "$WINETRICKS_TMP"/fs_disable.reg
+}
+#----------------------------------------------------------------
+load_fs_grayscale() {
+    cat > "$WINETRICKS_TMP"/fs_grayscale.reg <<_EOF_
+
+REGEDIT4
+
+[HKEY_CURRENT_USER\Control Panel\Desktop]
+"FontSmoothing"="2"
+"FontSmoothingGamma"=dword:00000578
+"FontSmoothingOrientation"=dword:00000001
+"FontSmoothingType"=dword:00000001
+
+_EOF_
+    try $WINE regedit "$WINETRICKS_TMP"/fs_grayscale.reg
+}
+#----------------------------------------------------------------
+load_fs_bgr() {
+    cat > "$WINETRICKS_TMP"/fs_bgr.reg <<_EOF_
+
+REGEDIT4
+
+[HKEY_CURRENT_USER\Control Panel\Desktop]
+"FontSmoothing"="2"
+"FontSmoothingGamma"=dword:00000578
+"FontSmoothingOrientation"=dword:00000000
+"FontSmoothingType"=dword:00000002
+
+_EOF_
+    try $WINE regedit "$WINETRICKS_TMP"/fs_bgr.reg
+}
+#----------------------------------------------------------------
+load_fs_rgb() {
+    cat > "$WINETRICKS_TMP"/fs_rgb.reg <<_EOF_
+
+REGEDIT4
+
+[HKEY_CURRENT_USER\Control Panel\Desktop]
+"FontSmoothing"="2"
+"FontSmoothingGamma"=dword:00000578
+"FontSmoothingOrientation"=dword:00000001
+"FontSmoothingType"=dword:00000002
+
+_EOF_
+    try $WINE regedit "$WINETRICKS_TMP"/fs_rgb.reg
+}
+#----------------------------------------------------------------
+
+load_gecko() {
+    # Load the HTML rendering Engine (Gecko)
+    # FIXME: shouldn't this code be in some script installed 
+    # as part of Wine instead of in winetricks?
+    # (e.g. we hardcode gecko's url here, but it's normally
+    # only hardcoded in wine.inf, and fetched from the registry thereafter,
+    # so we're adding a maintenance burden here.)
+    case `$WINE --version` in
+    wine-0*|wine-1.0*|wine-1.1|wine-1.1.?|wine-1.1.11)
+        GECKO_VERSION=0.1.0 
+        GECKO_SHA1SUM=c16f1072dc6b0ced20935662138dcf019a38cd56 
+        ;;
+    wine-1.1.1[234]*)
+        GECKO_VERSION=0.9.0 
+        GECKO_SHA1SUM=5cf410ff7fdd3f9d625f481f9d409968728d3d09
+        ;;
+    *)
+        GECKO_VERSION=0.9.1
+        GECKO_SHA1SUM=9a49fc691740596517e381b47096a4bdf19a87d8
+        ;;
+    esac
+
+    if test ! -f "$WINETRICKS_CACHE"/wine_gecko-$GECKO_VERSION.cab
+    then
+       # FIXME: busted if using curl!
+       download . "http://source.winehq.org/winegecko.php?v=$GECKO_VERSION" $GECKO_SHA1SUM wine_gecko-$GECKO_VERSION.cab
+    fi
+
+    cat > "$WINETRICKS_TMP"/geckopath.reg <<_EOF_
+REGEDIT4
+
+[HKEY_CURRENT_USER\\Software\\Wine\\MSHTML\\$GECKO_VERSION]
+_EOF_
+
+    #The registry-entry does not support an environment-variable
+    printf '"GeckoPath"="' >>"$WINETRICKS_TMP"/geckopath.reg
+    printf 'c:\\windows\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' | sed "s/\\\\/\\\\\\\\/g" >>"$WINETRICKS_TMP"/geckopath.reg
+
+    # extract the files
+    mkdir -p "$WINDIR"/gecko/$GECKO_VERSION
+    cd "$WINDIR"/gecko/$GECKO_VERSION
+    try cabextract $WINETRICKS_UNIXQUIET "$WINETRICKS_CACHE"/wine_gecko-$GECKO_VERSION.cab
+    cd "$olddir"
+
+    # set install-path
+    try $WINE regedit "$WINETRICKS_TMP"/geckopath.reg
+}
+
+#----------------------------------------------------------------
+
+load_gecko_dbg() {
+    # Load the HTML rendering Engine (Gecko), with debugging symbols
+    # FIXME: shouldn't this code be in some script installed 
+    # as part of Wine instead of in winetricks?
+    # (e.g. we hardcode gecko's url here, but it's normally
+    # only hardcoded in wine.inf, and fetched from the registry thereafter,
+    # so we're adding a maintenance burden here.)
+    case `$WINE --version` in
+    wine-0*|wine-1.0*|wine-1.1|wine-1.1.?|wine-1.1.11)
+        echo "There isn't a gecko debug build for your Wine version."
+        exit 1
+        ;;
+    wine-1.1.1[234]*)
+        GECKO_VERSION=0.9.0 
+        GECKO_SHA1SUM=23e354a82d7b7e61a6abe0384cc44669fbf92f86
+        ;;
+    *)
+        GECKO_VERSION=0.9.1
+        GECKO_SHA1SUM=a9b58d3330f8c78524fe4683f348302bfce96ff4
+        ;;
+    esac
+
+    if test ! -f "$WINETRICKS_CACHE"/wine_gecko-$GECKO_VERSION-dbg.cab
+    then
+       # FIXME: busted if using curl!
+       download . "http://downloads.sourceforge.net/wine/wine_gecko-$GECKO_VERSION-dbg.cab" $GECKO_SHA1SUM wine_gecko-$GECKO_VERSION-dbg.cab
+    fi
+
+    cat > "$WINETRICKS_TMP"/geckopath.reg <<_EOF_
+REGEDIT4
+
+[HKEY_CURRENT_USER\\Software\\Wine\\MSHTML\\$GECKO_VERSION]
+_EOF_
+
+    #The registry-entry does not support an environment-variable
+    printf '"GeckoPath"="' >>"$WINETRICKS_TMP"/geckopath.reg
+    printf 'c:\\windows\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' | sed "s/\\\\/\\\\\\\\/g" >>"$WINETRICKS_TMP"/geckopath.reg
+
+    # extract the files
+    mkdir -p "$WINDIR"/gecko/$GECKO_VERSION
+    cd "$WINDIR"/gecko/$GECKO_VERSION
+    try cabextract $WINETRICKS_UNIXQUIET "$WINETRICKS_CACHE"/wine_gecko-$GECKO_VERSION-dbg.cab
+    cd "$olddir"
+
+    # set install-path
+    try $WINE regedit "$WINETRICKS_TMP"/geckopath.reg
+}
+
+#----------------------------------------------------------------
+
+load_gdiplus() {
+    # gdiplus is documented here as a redistributable:
+    # http://msdn.microsoft.com/library/en-us/gdicpp/GDIPlus/GDIPlus.asp
+    # however, there's no standalone installer.  So install a random
+    # app that happens to bundle it.
+    download . http://download.microsoft.com/download/a/1/a/a1adc39b-9827-4c7a-890b-91396aed2b86/ppviewer.exe 4d13ca85d1d366167b6247ac7340b7736b1bff87
+    try $WINE "$WINETRICKS_CACHE"/ppviewer.exe $WINETRICKS_QUIET
+    # And then make it globally available.
+    try cp "$programfilesdir_unix/Microsoft Office/PowerPoint Viewer/GDIPLUS.DLL" "$WINDIR"/system32/
+
+    # For some reason, native,builtin isn't good enough...?
+    override_dlls native gdiplus
+}
+
+#----------------------------------------------------------------
+
+load_hosts() {
+    # Create fake system32\drivers\etc\hosts and system32\drivers\etc\services files.
+    # The hosts file is used to map network names to IP addresses without DNS.
+    # The services file is used map service names to network ports.
+    # Some apps depend on these files, but they're not implemented in wine.
+    # Fortunately, empty files in the correct location satisfy those apps. 
+    # See http://bugs.winehq.org/show_bug.cgi?id=12076
+    mkdir -p "$WINDIR"/system32/drivers/etc
+    touch "$WINDIR"/system32/drivers/etc/hosts
+    touch "$WINDIR"/system32/drivers/etc/services
+}
+
+#----------------------------------------------------------------
+load_icodecs() {
+    # http://downloadcenter.intel.com/Detail_Desc.aspx?strState=LIVE&ProductID=355&DwnldID=2846
+    download . http://downloadmirror.intel.com/2846/eng/codinstl.exe 2c5d64f472abe3f601ce352dcca75b4f02996f8a
+    try $WINE "$WINETRICKS_CACHE"/codinstl.exe
+    # Work around bug in codec's installer?
+    # http://support.britannica.com/other/touchthesky/win/issues/TSTUw_150.htm
+    # http://appdb.winehq.org/objectManager.php?sClass=version&iId=7091
+    try $WINE regsvr32 ir50_32.dll
+}
+
+#----------------------------------------------------------------
+load_ie6() {
+    load_msls31
+
+    # Unregister Wine IE
+    try $WINE iexplore -unregserver
+
+    # Change the override to the native so we are sure we use and register them
+    override_dlls native,builtin iexplore.exe itircl itss jscript mlang mshtml msimtf shdoclc shdocvw shlwapi urlmon
+
+    # Remove the fake dlls from the existing WINEPREFIX 
+    mv "$programfilesdir_unix"/"Internet Explorer"/iexplore.exe "$programfilesdir_unix"/"Internet Explorer"/iexplore.exe.bak
+    for dll in itircl itss jscript mlang mshtml msimtf shdoclc shdocvw shlwapi urlmon
+    do
+        test -f "$WINDIR"/system32/$dll.dll && 
+          mv "$WINDIR"/system32/$dll.dll "$WINDIR"/system32/$dll.dll.bak
+    done
+
+    # The installer doesn't want to install iexplore.exe in XP mode.
+    set_winver win2k
+
+    # Workaround a IE6 Installer bug, not Wine's fault
+    # See http://bugs.winehq.org/show_bug.cgi?id=5409
+    # Actual value downloaded doesn't matter
+    rm -f "$WINETRICKS_CACHE"/ie6sites.dat
+    download . http://www.microsoft.com/windows/ie/ie6sp1/download/rtw/x86/ie6sites.dat
+
+    # Install
+    download . http://download.microsoft.com/download/ie6sp1/finrel/6_sp1/W98NT42KMeXP/EN-US/ie6setup.exe f3ab61a785eb9611fa583612e83f3b69377f2cef
+    try $WINE "$WINETRICKS_CACHE"/ie6setup.exe
+
+    # Work around DLL registration bug until ierunonce/RunOnce/wineboot is fixed
+    # FIXME: whittle down this list 
+    cd "$WINDIR"/system32/
+    for i in actxprxy.dll browseui.dll browsewm.dll cdfview.dll ddraw.dll \
+      dispex.dll dsound.dll iedkcs32.dll iepeers.dll iesetup.dll \
+      imgutil.dll inetcomm.dll inseng.dll isetup.dll jscript.dll laprxy.dll \
+      mlang.dll mshtml.dll mshtmled.dll msi.dll msident.dll \
+      msoeacct.dll msrating.dll mstime.dll msxml3.dll occache.dll \
+      ole32.dll oleaut32.dll olepro32.dll pngfilt.dll quartz.dll \
+      rpcrt4.dll rsabase.dll rsaenh.dll scrobj.dll scrrun.dll \
+      shdocvw.dll shell32.dll urlmon.dll vbscript.dll webcheck.dll \
+      wshcon.dll wshext.dll asctrls.ocx hhctrl.ocx mscomct2.ocx \
+      plugin.ocx proctexe.ocx tdc.ocx webcheck.dll wshom.ocx
+    do
+        $WINE regsvr32 /i $i > /dev/null 2>&1
+    done
+
+    # Set windows version back to user's default. Leave at win2k for better rendering (is there a bug for that?)
+    unset_winver
+
+    # try $WINE "$programfilesdir_unix"/"Internet Explorer"/IEXPLORE.EXE http://www.winehq.org
+}
+
+#----------------------------------------------------------------
+
+load_jet40() {
+    # http://support.microsoft.com/kb/239114
+    # See also http://bugs.winehq.org/show_bug.cgi?id=6085
+    download . http://download.microsoft.com/download/4/3/9/4393c9ac-e69e-458d-9f6d-2fe191c51469/jet40sp8_9xnt.exe 8cd25342030857969ede2d8fcc34f3f7bcc2d6d4
+    try $WINE "$WINETRICKS_CACHE"/jet40sp8_9xnt.exe $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_kde() {
+    download . http://www.winkde.org/pub/kde/ports/win32/installer/kdewin-installer-gui-0.9.5-0.exe c2a95102312ca859fce5190307748da51fae644e
+    mkdir -p "$programfilesdir_unix/kde"
+    try cp "$WINETRICKS_CACHE"/kdewin-installer-gui-0.9.5-0.exe "$programfilesdir_unix/kde"
+    cd "$programfilesdir_unix/kde"
+    # This reports an errorlevel of 1, even for success. See https://bugs.kde.org/show_bug.cgi?id=194796
+    $WINE "$programfilesdir_win\\kde\\kdewin-installer-gui-0.9.5-0.exe" || true
+    cd "$olddir"
+}
+
+#----------------------------------------------------------------
+
+load_liberation() {
+    # http://www.redhat.com/promo/fonts/
+    if [ `uname -s` = 'SunOS' ] || [ `uname -s` = 'Solaris' ]; then
+    echo "If you get 'ERROR: Certificate verification error for fedorahosted.org: unable to get local issuer certificate':"
+    echo "Then you need to add Verisign root certificates to your local keystore."
+    echo "OpenSolaris users, see: http://www.linuxtopia.org/online_books/opensolaris_2008/SYSADV1/html/swmgrpatchtasks-14.html"
+    echo "Or edit winetricks' download function, and add '--no-check-certificate' to the command."
+    fi
+    
+    download . https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-1.04.tar.gz 097882c92e3260742a3dc3bf033792120d8635a3
+    cd "$WINETRICKS_TMP"
+    tar -xzvf "$WINETRICKS_CACHE"/liberation-fonts-1.04.tar.gz
+    mv liberation-fonts-1.04/*.ttf "$winefontsdir"
+    rm -rf "$WINETRICKS_TMP"/*
+    cd "$olddir"
+}
+
+#----------------------------------------------------------------
+
+set_native_mdac() {
+    # Set those overrides globally so user programs get MDAC's odbc
+    # instead of wine's unixodbc
+    override_dlls native,builtin odbc32 odbccp32
+}
+
+#----------------------------------------------------------------
+
+load_mdac25() {
+    download mdac25 http://download.microsoft.com/download/e/e/4/ee4fe9ee-6fa1-4ab6-ab8c-fe1769f4edcf/mdac_typ.exe 09e974a5dbebaaa08c7985a4a1126886dc05fd87
+    set_native_mdac
+    set_winver nt40
+    try $WINE "$WINETRICKS_CACHE"/mdac25/mdac_typ.exe
+    unset_winver
+}
+
+#----------------------------------------------------------------
+
+load_mdac27() {
+    download mdac27 http://download.microsoft.com/download/3/b/f/3bf74b01-16ba-472d-9a8c-42b2b4fa0d76/mdac_typ.exe f68594d1f578c3b47bf0639c46c11c5da161feee
+    set_native_mdac
+    set_winver win2k
+    try $WINE "$WINETRICKS_CACHE"/mdac27/mdac_typ.exe
+    unset_winver
+}
+
+#----------------------------------------------------------------
+
+load_mdac28() {
+    download mdac28 http://download.microsoft.com/download/c/d/f/cdfd58f1-3973-4c51-8851-49ae3777586f/MDAC_TYP.EXE 91bd59f0b02b67f3845105b15a0f3502b9a2216a
+    set_native_mdac
+    set_winver win98
+    try $WINE "$WINETRICKS_CACHE"/mdac28/MDAC_TYP.EXE
+    unset_winver
+}
+
+#----------------------------------------------------------------
+
+load_mfc40() {
+    # See http://support.microsoft.com/kb/122244
+    download . http://download.microsoft.com/download/ole/ole2v/3.5/w351/en-us/ole2v.exe c6cac71f32405ccb09c6f375e0738e6e13f073e4
+    try unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_CACHE"/ole2v.exe
+    try cp -f "$WINETRICKS_TMP"/MFC40.DLL "$WINDIR"/system32/
+
+    rm -rf "$WINETRICKS_TMP"/*
+}
+
+#----------------------------------------------------------------
+
+load_mono20() {
+    # Load Mono, have it handle all .net requests
+    download .  ftp://ftp.novell.com/pub/mono/archive/2.0.1/windows-installer/1/mono-2.0.1-gtksharp-2.10.4-win32-1.exe ccb67ac41b59522846e47d0c423836b9d334c088
+    # Anyone know how to get it to do a silent install?
+    try $WINE "$WINETRICKS_CACHE"/mono-2.0.1-gtksharp-2.10.4-win32-1.exe
+
+    cat > "$WINETRICKS_TMP"/mono_2.0.reg <<_EOF_
+REGEDIT4
+
+[HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727]
+"Install"=dword:00000001
+"SP"=dword:00000001
+
+[HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\policy\v2.0]
+"4322"="3706-4322"
+_EOF_
+    try $WINE regedit "$WINETRICKS_TMP"/mono_2.0.reg
+    rm -f "$WINETRICKS_TMP"/mono_2.0.reg
+}
+
+#----------------------------------------------------------------
+
+load_mono22() {
+    # Load Mono, have it handle all .net requests
+    download .  ftp://ftp.novell.com/pub/mono/archive/2.2/windows-installer/5/mono-2.2-gtksharp-2.12.7-win32-5.exe be977dfa9c49deea1be02ba4a2228e343f1e5840
+    # Anyone know how to get it to do a silent install?
+    try $WINE "$WINETRICKS_CACHE"/mono-2.2-gtksharp-2.12.7-win32-5.exe
+
+    # FIXME: what should this be for mono 2.2?
+    cat > "$WINETRICKS_TMP"/mono_2.0.reg <<_EOF_
+REGEDIT4
+
+[HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727]
+"Install"=dword:00000001
+"SP"=dword:00000001
+
+[HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\policy\v2.0]
+"4322"="3706-4322"
+_EOF_
+    try $WINE regedit "$WINETRICKS_TMP"/mono_2.0.reg
+    rm -f "$WINETRICKS_TMP"/mono_2.0.reg
+}
+
+#----------------------------------------------------------------
+
+load_mpc() {
+    download . $SOURCEFORGE/guliverkli2/mplayerc_20080414.zip bc9f922d7151e7cc7fef429b085cf208ef989bab
+    cd "$WINEPREFIX"/drive_c 
+    try unzip "$WINETRICKS_CACHE"/mplayerc_20080414.zip
+    cd "$olddir"
+    echo MPC now available as c:/mplayerc.exe
+}
+
+#----------------------------------------------------------------
+
+load_msi2() {
+    # Install native msi per http://wiki.winehq.org/NativeMsi
+    # http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=CEBBACD8-C094-4255-B702-DE3BB768148F
+    download . http://download.microsoft.com/download/WindowsInstaller/Install/2.0/W9XMe/EN-US/InstMsiA.exe e739c40d747e7c27aacdb07b50925b1635ee7366
+
+    # Pick win98 so we can install native msi
+    set_winver win98
+
+    # Avoid "err:setupapi:SetupDefaultQueueCallbackA copy error 5 ..."
+    rm -f "$WINDIR"/system32/msi.dll
+    rm -f "$WINDIR"/system32/msiexec.exe
+
+    WINEDLLOVERRIDES="msi,msiexec.exe=n" try $WINE "$WINETRICKS_CACHE"/InstMSIA.exe $WINETRICKS_QUIET
+
+    override_dlls native,builtin msi msiexec.exe
+
+    # and undo version win98
+    unset_winver
+}
+
+#----------------------------------------------------------------
+
+load_mshflxgd() {
+    # http://msdn.microsoft.com/en-us/library/aa240864(VS.60).aspx
+    # orig: 5f9c7a81022949bfe39b50f2bbd799c448bb7377
+    # Jan 2009: 7ad74e589d5eefcee67fa14e65417281d237a6b6
+    # May 2009: bd8aa796e16e5f213414af78931e0379d9cbe292
+    download .  http://activex.microsoft.com/controls/vb6/MSHFLXGD.CAB bd8aa796e16e5f213414af78931e0379d9cbe292
+    try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/MSHFLXGD.CAB
+    try cp -f "$WINETRICKS_TMP"/[Mm][Ss][Hh][Ff][Ll][Xx][Gg][Dd].[Oo][Cc][Xx] "$WINDIR"/system32
+}
+
+#----------------------------------------------------------------
+
+load_msls31() {
+    # Install native Microsoft Line Services (needed by e-Sword, possibly only when using native riched20)
+    download . http://download.microsoft.com/download/WindowsInstaller/Install/2.0/W9XMe/EN-US/InstMsiA.exe e739c40d747e7c27aacdb07b50925b1635ee7366
+    try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/InstMsiA.exe
+    try cp -f "$WINETRICKS_TMP"/msls31.dll "$WINDIR"/system32
+}
+
+#----------------------------------------------------------------
+
+load_msmask() {
+    # http://msdn.microsoft.com/en-us/library/11405hcf(VS.71).aspx
+    # http://bugs.winehq.org/show_bug.cgi?id=2934
+    # old: 3c6b26f68053364ea2e09414b615dbebafb9d5c3
+    # May 2009: 30e55679e4a13fe4d9620404476f215f93239292 
+    download .  http://activex.microsoft.com/controls/vb6/MSMASK32.CAB 30e55679e4a13fe4d9620404476f215f93239292 
+    try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/MSMASK32.CAB
+    try cp -f "$WINETRICKS_TMP"/[Mm][Ss][Mm][Aa][Ss][Kk]32.[Oo][Cc][Xx] "$WINDIR"/system32/msmask32.ocx
+    try $WINE regsvr32 msmask32.ocx
+}
+
+#----------------------------------------------------------------
+
+load_msscript() {
+    # http://msdn.microsoft.com/scripting/scriptcontrol/x86/sct10en.exe
+    # http://www.microsoft.com/downloads/details.aspx?familyid=d7e31492-2595-49e6-8c02-1426fec693ac
+    download .  http://download.microsoft.com/download/d/2/a/d2a7430c-6d5b-48e9-96c4-3c751be7bffe/sct10en.exe fd9f2f23357ab11ae70682d6864f7e9f188adf2a
+    try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/sct10en.exe
+    try cp -f "$WINETRICKS_TMP"/msscript.ocx "$WINDIR"/system32
+    try $WINE regsvr32 msscript.ocx
+}
+
+#----------------------------------------------------------------
+
+load_msxml3() {
+    # Service Pack 5
+    #download http://download.microsoft.com/download/a/5/e/a5e03798-2454-4d4b-89a3-4a47579891d8/msxml3.msi
+    # Service Pack 7
+    download . http://download.microsoft.com/download/8/8/8/888f34b7-4f54-4f06-8dac-fa29b19f33dd/msxml3.msi d4c2178dfb807e1a0267fce0fd06b8d51106d913
+    # http://bugs.winehq.org/show_bug.cgi?id=7849 fixed since 0.9.37
+    override_dlls native,builtin msxml3
+    try $WINE msiexec /i "$WINETRICKS_CACHE"/msxml3.msi $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_msxml4() {
+    # http://www.microsoft.com/downloads/details.aspx?familyid=24B7D141-6CDF-4FC4-A91B-6F18FE6921D4
+    if test ! -f "$WINETRICKS_CACHE"/msxml4.msi
+    then
+       download . http://download.microsoft.com/download/e/2/e/e2e92e52-210b-4774-8cd9-3a7a0130141d/msxml4-KB927978-enu.exe d364f9fe80c3965e79f6f64609fc253dfeb69c25
+       rm -rf "$WINETRICKS_TMP"/*
+
+       try $WINE "$WINETRICKS_CACHE"/msxml4-KB927978-enu.exe "/x:`$WINE winepath -w "$WINETRICKS_TMP"`" $WINETRICKS_QUIET
+       if test ! -f "$WINETRICKS_TMP"/msxml.msi
+       then
+          die msxml.msi not found
+       fi
+       mv "$WINETRICKS_TMP"/msxml.msi "$WINETRICKS_CACHE"/msxml4.msi
+    fi
+
+    try $WINE msiexec /i "$WINETRICKS_CACHE"/msxml4.msi $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_msxml6() {
+    # http://www.microsoft.com/downloads/details.aspx?FamilyID=993c0bcf-3bcf-4009-be21-27e85e1857b1
+    download . http://download.microsoft.com/download/2/e/0/2e01308a-e17f-4bf9-bf48-161356cf9c81/msxml6.msi 2308743ddb4cb56ae910e461eeb3eab0a9e58058
+
+    try $WINE msiexec /i "$WINETRICKS_CACHE"/msxml6.msi $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_ogg() {
+    # flac, ogg, speex, vorbis, ogm source, ogg source
+    download . http://cross-lfs.org/~mlankhorst/oggcodecs_0.81.2.exe c9d10a8f1b65b9f3824e227333d66247e14fad4c
+    #try $WINE "$WINETRICKS_CACHE"/oggcodecs_0.81.2.exe $WINETRICKS_QUIET
+    # oh, and the new schroedinger direct show filter, too
+    # see following URLs for more info
+    # http://www.diracvideo.org/
+    # http://cross-lfs.org/~mlankhorst/direct-schro.txt
+    # http://www.diracvideo.org/git?p=direct-schro.git;a=summary
+    # Requires wine-1.1.1
+    download . http://cross-lfs.org/~mlankhorst/direct-schro.dll
+    try cp "$WINETRICKS_CACHE"/direct-schro.dll "$WINDIR"/system32/direct-schro.dll
+    # This is currently broken. Maarten's not sure why.
+    try $WINE regsvr32 direct-schro.dll
+}
+
+#----------------------------------------------------------------
+
+load_ole2() {
+    # http://support.microsoft.com/kb/123087/EN-US/
+    download . http://download.microsoft.com/download/win31/update/2.03/win/en-us/ww1116.exe b803991c40f387464b61f606536b7c98a88245d2
+    try unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_CACHE"/ww1116.exe
+    set_winver win31
+    cd "$WINETRICKS_TMP"
+    try $WINE setup.exe
+    cd "$olddir"
+    unset_winver 
+
+    override_dlls native,builtin COMPOBJ.DLL OLE2CONV.DLL OLE2DISP.DLL OLE2.DLL 
+    override_dlls native,builtin OLE2NLS.DLL OLE2PROX.DLL STORAGE.DLL TYPELIB.DLL
+}
+
+#----------------------------------------------------------------
+
+load_pdh() {
+    # http://support.microsoft.com/kb/284996
+    download . http://download.microsoft.com/download/platformsdk/Redist/5.0.2195.2668/NT4/EN-US/pdhinst.exe f42448660def8cd7f42b34aa7bc7264745f4425e
+    try $WINE "$WINETRICKS_CACHE"/pdhinst.exe
+    try cp -f "$WINDIR"/temp/x86/Pdh.Dll "$WINDIR"/system32/pdh.dll
+}
+
+#----------------------------------------------------------------
+
+load_quicktime72() { 
+    echo "Quicktime needs gdiplus..."
+    load_gdiplus
+
+    # http://www.apple.com/support/downloads/quicktime72forwindows.html
+    download quicktime72 'http://wsidecar.apple.com/cgi-bin/nph-reg3rdpty2.pl/product=14402&cat=59&platform=osx&method=sa/QuickTimeInstaller.exe' bb89981f10cf21de57b9453e53cf81b9194271a9
+    unset QUICKTIME_QUIET
+    if test "$WINETRICKS_QUIET"x != x
+    then
+       QUICKTIME_QUIET="/qn"  # ISSETUPDRIVEN=0
+    fi
+    # set vista mode to inhibit directdraw overlay use that blacks the screen
+    set_winver vista
+    try $WINE "$WINETRICKS_CACHE"/quicktime72/QuickTimeInstaller.exe ALLUSERS=1 DESKTOP_SHORTCUTS=0 QTTaskRunFlags=0 QTINFO.BISQTPRO=1 SCHEDULE_ASUW=0 REBOOT_REQUIRED=No $QUICKTIME_QUIET > /dev/null 2>&1
+    if test "$WINETRICKS_QUIET"x = x
+    then
+        echo "You probably want to select Advanced / Safe Mode in the Quicktime control panel"
+        try $WINE control "$programfilesdir_win\\QuickTime\\QTSystem\\QuickTime.cpl"
+    fi
+    
+    unset_winver 
+    # user might want to set vista mode himself, or run
+    #  wine control ".wine/drive_c/Program Files/QuickTime/QTSystem/QuickTime.cpl"
+    # and pick Advanced / Safe Mode (gdi only).
+    # We could probably force that by overwriting QuickTime.qtp
+    # (probably in Program Files/QuickTime/QTSystem/QuickTime.qtp)
+    # but the format isn't known, so we'd have to override all other settings, too.
+}
+
+#----------------------------------------------------------------
+
+volnum() {
+    # Recent Microsoft installers are often based on "windows package manager", see
+    # http://support.microsoft.com/kb/262841 and
+    # http://www.microsoft.com/technet/prodtechnol/windowsserver2003/deployment/winupdte.mspx
+    # These installers check the drive name, and if it doesn't start with 'harddisk',
+    # they complain "Unable to find a volume for file extraction", see
+    # http://bugs.winehq.org/show_bug.cgi?id=5351 
+    # You may be able to work around this by using the installer's /x or /extract switch,
+    # but renaming drive_c to "harddiskvolume0" lets you just run the installer as normal.
+
+    if test ! -d "$WINEPREFIX"/harddiskvolume0/
+    then
+	ln -s drive_c "$WINEPREFIX"/harddiskvolume0
+	rm "$WINEPREFIX"/dosdevices/c:
+	ln -s ../harddiskvolume0 "$WINEPREFIX"/dosdevices/c: 
+        echo "Renamed drive_c to harddiskvolume0"
+    else
+        echo "drive_c already named harddiskvolume0"
+    fi
+}
+
+#----------------------------------------------------------------
+
+load_riched20() {
+    # http://support.microsoft.com/?kbid=249973
+    download . http://download.microsoft.com/download/winntsp/Patch/RTF/NT4/EN-US/Q249973i.EXE f0b7663f15dbd31410435483ba832318c7a70470
+    try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/Q249973i.EXE
+    try cp -f "$WINETRICKS_TMP"/riched??.dll "$WINDIR"/system32
+    override_dlls native,builtin riched20 riched32
+    
+    rm -rf "$WINETRICKS_TMP"/*
+}
+
+#----------------------------------------------------------------
+
+load_riched30() {
+    # http://www.novell.com/documentation/nm1/readmeen_web/readmeen_web.html#Akx3j64
+    # claims that Groupwise Messenger's View / Text Size command
+    # only works with riched30, and recommends getting it by installing 
+    # msi 2, which just happens to come with riched30 version of riched20
+    # (though not with a corresponding riched32, which might be a problem)
+    # http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=CEBBACD8-C094-4255-B702-DE3BB768148F
+    download . http://download.microsoft.com/download/WindowsInstaller/Install/2.0/W9XMe/EN-US/InstMsiA.exe e739c40d747e7c27aacdb07b50925b1635ee7366
+    try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/InstMsiA.exe
+    try cp -f "$WINETRICKS_TMP"/riched20.dll "$WINDIR"/system32
+    override_dlls native,builtin riched20 
+    
+    rm -rf "$WINETRICKS_TMP"/*
+}
+
+#----------------------------------------------------------------
+
+load_tahoma() {
+    # The tahoma and tahomabd fonts are needed by e.g. Steam
+    
+    download . http://download.microsoft.com/download/office97pro/fonts/1/w95/en-us/tahoma32.exe 888ce7b7ab5fd41f9802f3a65fd0622eb651a068
+    try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/tahoma32.exe
+    try cp -f "$WINETRICKS_TMP"/Tahoma.TTF "$winefontsdir"/tahoma.ttf
+    try cp -f "$WINETRICKS_TMP"/Tahomabd.TTF "$winefontsdir"/tahomabd.ttf
+    chmod +w "$winefontsdir"/tahoma*.ttf
+    rm -rf "$WINETRICKS_TMP"/*
+}
+
+#----------------------------------------------------------------
+
+load_urlmon() {
+    # This is an updated urlmon from IE 6.0
+    # See http://www.microsoft.com/downloads/details.aspx?familyid=85BB441A-5BB1-4A82-86EC-A249AF287513
+    # (Works for Dolphin Smalltalk, see http://bugs.winehq.org/show_bug.cgi?id=8258)
+    download . http://download.microsoft.com/download/8/2/0/820faffc-3ea0-4914-bca3-584235964ded/Q837251.exe bcc79b92ac3c06c4de3692672c3d70bdd36be892
+    try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE/Q837251.exe"
+    try cp -f "$WINETRICKS_TMP"/URLMON.DLL "$WINDIR"/system32/urlmon.dll
+    override_dlls native,builtin urlmon
+}
+
+#----------------------------------------------------------------
+
+load_vb2run() {
+    # Not referenced on MS web anymore. But the old Microsoft Software Library FTP still has it.
+    # See ftp://ftp.microsoft.com/Softlib/index.txt
+    download . ftp://ftp.microsoft.com/Softlib/MSLFILES/VBRUN200.EXE ac0568b73ee375408778e9b505df995f79ab907e
+    try unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_CACHE"/VBRUN200.EXE
+    try cp -f "$WINETRICKS_TMP/VBRUN200.DLL" "$WINDIR"/system32/
+
+}
+
+#----------------------------------------------------------------
+
+load_vb3run() {
+    # See http://support.microsoft.com/kb/196285
+    download . http://download.microsoft.com/download/vb30/utility/1/w9xnt4/en-us/vb3run.exe 518fcfefde9bf680695cadd06512efadc5ac2aa7
+    try unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_CACHE"/vb3run.exe
+    try cp -f "$WINETRICKS_TMP/Vbrun300.dll" "$WINDIR"/system32/
+
+}
+
+#----------------------------------------------------------------
+
+load_vb4run() {
+    # See http://support.microsoft.com/kb/196286
+    download . http://download.microsoft.com/download/vb40ent/sample27/1/w9xnt4/en-us/vb4run.exe 83e968063272e97bfffd628a73bf0ff5f8e1023b
+    try unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_CACHE"/vb4run.exe
+    try cp -f "$WINETRICKS_TMP/Vb40032.dll" "$WINDIR"/system32/
+    try cp -f "$WINETRICKS_TMP/Vb40016.dll" "$WINDIR"/system32/
+
+}
+
+#----------------------------------------------------------------
+
+load_vbvm50() {
+    download . http://download.microsoft.com/download/vb50pro/utility/1/win98/en-us/msvbvm50.exe 28bfaf09b8ac32cf5ffa81252f3e2fadcb3a8f27
+    try $WINE "$WINETRICKS_CACHE"/msvbvm50.exe $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_vbrun60() {
+    download . http://download.microsoft.com/download/vb60pro/install/6/win98me/en-us/vbrun60.exe 2dc00e5fc701492bcba7ac58f057ee43751e18e5
+    # Exits with status 43 for some reason?
+    $WINE "$WINETRICKS_CACHE"/vbrun60.exe $WINETRICKS_QUIET || true
+}
+
+#----------------------------------------------------------------
+
+load_vcrun6() {
+    # Load the Visual C++ 6 runtime libraries, including the elusive mfc42u.dll
+    if test -f "$WINDIR"/system32/mfc42u.dll
+    then
+        echo "vcrun6 already installed, skipping"
+        return
+    fi
+
+    if test ! -f "$WINETRICKS_CACHE"/vcredist.exe
+    then
+       download . http://download.microsoft.com/download/vc60pro/update/1/w9xnt4/en-us/vc6redistsetup_enu.exe 382c8f5a7f41189af8d4165cf441f274b7e2a457
+       rm -rf "$WINETRICKS_TMP"/*
+       
+       try $WINE "$WINETRICKS_CACHE"/vc6redistsetup_enu.exe "/T:`$WINE winepath -w "$WINETRICKS_TMP"`" /c $WINETRICKS_QUIET
+       if test ! -f "$WINETRICKS_TMP"/vcredist.exe
+       then
+          die vcredist.exe not found
+       fi
+       mv "$WINETRICKS_TMP"/vcredist.exe "$WINETRICKS_CACHE"
+    fi
+    # Delete some fake dlls to avoid vcredist installer warnings
+    rm -f "$WINDIR"/system32/msvcrt.dll
+    rm -f "$WINDIR"/system32/oleaut32.dll
+    rm -f "$WINDIR"/system32/olepro32.dll
+    # vcredist still exits with status 43.  Anyone know why?
+    $WINE "$WINETRICKS_CACHE"/vcredist.exe || true
+
+    # And then some apps need mfc42u.dll, dunno what right way
+    # is to get it, vcredist doesn't install it by default?
+    cd "$WINETRICKS_TMP"/
+    rm -rf "$WINETRICKS_TMP"/*
+    try cabextract "$WINETRICKS_CACHE"/vcredist.exe
+    mv mfc42u.dll "$WINDIR"/system32/
+    cd "$olddir"
+
+    override_dlls native,builtin msvcrt
+
+}
+
+#----------------------------------------------------------------
+
+load_vcrun2003() {
+    # Load the Visual C++ 2003 runtime libraries
+    # Sadly, I know of no Microsoft URL for these
+    echo "Installing BZFlag (which comes with the Visual C++ 2003 runtimes)"
+    download . $SOURCEFORGE/bzflag/BZEditW32_1.6.5_Installer.exe bdd1b32c4202fd77e6513fd507c8236888b09121
+    try $WINE "$WINETRICKS_CACHE"/BZEditW32_1.6.5_Installer.exe $WINETRICKS_S
+    try cp "$programfilesdir_unix/BZEdit1.6.5"/m*71* "$WINDIR"/system32/
+}
+
+#----------------------------------------------------------------
+
+load_vcrun2005() {
+    # Load the Visual C++ 2005 runtime libraries
+    # See http://www.microsoft.com/downloads/details.aspx?familyid=32BC1BEE-A3F9-4C13-9C99-220B62A191EE
+    download vcrun2005 http://download.microsoft.com/download/d/3/4/d342efa6-3266-4157-a2ec-5174867be706/vcredist_x86.exe 47fba37de95fa0e2328cf2e5c8ebb954c4b7b93c
+    try $WINE "$WINETRICKS_CACHE"/vcrun2005/vcredist_x86.exe $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_vcrun2005sp1() {
+    # Load the Visual C++ 2005 SP1 runtime libraries
+    # See http://www.microsoft.com/downloads/details.aspx?familyid=200b2fd9-ae1a-4a14-984d-389c36f85647
+    download vcrun2005sp1 http://download.microsoft.com/download/e/1/c/e1c773de-73ba-494a-a5ba-f24906ecf088/vcredist_x86.exe 7dfa98be78249921dd0eedb9a3dd809e7d215c8d 
+    try $WINE "$WINETRICKS_CACHE"/vcrun2005sp1/vcredist_x86.exe $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_vcrun2008() {
+    # Work around bug 5351 (http://bugs.winehq.org/show_bug.cgi?id=5351). In recent
+    # wine (>= 1.1.7) the bug is fixed. The workaround doesn't hurt anything, and lets
+    # installer work on older Wine (e.g., the stabe 1.0.1).
+    volnum
+
+    # Load the Visual C++ 2008 runtime libraries
+    # See http://www.microsoft.com/downloads/details.aspx?familyid=9b2da534-3e03-4391-8a4d-074b9f2bc1bf
+    download vcrun2008 http://download.microsoft.com/download/1/1/1/1116b75a-9ec3-481a-a3c8-1777b5381140/vcredist_x86.exe 56719288ab6514c07ac2088119d8a87056eeb94a 
+    try $WINE "$WINETRICKS_CACHE"/vcrun2008/vcredist_x86.exe $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_vcrun2008sp1() {
+    # This should be fixed in recent Wine, but for those using 1.0.1, fails.
+    volnum
+
+    # Load the Visual C++ 2008 SP1 runtime libraries
+    # See http://www.microsoft.com/downloads/details.aspx?FamilyID=a5c84275-3b97-4ab7-a40d-3802b2af5fc2
+    download vcrun2008sp1 http://download.microsoft.com/download/d/d/9/dd9a82d0-52ef-40db-8dab-795376989c03/vcredist_x86.exe 6939100e397cef26ec22e95e53fcd9fc979b7bc9
+    try $WINE "$WINETRICKS_CACHE"/vcrun2008sp1/vcredist_x86.exe $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_vjrun20() {
+    load_dotnet20
+    download vjrun20 http://download.microsoft.com/download/9/2/3/92338cd0-759f-4815-8981-24b437be74ef/vjredist.exe 80a098e36b90d159da915aebfbfbacf35f302bd8
+    try $WINE "$WINETRICKS_CACHE"/vjrun20/vjredist.exe $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_vlc() {
+    download . http://www.videolan.org/mirror-geo-redirect.php?file=vlc/0.8.6f/win32/vlc-0.8.6f-win32.exe b83558e4232c47a385dbc93ebdc2e6b942fbcfbf
+    try $WINE "$WINETRICKS_CACHE"/vlc-0.8.6f-win32.exe $WINETRICKS_S
+}
+
+#----------------------------------------------------------------
+
+load_wininet() {
+    # This is an updated wininet from IE 5.0.1.   
+    # (Good enough for Active Worlds browser.  Also helps "Avatar - Legends of the Arena" get to login screen.)
+    # See http://www.microsoft.com/downloads/details.aspx?familyid=6DEE32AB-B618-4FB3-9A45-CDD08162E167
+    download . http://download.microsoft.com/download/ie5/Update/1/WIN98/EN-US/3725.exe b048e0b4e303298de3317b16f7008c43ca71ddfe
+    try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE/3725.exe"
+    try cp -f "$WINETRICKS_TMP"/Wininet.dll "$WINDIR"/system32/wininet.dll
+    override_dlls native,builtin wininet
+}
+
+#----------------------------------------------------------------
+
+load_wme9() {
+    # See also http://www.microsoft.com/downloads/details.aspx?FamilyID=5691ba02-e496-465a-bba9-b2f1182cdf24
+    download wme9 http://download.microsoft.com/download/8/1/f/81f9402f-efdd-439d-b2a4-089563199d47/WMEncoder.exe 7a3f8781f3e5705651992ef0150ee30bc1295116
+
+    try $WINE "$WINETRICKS_CACHE"/wme9/WMEncoder.exe $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_wmp9() {
+    # Not really expected to work well yet; see
+    # http://appdb.winehq.org/appview.php?versionId=1449
+
+    set_winver win2k
+
+    # See also http://www.microsoft.com/windows/windowsmedia/player/9series/default.aspx
+    download wmp9 http://download.microsoft.com/download/1/b/c/1bc0b1a3-c839-4b36-8f3c-19847ba09299/MPSetup.exe 580536d10657fa3868de2869a3902d31a0de791b
+
+    # Have to run twice; see http://bugs.winehq.org/show_bug.cgi?id=1886
+    try $WINE "$WINETRICKS_CACHE"/wmp9/MPSetup.exe $WINETRICKS_QUIET
+    try $WINE "$WINETRICKS_CACHE"/wmp9/MPSetup.exe $WINETRICKS_QUIET
+
+    # Also install the codecs
+    # See http://www.microsoft.com/downloads/details.aspx?FamilyID=06fcaab7-dcc9-466b-b0c4-04db144bb601
+    download . http://download.microsoft.com/download/5/c/2/5c29d825-61eb-4b16-8eb8-58367d0464d5/WM9Codecs9x.exe 8b76bdcbea0057eb12b7966edab4b942ddacc253
+    try $WINE "$WINETRICKS_CACHE"/WM9Codecs9x.exe $WINETRICKS_QUIET
+
+    # Disable WMP's services, since they depend on unimplemented stuff, they trigger the GUI debugger several times
+    try $WINE regedit /D "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Cdr4_2K"
+    try $WINE regedit /D "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Cdralw2k"
+
+    unset_winver
+}
+
+#----------------------------------------------------------------
+
+load_wmp10() {
+    # See http://appdb.winehq.org/appview.php?iVersionId=3212
+
+    # See also http://www.microsoft.com/windows/windowsmedia/player/10
+    download . http://download.microsoft.com/download/1/2/A/12A31F29-2FA9-4F50-B95D-E45EF7013F87/MP10Setup.exe 69862273a5d9d97b4a2e5a3bd93898d259e86657
+
+    # Crashes on exit, but otherwise ok; see http://bugs.winehq.org/show_bug.cgi?id=12633
+    echo Executing $WINE "$WINETRICKS_CACHE"/MP10Setup.exe $WINETRICKS_QUIET
+    $WINE "$WINETRICKS_CACHE"/MP10Setup.exe $WINETRICKS_QUIET || true
+
+    # Also install the codecs
+    # See http://www.microsoft.com/downloads/details.aspx?FamilyID=06fcaab7-dcc9-466b-b0c4-04db144bb601
+    download . http://download.microsoft.com/download/5/c/2/5c29d825-61eb-4b16-8eb8-58367d0464d5/WM9Codecs9x.exe 8b76bdcbea0057eb12b7966edab4b942ddacc253
+    set_winver win2k
+    try $WINE "$WINETRICKS_CACHE"/WM9Codecs9x.exe $WINETRICKS_QUIET
+
+    # Disable WMP's services, since they depend on unimplemented stuff, they trigger the GUI debugger several times
+    try $WINE regedit /D "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Cdr4_2K"
+    try $WINE regedit /D "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Cdralw2k"
+
+    unset_winver
+}
+
+#----------------------------------------------------------------
+
+load_wsh56() {
+    # See also http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=C717D943-7E4B-4622-86EB-95A22B832CAA
+    # FIXME: depends on vcrun6, should we install that automatically?
+    download . http://download.microsoft.com/download/2/8/a/28a5a346-1be1-4049-b554-3bc5f3174353/WindowsXP-Windows2000-Script56-KB917344-x86-enu.exe f4692766caa3ee9b38d4166845486c6199a33457
+
+    try $WINE "$WINETRICKS_CACHE"/WindowsXP-Windows2000-Script56-KB917344-x86-enu.exe $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_wsh56js() {
+    # This installs jscript 5.6 (but not vbscript)
+    # See also http://www.microsoft.com/downloads/details.aspx?FamilyID=16dd21a1-c4ee-4eca-8b80-7bd1dfefb4f8&DisplayLang=en
+    download . http://download.microsoft.com/download/b/c/3/bc3a0c36-fada-497d-a3de-8b0139766f3b/Windows2000-KB917344-56-x86-enu.exe add5f74c5bd4da6cfae47f8306de213ec6ed52c8
+
+    try $WINE "$WINETRICKS_CACHE"/Windows2000-KB917344-56-x86-enu.exe $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_wsh56vb() {
+    # This installs vbscript 5.6 (but not jscript)
+    # See also http://www.microsoft.com/downloads/details.aspx?familyid=4F728263-83A3-464B-BCC0-54E63714BC75
+    download . http://download.microsoft.com/download/IE60/Patch/Q318089/W9XNT4Me/EN-US/vbs56men.exe 48f14a93db33caff271da0c93f334971f9d7cb22
+
+    try $WINE "$WINETRICKS_CACHE"/vbs56men.exe $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_xact() {
+    helper_directx_dl ;
+
+    # xactengine?_?.dll and X3DAudio?_?.dll - extract
+    cabextract -d "$WINETRICKS_TMP" -L -F '*_xact_*x86*' "$WINETRICKS_CACHE"/$DIRECTX_NAME
+    cabextract -d "$WINETRICKS_TMP" -L -F '*_x3daudio_*x86*' "$WINETRICKS_CACHE"/$DIRECTX_NAME
+    for x in `ls "$WINETRICKS_TMP"/*.cab`; do
+      cabextract -d "$WINDIR"/system32 -L -F '*.dll' "$x"
+    done
+
+    # xactengine?_?.dll - register
+    for x in `ls "$WINDIR"/system32/xactengine*`; do
+      try $WINE regsvr32 `basename $x`
+    done
+}
+
+#----------------------------------------------------------------
+
+load_xvid() {
+    # xvid
+    test -f "$WINDIR"/system32/[Mm][Ff][Cc]42.[Dd][Ll][Ll] || load_vcrun6
+    download . http://download2.videohelp.com/download/Xvid-1.1.3-27042008.exe f1008a11037c0b9368aa4979e62d0963d05d8007
+    try $WINE "$WINETRICKS_CACHE"/Xvid-1.1.3-27042008.exe $WINETRICKS_SILENT
+}
+
+#----------------------------------------------------------------
+
+print_version() {
+    echo "$VERSION"
+}
+
+#----------------------------------------------------------------
+
+tricks()
+{
+	# Name of this version of winetricks (YYYYMMDD)
+	VERSION=20090607
+
+	# Default values for important settings if not already in environment.
+	# These settings should not need editing here.
+	WINE=${WINE:-wine}
+	WINEPREFIX=${WINEPREFIX:-$HOME/.wine}
+
+	# Internal variables; these locations are not too important
+	WINETRICKS_CACHE=$HOME/.PlayOnLinux/tmp/winetrickscache
+	# Default to hiding the directory, by popular demand
+	test -d "$WINETRICKS_CACHE" || WINETRICKS_CACHE=$HOME/.PlayOnLinux/tmp/winetrickscache
+	WINETRICKS_TMP="$WINEPREFIX"/drive_c/winetrickstmp
+	mkdir -p "$WINETRICKS_TMP"
+	WINETRICKS_TMP_WIN='c:\winetrickstmp'
+
+	WINDIR="$WINEPREFIX/drive_c/windows"
+
+	# Which sourceforge mirror to use.  Rotate based on time, since 
+	# their mirror picker sometimes persistantly sends you to a broken
+	# mirror.
+	case `date +%S` in
+	*[01]) SOURCEFORGE=http://internap.dl.sourceforge.net/sourceforge ;;
+	*[23]) SOURCEFORGE=http://easynews.dl.sourceforge.net/sourceforge ;;
+	*)     SOURCEFORGE=http://downloads.sourceforge.net;;
+	esac
+
+	case "$1" in
+	-V|--version) 
+	  echo "Winetricks version $VERSION.  (C) 2007-2009 Dan Kegel et al.  LGPL."
+	  exit 0
+	  ;;
+	esac
+
+
+	GUI=0
+	case x"$1" in
+	x) usage ;;
+	esac
+	test -d "$WINEPREFIX" || $WINE cmd /c echo yes > /dev/null 2>&1
+	mkdir -p "$WINETRICKS_CACHE"
+	olddir=`pwd`
+	# Clean up after failed runs, if needed
+	rm -rf "$WINETRICKS_TMP"/*
+
+	# The folder-name is localized!
+	programfilesdir_win="`unset WINEDEBUG; $WINE cmd.exe /c echo "%ProgramFiles%"`"
+	test x"$programfilesdir_win" != x || die "$WINE cmd.exe /c echo '%ProgramFiles%' returned empty string"
+	programfilesdir_unix="`unset WINEDEBUG; $WINE winepath -u "$programfilesdir_win"`"
+	test x"$programfilesdir_unix" != x || die "winepath -u $programfilesdir_win returned empty string"
+
+	# (Fixme: get fonts path from SHGetFolderPath
+	# See also http://blogs.msdn.com/oldnewthing/archive/2003/11/03/55532.aspx)
+	#
+	# Did the user rename Fonts to fonts?
+	if test ! -d "$WINDIR"/Fonts && test -d "$WINDIR"/fonts 
+	then
+	    winefontsdir="$WINDIR"/fonts
+	else
+	    winefontsdir="$WINDIR"/Fonts
+	fi
+
+	# Mac folks tend to not have sha1sum, but we can make do with openssl
+	if [ -x "`which sha1sum`" ]
+	then
+	   SHA1SUM="sha1sum"
+	else
+	   SHA1SUM="openssl dgst -sha1"
+	fi
+
+	if [ ! -x "`which "cabextract"`" ]
+	then
+	  echo "Cannot find cabextract.  Please install it (e.g. 'sudo apt-get install cabextract' or 'sudo yum install cabextract')."
+	fi
+	WINETRICKS_QUIET="/q"
+	WINETRICKS_UNIXQUIET="-q"
+	WINETRICKS_SILENT="/silent"
+	WINETRICKS_S="/S"                 # for NSIS installers
+	
+	while test "$1" != ""
+	do
+	    PACKAGE=$1
+	    case $1 in
+	    -v) set -x;;
+	    art2kmin) load_art2kmin;;
+	    ahk|autohotkey) load_autohotkey;;
+	    cc580|comctl32) load_cc580;;
+	    comctl32.ocx) load_comctl32ocx;;
+	    colorprofile) load_colorprofile;;
+	    corefonts) load_corefonts;;
+	    controlpad|fm20) load_controlpad;;
+	    d3dx9) load_d3dx9;;
+	    dcom98) load_dcom98;;
+	    dirac|dirac0.8) load_dirac08;;
+	    directx9) load_directx9;;
+	    divx) load_divx;;
+	    dotnet1|dotnet11) load_dotnet11; load_fontfix;;
+	    dotnet2|dotnet20) load_dotnet20; load_fontfix;;
+	    firefox|firefox3) load_firefox3;;
+	    ffdshow) load_ffdshow;;
+	    flash) load_flash;;
+	    fontfix) load_fontfix;;
+	    fontsmooth-disable|fs-disable) load_fs_disable;;
+	    fontsmooth-gray|fontsmooth-grayscale|fontsmooth-enable|fs-enable) load_fs_grayscale;;
+	    fontsmooth-rgb|fs-rgb|fs-cleartype) load_fs_rgb;;
+	    fontsmooth-bgr|fs-bgr) load_fs_bgr;;
+	    gdiplus) load_gdiplus;;
+	    gecko) load_gecko;;
+	    gecko-dbg|geckodbg|gecko_dbg|geckodebug|gecko_debug|gecko-debug) load_gecko_dbg;;
+	    hosts) load_hosts;;
+	    icodecs) load_icodecs;;
+	    ie6) load_ie6;;
+	    jet40) load_jet40;;
+	    kde) load_kde;;
+	    liberation) load_liberation;;
+	    mdac25) load_mdac25;;
+	    mdac27) load_mdac27;;
+	    mdac28) load_mdac28;;
+	    mfc40) load_mfc40;;
+	    mono19|mono20) load_mono20;;
+	    mono22) load_mono22;;
+	    mpc) load_mpc;;
+	    msi2) load_msi2;;
+	    mshflxgd) load_mshflxgd;;
+	    msls31) load_msls31;;
+	    msmask) load_msmask;;
+	    msscript) load_msscript;;
+	    msxml3) load_msxml3;;
+	    msxml4) load_msxml4;;
+	    msxml6) load_msxml6;;
+	    ogg) load_ogg;;
+	    ole2) load_ole2;;
+	    pdh) load_pdh;;
+	    quicktime72) load_quicktime72;;
+	    riched20) load_riched20;;
+	    riched30) load_riched30;;
+	    tahoma) load_tahoma;;
+	    urlmon) load_urlmon;;
+	    vbrun200|vb2run) load_vb2run;;
+	    vbrun300|vb3run) load_vb3run;;
+	    vbrun400|vb4run) load_vb4run;;
+	    vbrun500|vbvm50|vb5run) load_vbvm50;;
+	    vbrun600|vbrun60|vb6run) load_vbrun60;;
+	    vcrun600|vcrun6|mfc42) load_vcrun6;;
+	    vcrun2003) load_vcrun2003;;
+	    vcrun2005) load_vcrun2005;;
+	    vcrun2005sp1) load_vcrun2005sp1;;
+	    vcrun2008) load_vcrun2008;;
+	    vcrun2008sp1) load_vcrun2008sp1;;
+	    vjrun20) load_vjrun20;;
+	    vlc) load_vlc;;
+	    wininet) load_wininet;;
+	    wme9) load_wme9;;
+	    wmp9) load_vcrun6; load_wsh56; load_wmp9;;
+	    wmp10) load_vcrun6; load_wsh56; load_wmp10;;
+	    wsh56) load_vcrun6; load_wsh56;;
+	    wsh56js) load_wsh56js;;
+	    wsh56vb) load_wsh56vb;;
+	    xact|xactengine|x3daudio) load_xact;;
+	    xvid) load_xvid;;
+
+	    fakeie6) set_fakeie6;;
+	    allfonts) load_corefonts; load_tahoma; load_liberation;;
+	    allvcodecs|allcodecs) load_vcrun6; load_ffdshow; load_xvid; load_icodecs;;
+	    nt40|winver=nt40) set_winver nt40;;
+	    win98|winver=win98) set_winver win98;;
+	    win2k|winver=win2k) set_winver win2k;;
+	    winxp|winver=winxp) set_winver winxp;;
+	    vista|winver=vista) set_winver vista;;
+	    winver=) unset_winver;;
+	    native_mdac) set_native_mdac;;
+	    native_oleaut32) override_dlls native,builtin oleaut32;;
+	    version) print_version;;
+	    volnum) volnum;;
+	    *) echo Unknown arg $1; usage ; exit 1;;
+	    esac
+	    # Provide a bit of feedback
+	    test "$WINETRICKS_QUIET" = "" && case $1 in 
+	    -q) echo Setting quiet mode;;
+	    -v) echo Setting verbose mode;;
+	    *) echo "Install of $1 done" ;;
+	    esac
+	    shift
+	    # cleanup
+	    rm -rf "$WINETRICKS_TMP"/*
+	done
+
+	test "$WINETRICKS_QUIET" = "" && echo winetricks done. || true
+}
diff --git a/lib/tricks~ b/lib/tricks~
new file mode 100644
index 0000000..138f32c
--- /dev/null
+++ b/lib/tricks~
@@ -0,0 +1,1959 @@
+#!/bin/bash
+# Quick and dirty script to download and install various 
+# redistributable runtime libraries
+#
+# Current maintainers: Austin English, Dan Kegel
+# Copyright 2007, 2008, 2009 Google (Dan Kegel, dank at kegel.com)
+# Copyright 2008, 2009 Austin English (austinenglish at gmail.com)
+# Thanks to Detlef Riekenberg for lots of updates
+# Thanks to Saulius Krasuckas for corrections and suggestions
+# Thanks to Erik Inge Bolsø for several patches
+# Please report problems at http://code.google.com/p/winezeug/issues
+# See also http://wiki.winehq.org/winetricks
+#
+# Note to contributors: please avoid gnu extensions in this shell script,
+# as it has to run on MacOSX and Solaris, too.  A good book on the topic is
+# "Portable Shell Programming" by Bruce Blinn
+
+# Prevent running with sudo/root. This would create a .winetrickscache as root 
+# in the user's home directory!
+
+# Edited by Quentin Pâris for PlayOnLinux
+
+die() {
+  echo "$@"
+
+  POL_SetupWindow_message "Winetricks Error : $@" "Error"
+  POL_SetupWindow_Close
+
+  exit 1
+}
+
+#----------------------------------------------------------------
+
+usage() {
+    set +x
+    echo "Usage: $0 [options] package [package] ..."
+    echo "This script can help you prepare your system for Windows applications"
+    echo "that mistakenly assume all users' systems have all the needed"
+    echo "redistributable runtime libraries or fonts."
+    echo "Some options require the Linux 'cabextract' program."
+    echo ""
+    echo "Options:"
+    echo " -q         quiet.  You must have already agreed to the EULAs."
+    echo " -v         verbose"
+    echo " -V         display Version"
+    echo "Packages:"    
+    echo " art2kmin      MS Access 2000 runtime.  Requires Access 2000 Dev license!"
+    echo " colorprofile  Standard RGB color profile"
+    echo " comctl32      MS common controls 5.80"
+    echo " comctl32.ocx  MS comctl32.ocx and mscomctl.ocx, comctl32 wrappers for VB6"
+    echo " controlpad    MS ActiveX Control Pad"
+    echo " corefonts     MS Arial, Courier, Times fonts"
+    echo " d3dx9         MS d3dx9_??.dll (from DirectX 9 user redistributable)"
+    echo " dcom98        MS DCOM (ole32, oleaut32); requires Win98 license!"
+    echo " dirac0.8      the obsolete Dirac 0.8 directshow filter"
+    echo " directx9      MS DirectX 9 user redistributable (not recommended! use d3dx9 instead)"
+    echo " divx          divx video codec"
+    echo " dotnet11      MS .NET 1.1 (requires Windows license)"
+    echo " dotnet20      MS .NET 2.0 (requires Windows license)"
+    echo " ffdshow       ffdshow video codecs"
+    echo " flash         Adobe Flash Player ActiveX and firefox plugins"
+    echo " fm20          MS Forms 2.0 Object Library"
+    echo " fontfix       Fix bad fonts which cause crash in some apps (e.g. .net)."
+    echo " fontsmooth-disable    Disables font smoothing"
+    echo " fontsmooth-gray       Enables grayscale font smoothing"
+    echo " fontsmooth-rgb        Enables subpixel smoothing for RGB LCDs"
+    echo " fontsmooth-bgr        Enables subpixel smoothing for BGR LCDs"
+    echo " gdiplus       MS gdiplus.dll (from powerpoint viewer)"
+    echo " gecko         The HTML rendering Engine (Mozilla)"
+    echo " gecko-dbg     The HTML rendering Engine (Mozilla), with debugging symbols"
+    echo " hosts         Adds empty C:\windows\system32\drivers\etc\{hosts,services} files"
+    echo " icodecs       Intel Codecs (Indeo)"
+    echo " jet40         MS Jet 4.0 Service Pack 8"
+    echo " liberation    Red Hat Liberation fonts (Sans, Serif, Mono)"
+    echo " mdac25        MS MDAC 2.5: Microsoft ODBC drivers, etc."
+    echo " mdac27        MS MDAC 2.7"
+    echo " mdac28        MS MDAC 2.8"
+    echo " mfc40         MS mfc40 (Microsoft Foundation Classes from Visual C++ 4)"
+    echo " mfc42         MS mfc42 (same as vcrun6 below)"
+    echo " mono20        mono-2.0.1"
+    echo " mono22        mono-2.2"
+    echo " msi2          MS Installer 2.0"
+    echo " mshflxgd      MS Hierarchical Flex Grid Control"
+    echo " msls31        MS Line Services 3.1 (needed by native riched?)"
+    echo " msmask        MS Masked Edit Control"
+    echo " msscript      MS Script Control"
+    echo " msxml3        MS XML version 3"
+    echo " msxml4        MS XML version 4"
+    echo " msxml6        MS XML version 6" 
+    echo " ogg           ogg filters/codecs: flac, theora, speex, vorbis, schroedinger"
+    echo " ole2          MS 16 bit OLE"
+    echo " pdh           MS pdh.dll (Performance Data Helper)"
+    echo " quicktime72   Apple Quicktime 7.2"
+    echo " riched20      MS riched20 and riched32"
+    echo " riched30      MS riched30"
+    echo " tahoma        MS Tahoma font (not part of corefonts)"
+    echo " urlmon        MS urlmon.dll"
+    echo " vb2run        MS Visual Basic 2 runtime"
+    echo " vb3run        MS Visual Basic 3 runtime"
+    echo " vb4run        MS Visual Basic 4 runtime"
+    echo " vb5run        MS Visual Basic 5 runtime"
+    echo " vb6run        MS Visual Basic 6 runtime"
+    echo " vcrun6        MS Visual C++ 6 sp4 libraries (mfc42, msvcp60, msvcrt)"
+    echo " vcrun2003     MS Visual C++ 2003 libraries (mfc71,msvcp71,msvcr71)"
+    echo " vcrun2005     MS Visual C++ 2005 libraries (mfc80,msvcp80,msvcr80)"
+    echo " vcrun2005sp1  MS Visual C++ 2005 sp1 libraries"
+    echo " vcrun2008     MS Visual C++ 2008 libraries (mfc90,msvcp90,msvcr90)"
+    echo " vcrun2008sp1  MS Visual C++ 2008 sp1 libraries"
+    echo " vjrun20       MS Visual J# 2.0 libraries (requires dotnet20)"
+    echo " wininet       MS wininet.dll (requires Windows license)"
+    echo " wme9          MS Windows Media Encoder 9 (requires Windows license)"
+    echo " wmp9          MS Windows Media Player 9 (requires Windows license)"
+    echo " wmp10         MS Windows Media Player 10 (requires Windows license)"
+    echo " wsh56         MS Windows Scripting Host 5.6"
+    echo " wsh56js       MS Windows scripting 5.6, jscript only, no cscript"
+    echo " wsh56vb       MS Windows scripting 5.6, vbscript only, no cscript"
+    echo " xact          MS XACT Engine (x3daudio?_?.dll, xactengine?_?.dll)"
+    echo " xvid          xvid video codec"
+    echo "Apps:"
+    echo " autohotkey    Autohotkey (open source gui scripting language)"
+    echo " firefox3      Firefox Version 3"
+    echo " ie6           Microsoft Internet Explorer 6.0"
+    echo " kde           KDE for Windows installer"
+    echo " mpc           Media Player Classic"
+    echo " vlc           VLC media player"
+    echo "Pseudopackages:"
+    echo " allfonts      All listed fonts (corefonts, tahoma, liberation)"
+    echo " allcodecs     All listed codecs (xvid, ffdshow, icodecs)"
+    echo " fakeie6       Set registry to claim IE6sp1 is installed"
+    echo " native_mdac   Override odbc32 and odbccp32"
+    echo " native_oleaut32 Override oleaut32"
+    echo " nt40          Set windows version to nt40"
+    echo " win98         Set windows version to Windows 98"
+    echo " win2k         Set windows version to Windows 2000"
+    echo " winxp         Set windows version to Windows XP"
+    echo " vista         Set windows version to Windows Vista"
+    echo " winver=       Set windows version to default (winxp)"
+    echo " volnum        Rename drive_c to harddiskvolume0 (needed by some installers)"
+}
+
+#----------------------------------------------------------------
+# Trivial GUI just to handle case where user tries running without commandline
+
+# Checks for known desktop environments
+# set variable DE to the desktop environments name, lowercase
+
+detectDE() {
+    if [ x"$KDE_FULL_SESSION" = x"true" ]
+    then 
+        DE=kde
+    elif [ x"$GNOME_DESKTOP_SESSION_ID" != x"" ]
+    then
+        DE=gnome
+    elif [ x"$DISPLAY" != x"" ]
+    then
+        DE=x
+    else 
+        DE=none
+    fi
+}
+
+kde_showmenu() {
+    title="$1"
+    shift
+    text="$1"
+    shift
+    col1name="$1"
+    shift
+    col2name="$1"
+    shift
+    while test $# -gt 0
+    do
+        args="$args $1 $1 off"
+        shift
+    done
+    kdialog --title "$title" --separate-output --checklist "$text" $args
+}
+
+x_showmenu() {
+    title="$1"
+    shift
+    text="$1"
+    shift
+    col1name="$1"
+    shift
+    col2name="$1"
+    shift
+    if test $# -gt 0
+    then
+        args="$1"
+        shift
+    fi
+    while test $# -gt 0
+    do
+        args="$args,$1"
+        shift
+    done
+    (echo "$title"; echo ""; echo "$text") | \
+    xmessage -print -file - -buttons "Cancel,$args" | sed 's/Cancel//'
+}
+
+showmenu()
+{
+    detectDE
+    case $DE in
+    kde) kde_showmenu "$@" ;;
+    gnome|x) x_showmenu "$@" ;;
+    none) usage 1>&2; exit 1;;
+    esac
+}
+
+
+#----------------------------------------------------------------
+
+#-----  Helpers  ------------------------------------------------
+
+# Execute with error checking
+try() {
+    # "VAR=foo try cmd" fails to put VAR in the environment
+    # with some versions of bash if try is a shell function?!
+    # Adding this explicit export works around it.
+    export WINEDLLOVERRIDES
+    POL_SetupWindow_wait_next_signal "Installing $PACKAGE ..." "$POL_TITLE"
+    "$@"
+    status=$?
+    POL_SetupWindow_wait_next_signal "Installing $PACKAGE ...  " "$POL_TITLE"
+    sleep 1
+    POL_SetupWindow_detect_exit
+    if test $status -ne 0
+    then        
+	die "Note: command '$@' returned status $status.  Aborting."
+    fi
+}
+
+# verify an sha1sum
+verify_sha1sum() {
+    wantsum=$1
+    file=$2
+   
+    gotsum=`$SHA1SUM < $file | sed 's/ .*//'`
+    if [ "$gotsum"x != "$wantsum"x ]
+    then
+       POL_SetupWindow_message "Warning : sha1sum mismatch!" "$POL_TITLE"
+    fi
+}
+
+# Download a file
+# Usage: package url [sha1sum [filename]]
+# Caches downloads in winetrickscache/$package
+download() {
+    if [ "$4"x != ""x ]
+    then
+        file="$4"
+    else
+        file=`basename "$2"`
+    fi
+    cache="$WINETRICKS_CACHE/$1"
+    mkdir -p "$cache"
+    if test ! -f "$cache/$file"
+    then
+        cd "$cache"
+        # Mac folks tend to have curl rather than wget
+        # On Mac, 'which' doesn't return good exit status
+        # Need to jam in --header "Accept-Encoding: gzip,deflate" else
+        # redhat.com decompresses liberation-fonts.tar.gz!
+	#grep -q "^http://" <<< $2
+	#if [ "$?" == "0" ] 
+	#then
+	#	POL_SetupWindow_download "Downloading $PACKAGE ..." "$POL_TITLE" "$2"
+	#else
+		POL_SetupWindow_wait_next_signal "Downloading $PACKAGE ..." "$POL_TITLE"
+	     	wget -nd -c --read-timeout=300 --retry-connrefused --header "Accept-Encoding: gzip,deflate" "$2"
+		POL_SetupWindow_detect_exit     
+        #fi
+        cd "$olddir"
+    fi
+    if [ "$3"x != ""x ]
+    then
+	verify_sha1sum $3  "$cache/$file"
+    fi
+}
+
+set_winver() {
+    echo "Setting Windows version to $1"
+    cat > "$WINETRICKS_TMP"/set-winver.reg <<_EOF_
+REGEDIT4
+
+[HKEY_CURRENT_USER\Software\Wine]
+"Version"="$1"
+
+_EOF_
+    try $WINE regedit "$WINETRICKS_TMP"/set-winver.reg
+}
+
+unset_winver() {
+    echo "Clearing Windows version back to default"
+    cat > "$WINETRICKS_TMP"/unset-winver.reg <<_EOF_
+REGEDIT4
+
+[HKEY_CURRENT_USER\Software\Wine]
+"Version"=-
+
+_EOF_
+    try $WINE regedit "$WINETRICKS_TMP"/unset-winver.reg
+}
+
+override_dlls() {
+    mode=$1
+    shift
+    echo Using $mode override for following DLLs: $@
+    cat > "$WINETRICKS_TMP"/override-dll.reg <<_EOF_
+REGEDIT4
+
+[HKEY_CURRENT_USER\Software\Wine\DllOverrides]
+_EOF_
+    while test "$1" != ""
+    do
+        case "$1" in
+        comctl32)
+           rm -rf "$WINDIR"/winsxs/manifests/x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.2600.2982_none_deadbeef.manifest
+           ;;
+        esac
+        echo "\"$1\"=\"$mode\"" >> "$WINETRICKS_TMP"/override-dll.reg
+	shift
+    done
+
+    try $WINE regedit "$WINETRICKS_TMP"/override-dll.reg
+    rm "$WINETRICKS_TMP"/override-dll.reg
+}
+
+override_app_dlls() {
+    app=$1
+    shift
+    mode=$1
+    shift
+    echo Using $mode override for following DLLs when running $app: $@
+    ( 
+    echo REGEDIT4 
+    echo "" 
+    echo "[HKEY_CURRENT_USER\\Software\\Wine\\AppDefaults\\$app\\DllOverrides]" 
+    ) > "$WINETRICKS_TMP"/override-dll.reg 
+
+    while test "$1" != ""
+    do
+        case "$1" in
+        comctl32)
+           rm -rf "$WINDIR"/winsxs/manifests/x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.2600.2982_none_deadbeef.manifest
+           ;;
+        esac
+        echo "\"$1\"=\"$mode\"" >> "$WINETRICKS_TMP"/override-dll.reg
+	shift
+    done
+
+    try $WINE regedit "$WINETRICKS_TMP"/override-dll.reg
+    rm "$WINETRICKS_TMP"/override-dll.reg
+}
+
+register_font() {
+    file=$1
+    shift
+    font=$1
+    #echo "Registering $file as $font"
+    cat > "$WINETRICKS_TMP"/register-font.reg <<_EOF_
+REGEDIT4
+
+[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Fonts]
+"$font"="$file"
+_EOF_
+    # too verbose
+    #try $WINE regedit "$WINETRICKS_TMP"/register-font.reg
+    $WINE regedit "$WINETRICKS_TMP"/register-font.reg
+}
+
+#----- common download for several verbs
+helper_directx_dl() {
+    # Mar 2009 DirectX 9c User Redistributable
+    # http://www.microsoft.com/downloads/details.aspx?FamilyID=0cf368e5-5ce1-4032-a207-c693d210f616&displaylang=en
+    download . http://download.microsoft.com/download/3/C/4/3C46A69A-CB0F-4CCA-B1E8-248D43270D5F/directx_mar2009_redist.exe 29957ee0d29b95019b082a47da5eab52f50cde0d
+
+    DIRECTX_NAME=directx_mar2009_redist.exe
+}
+
+#----- One function per package, in alphabetical order ----------
+
+load_art2kmin() {
+    # See http://support.microsoft.com/kb/243957
+    download . http://download.microsoft.com/download/office2000dev/art2kmin/1/win98/en-us/art2kmin.exe 73be2622254d1f857a204a03f068787542b985e9
+    try $WINE "$WINETRICKS_CACHE"/art2kmin.exe
+    cd "$WINEPREFIX/drive_c/ART2KMin Setup"
+    try $WINE Setup.exe INSTALLPFILES=1 /wait $WINETRICKS_QUIET
+    cd "$olddir"
+}
+
+#----------------------------------------------------------------
+
+load_autohotkey() {
+    download . http://www.autohotkey.net/programs/AutoHotkey104706_Install.exe 3d3d8845473dea477d6983d063f0afc9999d880f
+    try $WINE "$WINETRICKS_CACHE"/AutoHotkey104706_Install.exe $WINETRICKS_S
+}
+
+#----------------------------------------------------------------
+
+load_cc580() {
+    # http://www.microsoft.com/downloads/details.aspx?familyid=6f94d31a-d1e0-4658-a566-93af0d8d4a1e
+    download . http://download.microsoft.com/download/platformsdk/redist/5.80.2614.3600/w9xnt4/en-us/cc32inst.exe 94c3c494258cc54bd65d2f0153815737644bffde
+
+    try $WINE "$WINETRICKS_CACHE"/cc32inst.exe "/T:`$WINE winepath -w "$WINETRICKS_TMP"`" /c $WINETRICKS_QUIET
+    cd "$WINETRICKS_TMP"
+    try unzip "comctl32.exe"  
+    cd -
+    try $WINE "$WINETRICKS_TMP"/x86/50ComUpd.Exe "/T:`$WINE winepath -w "$WINETRICKS_TMP"`" /c $WINETRICKS_QUIET
+    try cp "$WINETRICKS_TMP"/comcnt.dll "$WINDIR"/system32/comctl32.dll
+
+    override_dlls native,builtin comctl32
+}
+
+#----------------------------------------------------------------
+
+load_comctl32ocx() {
+    # http://www.microsoft.com/downloads/details.aspx?FamilyID=25437D98-51D0-41C1-BB14-64662F5F62FE
+    download . http://download.microsoft.com/download/3/a/5/3a5925ac-e779-4b1c-bb01-af67dc2f96fc/VisualBasic6-KB896559-v1-ENU.exe f52cf2034488235b37a1da837d1c40eb2a1bad84
+
+    try cabextract -q --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/VisualBasic6-KB896559-v1-ENU.exe
+    try cp "$WINETRICKS_TMP"/mscomctl.ocx "$WINDIR"/system32/mscomctl.ocx
+    try cp "$WINETRICKS_TMP"/comctl32.ocx "$WINDIR"/system32/comctl32.ocx
+    try $WINE regsvr32 comctl32.ocx
+    try $WINE regsvr32 mscomctl.ocx
+}
+
+#----------------------------------------------------------------
+
+load_colorprofile() {
+    download . http://download.microsoft.com/download/whistler/hwdev1/1.0/wxp/en-us/ColorProfile.exe 6b72836b32b343c82d0760dff5cb51c2f47170eb
+    try unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_CACHE"/ColorProfile.exe
+    mkdir -p "$WINDIR"/system32/spool/drivers/color
+    try cp -f "$WINETRICKS_TMP/sRGB Color Space Profile.icm" "$WINDIR"/system32/spool/drivers/color
+}
+
+#----------------------------------------------------------------
+
+load_controlpad() {
+    # http://msdn.microsoft.com/en-us/library/ms968493.aspx
+    # Fixes error "Failed to load UniText..."
+    load_wsh56
+    download . http://download.microsoft.com/download/activexcontrolpad/install/4.0.0.950/win98mexp/en-us/setuppad.exe 8921e0f52507ca6a373c94d222777c750fb48af7
+    try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/setuppad.exe
+    echo "If setup says 'Unable to start DDE ...', press Ignore"
+    try $WINE "$WINETRICKS_TMP"/setup $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_corefonts() {
+    # See http://corefonts.sf.net
+    # TODO: let user pick mirror,
+    # see http://corefonts.sourceforge.net/msttcorefonts-2.0-1.spec for how
+    # TODO: add more fonts
+    
+    # Added More Fonts (see msttcorefonts)
+    # [*] Pointed download locations to sites that actually contained the
+    # fonts to download (as of 04-03-2008)			    
+    #download . $SOURCEFORGE/corefonts/andale32.exe c4db8cbe42c566d12468f5fdad38c43721844c69
+    download . $SOURCEFORGE/corefonts/arial32.exe 6d75f8436f39ab2da5c31ce651b7443b4ad2916e
+    download . $SOURCEFORGE/corefonts/arialb32.exe d45cdab84b7f4c1efd6d1b369f50ed0390e3d344
+    download . $SOURCEFORGE/corefonts/comic32.exe 2371d0327683dcc5ec1684fe7c275a8de1ef9a51
+    download . $SOURCEFORGE/corefonts/courie32.exe 06a745023c034f88b4135f5e294fece1a3c1b057
+    download . $SOURCEFORGE/corefonts/georgi32.exe 90e4070cb356f1d811acb943080bf97e419a8f1e
+    download . $SOURCEFORGE/corefonts/impact32.exe 86b34d650cfbbe5d3512d49d2545f7509a55aad2
+    download . $SOURCEFORGE/corefonts/times32.exe 20b79e65cdef4e2d7195f84da202499e3aa83060
+    download . $SOURCEFORGE/corefonts/trebuc32.exe 50aab0988423efcc9cf21fac7d64d534d6d0a34a
+    download . $SOURCEFORGE/corefonts/verdan32.exe f5b93cedf500edc67502f116578123618c64a42a
+    download . $SOURCEFORGE/corefonts/webdin32.exe 2fb4a42c53e50bc70707a7b3c57baf62ba58398f
+
+    # Natively installed versions of these fonts will cause the installers
+    # to exit silently. Because there are apps out there that depend on the
+    # files being present in the Windows font directory we use cabextract
+    # to obtain the files and register the fonts by hand.
+
+    # Andale needs a FontSubstitutes entry
+    # try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/andale32.exe
+
+    # Display EULA
+    test x"$WINETRICKS_QUIET" = x"" || try $WINE "$WINETRICKS_CACHE"/arial32.exe $WINETRICKS_QUIET
+
+    try cabextract -q --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/arial32.exe
+    try cp -f "$WINETRICKS_TMP"/Arial*.TTF "$winefontsdir"
+    register_font Arial.TTF "Arial (TrueType)"
+    register_font Arialbd.TTF "Arial Bold (TrueType)"
+    register_font Arialbi.TTF "Arial Bold Italic (TrueType)"
+    register_font Ariali.TTF "Arial Italic (TrueType)"
+
+    try cabextract -q --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/arialb32.exe
+    try cp -f "$WINETRICKS_TMP"/AriBlk.TTF "$winefontsdir"
+    register_font AriBlk.TTF "Arial Black (TrueType)"
+
+    try cabextract -q --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/comic32.exe
+    try cp -f "$WINETRICKS_TMP"/Comic*.TTF "$winefontsdir"
+    register_font Comic.TTF "Comic Sans MS (TrueType)"
+    register_font Comicbd.TTF "Comic Sans MS Bold (TrueType)"
+
+    try cabextract -q --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/courie32.exe
+    try cp -f "$WINETRICKS_TMP"/cour*.ttf "$winefontsdir"
+    register_font Cour.TTF "Courier New (TrueType)"
+    register_font CourBD.TTF "Courier New Bold (TrueType)"
+    register_font CourBI.TTF "Courier New Bold Italic (TrueType)"
+    register_font Couri.TTF "Courier New Italic (TrueType)"
+
+    try cabextract -q --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/georgi32.exe
+    try cp -f "$WINETRICKS_TMP"/Georgia*.TTF "$winefontsdir"
+    register_font Georgia.TTF "Georgia (TrueType)"
+    register_font Georgiab.TTF "Georgia Bold (TrueType)"
+    register_font Georgiaz.TTF "Georgia Bold Italic (TrueType)"
+    register_font Georgiai.TTF "Georgia Italic (TrueType)"
+
+    try cabextract -q --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/impact32.exe
+    try cp -f "$WINETRICKS_TMP"/Impact.TTF "$winefontsdir"
+    register_font Impact.TTF "Impact (TrueType)"
+
+    try cabextract -q --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/times32.exe
+    try cp -f "$WINETRICKS_TMP"/Times*.TTF "$winefontsdir"
+    register_font Times.TTF "Times New Roman (TrueType)"
+    register_font Timesbd.TTF "Times New Roman Bold (TrueType)"
+    register_font Timesbi.TTF "Times New Roman Bold Italic (TrueType)"
+    register_font Timesi.TTF "Times New Roman Italic (TrueType)"
+
+    try cabextract -q --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/trebuc32.exe
+    try cp -f "$WINETRICKS_TMP"/trebuc*.ttf "$winefontsdir"
+    register_font Trebuc.TTF "Trebucet MS (TrueType)"
+    register_font Trebucbd.TTF "Trebucet MS Bold (TrueType)"
+    register_font Trebucbi.TTF "Trebucet MS Bold Italic (TrueType)"
+    register_font Trebucit.TTF "Trebucet MS Italic (TrueType)"
+
+    try cabextract -q --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/verdan32.exe
+    try cp -f "$WINETRICKS_TMP"/Verdana*.TTF "$winefontsdir"
+    register_font Verdana.TTF "Verdana (TrueType)"
+    register_font Verdanab.TTF "Verdana Bold (TrueType)"
+    register_font Verdanaz.TTF "Verdana Bold Italic (TrueType)"
+    register_font Verdanai.TTF "Verdana Italic (TrueType)"
+
+    try cabextract -q --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/webdin32.exe
+    try cp -f "$WINETRICKS_TMP"/Webdings.TTF "$winefontsdir"
+    register_font Webdings.TTF "Webdings (TrueType)"
+}
+
+#----------------------------------------------------------------
+
+load_d3dx9() {
+    helper_directx_dl
+
+    # Kinder, less invasive directx - only extract and override d3dx9_??.dll
+    cabextract -d "$WINETRICKS_TMP" -L -F '*d3dx9*x86*' "$WINETRICKS_CACHE"/$DIRECTX_NAME
+    for x in `ls "$WINETRICKS_TMP"/*.cab`; do
+      cabextract -d "$WINDIR"/system32 -L -F '*.dll' "$x"
+    done
+
+    # For now, not needed, but when Wine starts preferring our builtin dll over native it will be.
+    override_dlls native d3dx9_24 d3dx9_25 d3dx9_26 d3dx9_27 d3dx9_28 d3dx9_29 d3dx9_30
+    override_dlls native d3dx9_31 d3dx9_32 d3dx9_33 d3dx9_34 d3dx9_35 d3dx9_36 d3dx9_37
+    override_dlls native d3dx9_38 d3dx9_39 d3dx9_40 d3dx9_41
+}
+
+#----------------------------------------------------------------
+
+load_dirac08() {
+    download . http://codecpack.nl/dirac_dsfilter_080.exe aacfcddf6b2636de5f0a50422ba9155e395318af
+    try $WINE "$WINETRICKS_CACHE"/dirac_dsfilter_080.exe $WINETRICKS_SILENT
+}
+
+#----------------------------------------------------------------
+
+load_directx9() {
+    helper_directx_dl
+
+    # Stefan suggested that, when installing, one should override as follows:
+    # 1) use builtin wintrust (we don't run native properly somehow?)
+    # 2) disable mscoree (else if it's present some module misbehaves?)
+    # 3) override native any directx DLL whose Wine version doesn't register itself well yet
+    # For #3, I have no idea which DLLs don't register themselves well yet,
+    # so I'm just listing a few of the basic ones.  Let's whittle that
+    # list down as soon as we can.  
+    echo "You probably shouldn't be using this. It's VERY invasive."
+    echo "Use 'winetricks d3dx9' instead."
+    set_winver win2k
+    WINEDLLOVERRIDES="wintrust=b,mscoree=,ddraw,d3d8,d3d9,dsound,dinput=n" \
+       try $WINE "$WINETRICKS_CACHE"/$DIRECTX_NAME /t:"$WINETRICKS_TMP_WIN" $WINETRICKS_QUIET
+
+    # How many of these do we really need?
+    # We should probably remove most of these...?
+    override_dlls native d3dim d3drm d3dx8 d3dx9_24 d3dx9_25 d3dx9_26 d3dx9_27 d3dx9_28 d3dx9_29
+    override_dlls native d3dx9_30 d3dx9_31 d3dx9_32 d3dx9_33 d3dx9_34 d3dx9_35 d3dx9_36 d3dx9_37
+    override_dlls native d3dx9_38 d3dx9_39 d3dx9_40 d3dx9_41 d3dxof
+    override_dlls native dciman32 ddrawex devenum dmband dmcompos dmime dmloader dmscript dmstyle 
+    override_dlls native dmsynth dmusic dmusic32 dnsapi dplay dplayx dpnaddr dpnet dpnhpast dpnlobby 
+    override_dlls native dswave dxdiagn mscoree msdmo qcap quartz streamci
+    override_dlls builtin d3d8 d3d9 dinput dinput8 dsound
+    
+    try $WINE "$WINETRICKS_TMP_WIN"/DXSETUP.exe
+
+    unset_winver
+}
+
+#----------------------------------------------------------------
+
+load_divx() {
+    # 6.8.2: 02203fdc4dddd13e789c39b22902837da31d2a1d ?
+    # 6.8.2: e36bf87c1675d0cf9169839bc0cd8f866b9db026 as of 4 jun 2008 as http://download.divx.com/divx/DivXInstaller.exe
+    # 6.8.3: f4f4387ef89316aea440a29f3e24c1f1945e14af as of 20 jun 2008 as http://download.divx.com/divx/abt/b1/DivXInstaller.exe
+    # 6.8.4: c5fcb1465a1bb24d1c104c2588fdb6706d1e1476 as of 10 Jul 2008 as http://download.divx.com/divx/abt/b1/DivXInstaller.exe
+    # 6.8.4: d28a2b041f4af45d22c4dedfe7608f2958cf997d as of 23 Aug 2008 as http://download.divx.com/divx/DivXInstaller.exe
+
+    # 7.? 4d91ef90ae26a6088851560c4263ef0cdbf09123 as of 22 Mar 2009 as http://download.divx.com/divx/DivXInstaller.exe
+    # 7.0 19c9ba3104025d1fab335e405e7f411dfbbcb477 as of 28 May 2009 as http://download.divx.com/divx/DivXInstaller.exe
+    download divx-7 http://download.divx.com/divx/DivXInstaller.exe 19c9ba3104025d1fab335e405e7f411dfbbcb477
+
+    try $WINE "$WINETRICKS_CACHE"/divx-7/DivXInstaller $WINETRICKS_SILENT
+}
+
+#----------------------------------------------------------------
+
+load_dcom98() {
+    # Install native dcom per http://wiki.winehq.org/NativeDcom
+    # to avoid http://bugs.winehq.org/show_bug.cgi?id=4228
+    # See http://www.microsoft.com/downloads/details.aspx?familyid=08b1ac1b-7a11-43e8-b59d-0867f9bdda66
+    download . http://download.microsoft.com/download/d/1/3/d13cd456-f0cf-4fb2-a17f-20afc79f8a51/DCOM98.EXE aff002bd03f17340b2bef2e6b9ea8e3798e9ccc1
+
+    # Pick win98 so we can install native dcom
+    set_winver win98
+
+    # Avoid "err:setupapi:SetupDefaultQueueCallbackA copy error 5 ..."
+    # Those messages are suspect, probably shouldn't be err's.
+    rm -f "$WINDIR"/system32/ole32.dll
+    rm -f "$WINDIR"/system32/olepro32.dll
+    rm -f "$WINDIR"/system32/oleaut32.dll
+    rm -f "$WINDIR"/system32/rpcrt4.dll
+
+    # Normally only need to override ole32, but overriding advpack
+    # as well gets us the correct exit status.
+    WINEDLLOVERRIDES="ole32,advpack=n" try $WINE "$WINETRICKS_CACHE"/DCOM98.EXE $WINETRICKS_QUIET
+
+    # Set native DCOM by default for all apps (ok, this might be overkill)
+    override_dlls native,builtin ole32 oleaut32 rpcrt4
+
+    # but not for a few builtin apps that don't like it
+    override_app_dlls explorer.exe builtin ole32 oleaut32 rpcrt4
+    override_app_dlls iexplore.exe builtin ole32 oleaut32 rpcrt4
+    override_app_dlls services.exe builtin ole32 oleaut32 rpcrt4
+    override_app_dlls wineboot.exe builtin ole32 oleaut32 rpcrt4
+    override_app_dlls winedevice.exe builtin ole32 oleaut32 rpcrt4
+
+    # and undo version win98
+    unset_winver
+}
+
+#----------------------------------------------------------------
+
+load_dotnet11() {
+    DOTNET_INSTALL_DIR="$WINDIR/Microsoft.NET/Framework/v1.1.4322" 
+
+    # need corefonts, else installer crashes
+    load_corefonts
+
+    # http://www.microsoft.com/downloads/details.aspx?FamilyId=262D25E3-F589-4842-8157-034D1E7CF3A3
+    download dotnet11 http://download.microsoft.com/download/a/a/c/aac39226-8825-44ce-90e3-bf8203e74006/dotnetfx.exe 16a354a2207c4c8846b617cbc78f7b7c1856340e
+    try $WINE "$WINETRICKS_CACHE"/dotnet11/dotnetfx.exe $WINETRICKS_QUIET
+} 
+
+#----------------------------------------------------------------
+
+load_dotnet20() {
+    # Recipe from http://bugs.winehq.org/show_bug.cgi?id=10467#c57
+    test -d "$WINDIR/gecko" || load_gecko
+    set_winver win2k
+    # See http://kegel.com/wine/l_intl-sh.txt for how l_intl.nls was generated
+    download dotnet20 http://kegel.com/wine/l_intl.nls
+    try cp -f "$WINETRICKS_CACHE"/dotnet20/l_intl.nls "$WINDIR/system32/"
+
+    # http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5
+    download dotnet20 http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe a3625c59d7a2995fb60877b5f5324892a1693b2a
+    if [ "$WINETRICKS_QUIET"x = ""x ]
+    then
+       try $WINE "$WINETRICKS_CACHE"/dotnet20/dotnetfx.exe 
+    else
+       try $WINE "$WINETRICKS_CACHE"/dotnet20/dotnetfx.exe /q /c:"install.exe /q"
+    fi
+    unset_winver
+} 
+
+#----------------------------------------------------------------
+
+# Fake IE per workaround in http://bugs.winehq.org/show_bug.cgi?id=3453
+# Just the first registry key works for most apps.
+# The App Paths part is required by a few apps, like Quickbooks Pro;
+# see http://windowsxp.mvps.org/ie/qbooks.htm
+set_fakeie6() {
+
+    cat > "$WINETRICKS_TMP"/fakeie6.reg <<"_EOF_"
+REGEDIT4
+
+[HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer]
+"Version"="6.0.2900.2180"
+
+[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\IEXPLORE.EXE]
+_EOF_
+
+    echo -n '@="' >>"$WINETRICKS_TMP"/fakeie6.reg
+    echo -n "${programfilesdir_win}" | sed "s/\\\\/\\\\\\\\/" >>"$WINETRICKS_TMP"/fakeie6.reg
+    echo '\\\\Internet Explorer\\\\iexplore.exe"' >>"$WINETRICKS_TMP"/fakeie6.reg
+
+    echo -n '"PATH"="' >>"$WINETRICKS_TMP"/fakeie6.reg
+    echo -n "${programfilesdir_win}" | sed "s/\\\\/\\\\\\\\/" >>"$WINETRICKS_TMP"/fakeie6.reg
+    echo '\\\\Internet Explorer"' >>"$WINETRICKS_TMP"/fakeie6.reg
+
+    try $WINE regedit "$WINETRICKS_TMP"/fakeie6.reg
+
+    # On old wineprefixes iexplore.exe is not created. Create a fake dll using
+    # shdocvw.dll that should have similar VERSIONINFO.
+    if [ ! -f "$programfilesdir_unix/Internet Explorer/iexplore.exe" ]; then
+        echo "You have an old wineprefix without iexplore.exe. Will create a fake now"
+        if [ ! -d "$programfilesdir_unix/Internet Explorer/iexplore.exe" ]; then
+            try mkdir "$programfilesdir_unix/Internet Explorer";
+        fi
+        try cp -f "$WINDIR/system32/shdocvw.dll" "$programfilesdir_unix/Internet Explorer/iexplore.exe"
+    fi
+}
+
+#----------------------------------------------------------------
+
+load_firefox3() {
+    # Firefox 3
+    download . "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.10/win32/en-US/Firefox%20Setup%203.0.10.exe" ef719c1fc82b7a716a54b5ad03b3b633ddbd6193 "Firefox Setup 3.0.10.exe"
+    if [ "$WINETRICKS_QUIET"x = ""x ]
+    then
+       try $WINE "$WINETRICKS_CACHE"/"Firefox Setup 3.0.10.exe" 
+    else
+       try $WINE "$WINETRICKS_CACHE"/"Firefox Setup 3.0.10.exe" -ms
+    fi
+}
+
+#----------------------------------------------------------------
+
+load_ffdshow() {
+    # ffdshow
+    download . $SOURCEFORGE/ffdshow-tryout/ffdshow_beta5_rev2033_20080705_clsid.exe 6da6837e2f400923ff5294a6591a88a3eee5ee40
+    try $WINE "$WINETRICKS_CACHE"/ffdshow_beta5_rev2033_20080705_clsid.exe $WINETRICKS_SILENT
+}
+
+#----------------------------------------------------------------
+
+load_flash() {
+    # www.adobe.com/products/flashplayer/
+
+    # Active X plugin
+    # http://blogs.adobe.com/psirt/2008/03/preparing_for_april_flash_play.html
+    # http://fpdownload.macromedia.com/get/flashplayer/current/licensing/win/install_flash_player_active_x.msi 
+    # 2008-04-01: old version sha1sum f4dd1c0c715b791db2c972aeba90d3b78372996a
+    # 2008-04-18: new version sha1sum 04ac79c4f1eb1e1ca689f27fa71f12bb5cd11cc2
+    # Version 10 http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_ax.exe
+    # 2008-11-27: 10 sha1sum 7f6850ae815e953311bb94a8aa9d226f97a646dd  
+    # 2009-02-27: shasum 86745020a25edc9695a1a6a4d59eae375665a0b3
+
+    download . http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_ax.exe 86745020a25edc9695a1a6a4d59eae375665a0b3
+    try $WINE "$WINETRICKS_CACHE"/install_flash_player_ax.exe $WINETRICKS_S
+
+    # Mozilla / Firefox plugin
+    # 2008-07-22: sha1sum 1e6f7627784a5b791e99ae9ad63133dc11c7940b
+    # 2008-11-27: sha1sum 20ec0300a8cae19105c903a7ec6c0801e016beb0
+    # 2009-02-27: sha1sum 770db9ad471ffd4357358bc16ff0bb6c98d71e5d
+    download . http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player.exe 770db9ad471ffd4357358bc16ff0bb6c98d71e5d
+    try $WINE "$WINETRICKS_CACHE"/install_flash_player.exe $WINETRICKS_S
+}
+
+#----------------------------------------------------------------
+
+load_fontfix() {
+    # some versions of ukai.ttf and uming.ttf crash .net and picasa
+    # See http://bugs.winehq.org/show_bug.cgi?id=7098#c9
+    # Could fix globally, but that needs root, so just fix for wine
+    if test -f /usr/share/fonts/truetype/arphic/ukai.ttf 
+    then
+        gotsum=`$SHA1SUM < /usr/share/fonts/truetype/arphic/ukai.ttf | sed 's/ .*//'`
+        # FIXME: do all affected versions of the font have same sha1sum as Gutsy?  Seems unlikely.
+        if [ "$gotsum"x = "96e1121f89953e5169d3e2e7811569148f573985"x ]
+        then
+            download . https://launchpadlibrarian.net/1499628/ttf-arphic-ukai_0.1.20060108.orig.tar.gz 92e577602d71454a108968e79ab667451f3602a2
+            cd "$WINETRICKS_TMP/"
+            tar -xzf "$WINETRICKS_CACHE/ttf-arphic-ukai_0.1.20060108.orig.tar.gz"
+            try mv ttf-arphic-ukai-0.1.20060108/*.ttf "$winefontsdir"
+            cd "$olddir"
+        fi
+    fi
+
+    if test -f /usr/share/fonts/truetype/arphic/uming.ttf 
+    then
+        gotsum=`$SHA1SUM < /usr/share/fonts/truetype/arphic/uming.ttf | sed 's/ .*//'`
+        if [ "$gotsum"x = "2a4f4a69e343c21c24d044b2cb19fd4f0decc82c"x ]
+        then
+            download . https://launchpadlibrarian.net/1564410/ttf-arphic-uming_0.1.20060108.orig.tar.gz 1439cdd731906e9e5311f320c2cb33262b24ef91
+            cd "$WINETRICKS_TMP/"
+            tar -xzf "$WINETRICKS_CACHE/ttf-arphic-uming_0.1.20060108.orig.tar.gz"
+            try mv ttf-arphic-uming-0.1.20060108/*.ttf "$winefontsdir"
+            cd "$olddir"
+        fi
+    fi
+
+    # The heterogeneity of SHA-1 checksums and paths for "bad" Samyak-Oriya.ttf
+    # fonts make checking impractical, so we'll substitute in a good version
+    # regardless of the installed version, if any.
+
+    download . http://cvs.fedora.redhat.com/repo/pkgs/samyak-fonts/samyak-fonts-1.2.0.tar.gz/a57339ba2b4279938a2d792ebdf70377/samyak-fonts-1.2.0.tar.gz f06d0eaac201a3ec79418d69d46807a52150f047
+    cd "$WINETRICKS_TMP/"
+    tar -xzf "$WINETRICKS_CACHE/samyak-fonts-1.2.0.tar.gz"
+    try mv samyak-fonts-1.2.0/oriya/Samyak-Oriya.ttf "$winefontsdir"
+    cd "$olddir"
+}
+
+#----------------------------------------------------------------
+load_fs_disable() {
+    cat > "$WINETRICKS_TMP"/fs_disable.reg <<_EOF_
+REGEDIT4
+
+[HKEY_CURRENT_USER\Control Panel\Desktop]
+"FontSmoothing"="0"
+"FontSmoothingGamma"=dword:00000578
+"FontSmoothingOrientation"=dword:00000001
+"FontSmoothingType"=dword:00000000
+
+_EOF_
+    try $WINE regedit "$WINETRICKS_TMP"/fs_disable.reg
+}
+#----------------------------------------------------------------
+load_fs_grayscale() {
+    cat > "$WINETRICKS_TMP"/fs_grayscale.reg <<_EOF_
+
+REGEDIT4
+
+[HKEY_CURRENT_USER\Control Panel\Desktop]
+"FontSmoothing"="2"
+"FontSmoothingGamma"=dword:00000578
+"FontSmoothingOrientation"=dword:00000001
+"FontSmoothingType"=dword:00000001
+
+_EOF_
+    try $WINE regedit "$WINETRICKS_TMP"/fs_grayscale.reg
+}
+#----------------------------------------------------------------
+load_fs_bgr() {
+    cat > "$WINETRICKS_TMP"/fs_bgr.reg <<_EOF_
+
+REGEDIT4
+
+[HKEY_CURRENT_USER\Control Panel\Desktop]
+"FontSmoothing"="2"
+"FontSmoothingGamma"=dword:00000578
+"FontSmoothingOrientation"=dword:00000000
+"FontSmoothingType"=dword:00000002
+
+_EOF_
+    try $WINE regedit "$WINETRICKS_TMP"/fs_bgr.reg
+}
+#----------------------------------------------------------------
+load_fs_rgb() {
+    cat > "$WINETRICKS_TMP"/fs_rgb.reg <<_EOF_
+
+REGEDIT4
+
+[HKEY_CURRENT_USER\Control Panel\Desktop]
+"FontSmoothing"="2"
+"FontSmoothingGamma"=dword:00000578
+"FontSmoothingOrientation"=dword:00000001
+"FontSmoothingType"=dword:00000002
+
+_EOF_
+    try $WINE regedit "$WINETRICKS_TMP"/fs_rgb.reg
+}
+#----------------------------------------------------------------
+
+load_gecko() {
+    # Load the HTML rendering Engine (Gecko)
+    # FIXME: shouldn't this code be in some script installed 
+    # as part of Wine instead of in winetricks?
+    # (e.g. we hardcode gecko's url here, but it's normally
+    # only hardcoded in wine.inf, and fetched from the registry thereafter,
+    # so we're adding a maintenance burden here.)
+    case `$WINE --version` in
+    wine-0*|wine-1.0*|wine-1.1|wine-1.1.?|wine-1.1.11)
+        GECKO_VERSION=0.1.0 
+        GECKO_SHA1SUM=c16f1072dc6b0ced20935662138dcf019a38cd56 
+        ;;
+    wine-1.1.1[234]*)
+        GECKO_VERSION=0.9.0 
+        GECKO_SHA1SUM=5cf410ff7fdd3f9d625f481f9d409968728d3d09
+        ;;
+    *)
+        GECKO_VERSION=0.9.1
+        GECKO_SHA1SUM=9a49fc691740596517e381b47096a4bdf19a87d8
+        ;;
+    esac
+
+    if test ! -f "$WINETRICKS_CACHE"/wine_gecko-$GECKO_VERSION.cab
+    then
+       # FIXME: busted if using curl!
+       download . "http://source.winehq.org/winegecko.php?v=$GECKO_VERSION" $GECKO_SHA1SUM wine_gecko-$GECKO_VERSION.cab
+    fi
+
+    cat > "$WINETRICKS_TMP"/geckopath.reg <<_EOF_
+REGEDIT4
+
+[HKEY_CURRENT_USER\\Software\\Wine\\MSHTML\\$GECKO_VERSION]
+_EOF_
+
+    #The registry-entry does not support an environment-variable
+    printf '"GeckoPath"="' >>"$WINETRICKS_TMP"/geckopath.reg
+    printf 'c:\\windows\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' | sed "s/\\\\/\\\\\\\\/g" >>"$WINETRICKS_TMP"/geckopath.reg
+
+    # extract the files
+    mkdir -p "$WINDIR"/gecko/$GECKO_VERSION
+    cd "$WINDIR"/gecko/$GECKO_VERSION
+    try cabextract $WINETRICKS_UNIXQUIET "$WINETRICKS_CACHE"/wine_gecko-$GECKO_VERSION.cab
+    cd "$olddir"
+
+    # set install-path
+    try $WINE regedit "$WINETRICKS_TMP"/geckopath.reg
+}
+
+#----------------------------------------------------------------
+
+load_gecko_dbg() {
+    # Load the HTML rendering Engine (Gecko), with debugging symbols
+    # FIXME: shouldn't this code be in some script installed 
+    # as part of Wine instead of in winetricks?
+    # (e.g. we hardcode gecko's url here, but it's normally
+    # only hardcoded in wine.inf, and fetched from the registry thereafter,
+    # so we're adding a maintenance burden here.)
+    case `$WINE --version` in
+    wine-0*|wine-1.0*|wine-1.1|wine-1.1.?|wine-1.1.11)
+        echo "There isn't a gecko debug build for your Wine version."
+        exit 1
+        ;;
+    wine-1.1.1[234]*)
+        GECKO_VERSION=0.9.0 
+        GECKO_SHA1SUM=23e354a82d7b7e61a6abe0384cc44669fbf92f86
+        ;;
+    *)
+        GECKO_VERSION=0.9.1
+        GECKO_SHA1SUM=a9b58d3330f8c78524fe4683f348302bfce96ff4
+        ;;
+    esac
+
+    if test ! -f "$WINETRICKS_CACHE"/wine_gecko-$GECKO_VERSION-dbg.cab
+    then
+       # FIXME: busted if using curl!
+       download . "http://downloads.sourceforge.net/wine/wine_gecko-$GECKO_VERSION-dbg.cab" $GECKO_SHA1SUM wine_gecko-$GECKO_VERSION-dbg.cab
+    fi
+
+    cat > "$WINETRICKS_TMP"/geckopath.reg <<_EOF_
+REGEDIT4
+
+[HKEY_CURRENT_USER\\Software\\Wine\\MSHTML\\$GECKO_VERSION]
+_EOF_
+
+    #The registry-entry does not support an environment-variable
+    printf '"GeckoPath"="' >>"$WINETRICKS_TMP"/geckopath.reg
+    printf 'c:\\windows\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' | sed "s/\\\\/\\\\\\\\/g" >>"$WINETRICKS_TMP"/geckopath.reg
+
+    # extract the files
+    mkdir -p "$WINDIR"/gecko/$GECKO_VERSION
+    cd "$WINDIR"/gecko/$GECKO_VERSION
+    try cabextract $WINETRICKS_UNIXQUIET "$WINETRICKS_CACHE"/wine_gecko-$GECKO_VERSION-dbg.cab
+    cd "$olddir"
+
+    # set install-path
+    try $WINE regedit "$WINETRICKS_TMP"/geckopath.reg
+}
+
+#----------------------------------------------------------------
+
+load_gdiplus() {
+    # gdiplus is documented here as a redistributable:
+    # http://msdn.microsoft.com/library/en-us/gdicpp/GDIPlus/GDIPlus.asp
+    # however, there's no standalone installer.  So install a random
+    # app that happens to bundle it.
+    download . http://download.microsoft.com/download/a/1/a/a1adc39b-9827-4c7a-890b-91396aed2b86/ppviewer.exe 4d13ca85d1d366167b6247ac7340b7736b1bff87
+    try $WINE "$WINETRICKS_CACHE"/ppviewer.exe $WINETRICKS_QUIET
+    # And then make it globally available.
+    try cp "$programfilesdir_unix/Microsoft Office/PowerPoint Viewer/GDIPLUS.DLL" "$WINDIR"/system32/
+
+    # For some reason, native,builtin isn't good enough...?
+    override_dlls native gdiplus
+}
+
+#----------------------------------------------------------------
+
+load_hosts() {
+    # Create fake system32\drivers\etc\hosts and system32\drivers\etc\services files.
+    # The hosts file is used to map network names to IP addresses without DNS.
+    # The services file is used map service names to network ports.
+    # Some apps depend on these files, but they're not implemented in wine.
+    # Fortunately, empty files in the correct location satisfy those apps. 
+    # See http://bugs.winehq.org/show_bug.cgi?id=12076
+    mkdir -p "$WINDIR"/system32/drivers/etc
+    touch "$WINDIR"/system32/drivers/etc/hosts
+    touch "$WINDIR"/system32/drivers/etc/services
+}
+
+#----------------------------------------------------------------
+load_icodecs() {
+    # http://downloadcenter.intel.com/Detail_Desc.aspx?strState=LIVE&ProductID=355&DwnldID=2846
+    download . http://downloadmirror.intel.com/2846/eng/codinstl.exe 2c5d64f472abe3f601ce352dcca75b4f02996f8a
+    try $WINE "$WINETRICKS_CACHE"/codinstl.exe
+    # Work around bug in codec's installer?
+    # http://support.britannica.com/other/touchthesky/win/issues/TSTUw_150.htm
+    # http://appdb.winehq.org/objectManager.php?sClass=version&iId=7091
+    try $WINE regsvr32 ir50_32.dll
+}
+
+#----------------------------------------------------------------
+load_ie6() {
+    load_msls31
+
+    # Unregister Wine IE
+    try $WINE iexplore -unregserver
+
+    # Change the override to the native so we are sure we use and register them
+    override_dlls native,builtin iexplore.exe itircl itss jscript mlang mshtml msimtf shdoclc shdocvw shlwapi urlmon
+
+    # Remove the fake dlls from the existing WINEPREFIX 
+    mv "$programfilesdir_unix"/"Internet Explorer"/iexplore.exe "$programfilesdir_unix"/"Internet Explorer"/iexplore.exe.bak
+    for dll in itircl itss jscript mlang mshtml msimtf shdoclc shdocvw shlwapi urlmon
+    do
+        test -f "$WINDIR"/system32/$dll.dll && 
+          mv "$WINDIR"/system32/$dll.dll "$WINDIR"/system32/$dll.dll.bak
+    done
+
+    # The installer doesn't want to install iexplore.exe in XP mode.
+    set_winver win2k
+
+    # Workaround a IE6 Installer bug, not Wine's fault
+    # See http://bugs.winehq.org/show_bug.cgi?id=5409
+    # Actual value downloaded doesn't matter
+    rm -f "$WINETRICKS_CACHE"/ie6sites.dat
+    download . http://www.microsoft.com/windows/ie/ie6sp1/download/rtw/x86/ie6sites.dat
+
+    # Install
+    download . http://download.microsoft.com/download/ie6sp1/finrel/6_sp1/W98NT42KMeXP/EN-US/ie6setup.exe f3ab61a785eb9611fa583612e83f3b69377f2cef
+    try $WINE "$WINETRICKS_CACHE"/ie6setup.exe
+
+    # Work around DLL registration bug until ierunonce/RunOnce/wineboot is fixed
+    # FIXME: whittle down this list 
+    cd "$WINDIR"/system32/
+    for i in actxprxy.dll browseui.dll browsewm.dll cdfview.dll ddraw.dll \
+      dispex.dll dsound.dll iedkcs32.dll iepeers.dll iesetup.dll \
+      imgutil.dll inetcomm.dll inseng.dll isetup.dll jscript.dll laprxy.dll \
+      mlang.dll mshtml.dll mshtmled.dll msi.dll msident.dll \
+      msoeacct.dll msrating.dll mstime.dll msxml3.dll occache.dll \
+      ole32.dll oleaut32.dll olepro32.dll pngfilt.dll quartz.dll \
+      rpcrt4.dll rsabase.dll rsaenh.dll scrobj.dll scrrun.dll \
+      shdocvw.dll shell32.dll urlmon.dll vbscript.dll webcheck.dll \
+      wshcon.dll wshext.dll asctrls.ocx hhctrl.ocx mscomct2.ocx \
+      plugin.ocx proctexe.ocx tdc.ocx webcheck.dll wshom.ocx
+    do
+        $WINE regsvr32 /i $i > /dev/null 2>&1
+    done
+
+    # Set windows version back to user's default. Leave at win2k for better rendering (is there a bug for that?)
+    unset_winver
+
+    # try $WINE "$programfilesdir_unix"/"Internet Explorer"/IEXPLORE.EXE http://www.winehq.org
+}
+
+#----------------------------------------------------------------
+
+load_jet40() {
+    # http://support.microsoft.com/kb/239114
+    # See also http://bugs.winehq.org/show_bug.cgi?id=6085
+    download . http://download.microsoft.com/download/4/3/9/4393c9ac-e69e-458d-9f6d-2fe191c51469/jet40sp8_9xnt.exe 8cd25342030857969ede2d8fcc34f3f7bcc2d6d4
+    try $WINE "$WINETRICKS_CACHE"/jet40sp8_9xnt.exe $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_kde() {
+    download . http://www.winkde.org/pub/kde/ports/win32/installer/kdewin-installer-gui-0.9.5-0.exe c2a95102312ca859fce5190307748da51fae644e
+    mkdir -p "$programfilesdir_unix/kde"
+    try cp "$WINETRICKS_CACHE"/kdewin-installer-gui-0.9.5-0.exe "$programfilesdir_unix/kde"
+    cd "$programfilesdir_unix/kde"
+    # This reports an errorlevel of 1, even for success. See https://bugs.kde.org/show_bug.cgi?id=194796
+    $WINE "$programfilesdir_win\\kde\\kdewin-installer-gui-0.9.5-0.exe" || true
+    cd "$olddir"
+}
+
+#----------------------------------------------------------------
+
+load_liberation() {
+    # http://www.redhat.com/promo/fonts/
+    if [ `uname -s` = 'SunOS' ] || [ `uname -s` = 'Solaris' ]; then
+    echo "If you get 'ERROR: Certificate verification error for fedorahosted.org: unable to get local issuer certificate':"
+    echo "Then you need to add Verisign root certificates to your local keystore."
+    echo "OpenSolaris users, see: http://www.linuxtopia.org/online_books/opensolaris_2008/SYSADV1/html/swmgrpatchtasks-14.html"
+    echo "Or edit winetricks' download function, and add '--no-check-certificate' to the command."
+    fi
+    
+    download . https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-1.04.tar.gz 097882c92e3260742a3dc3bf033792120d8635a3
+    cd "$WINETRICKS_TMP"
+    tar -xzvf "$WINETRICKS_CACHE"/liberation-fonts-1.04.tar.gz
+    mv liberation-fonts-1.04/*.ttf "$winefontsdir"
+    rm -rf "$WINETRICKS_TMP"/*
+    cd "$olddir"
+}
+
+#----------------------------------------------------------------
+
+set_native_mdac() {
+    # Set those overrides globally so user programs get MDAC's odbc
+    # instead of wine's unixodbc
+    override_dlls native,builtin odbc32 odbccp32
+}
+
+#----------------------------------------------------------------
+
+load_mdac25() {
+    download mdac25 http://download.microsoft.com/download/e/e/4/ee4fe9ee-6fa1-4ab6-ab8c-fe1769f4edcf/mdac_typ.exe 09e974a5dbebaaa08c7985a4a1126886dc05fd87
+    set_native_mdac
+    set_winver nt40
+    try $WINE "$WINETRICKS_CACHE"/mdac25/mdac_typ.exe
+    unset_winver
+}
+
+#----------------------------------------------------------------
+
+load_mdac27() {
+    download mdac27 http://download.microsoft.com/download/3/b/f/3bf74b01-16ba-472d-9a8c-42b2b4fa0d76/mdac_typ.exe f68594d1f578c3b47bf0639c46c11c5da161feee
+    set_native_mdac
+    set_winver win2k
+    try $WINE "$WINETRICKS_CACHE"/mdac27/mdac_typ.exe
+    unset_winver
+}
+
+#----------------------------------------------------------------
+
+load_mdac28() {
+    download mdac28 http://download.microsoft.com/download/c/d/f/cdfd58f1-3973-4c51-8851-49ae3777586f/MDAC_TYP.EXE 91bd59f0b02b67f3845105b15a0f3502b9a2216a
+    set_native_mdac
+    set_winver win98
+    try $WINE "$WINETRICKS_CACHE"/mdac28/MDAC_TYP.EXE
+    unset_winver
+}
+
+#----------------------------------------------------------------
+
+load_mfc40() {
+    # See http://support.microsoft.com/kb/122244
+    download . http://download.microsoft.com/download/ole/ole2v/3.5/w351/en-us/ole2v.exe c6cac71f32405ccb09c6f375e0738e6e13f073e4
+    try unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_CACHE"/ole2v.exe
+    try cp -f "$WINETRICKS_TMP"/MFC40.DLL "$WINDIR"/system32/
+
+    rm -rf "$WINETRICKS_TMP"/*
+}
+
+#----------------------------------------------------------------
+
+load_mono20() {
+    # Load Mono, have it handle all .net requests
+    download .  ftp://ftp.novell.com/pub/mono/archive/2.0.1/windows-installer/1/mono-2.0.1-gtksharp-2.10.4-win32-1.exe ccb67ac41b59522846e47d0c423836b9d334c088
+    # Anyone know how to get it to do a silent install?
+    try $WINE "$WINETRICKS_CACHE"/mono-2.0.1-gtksharp-2.10.4-win32-1.exe
+
+    cat > "$WINETRICKS_TMP"/mono_2.0.reg <<_EOF_
+REGEDIT4
+
+[HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727]
+"Install"=dword:00000001
+"SP"=dword:00000001
+
+[HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\policy\v2.0]
+"4322"="3706-4322"
+_EOF_
+    try $WINE regedit "$WINETRICKS_TMP"/mono_2.0.reg
+    rm -f "$WINETRICKS_TMP"/mono_2.0.reg
+}
+
+#----------------------------------------------------------------
+
+load_mono22() {
+    # Load Mono, have it handle all .net requests
+    download .  ftp://ftp.novell.com/pub/mono/archive/2.2/windows-installer/5/mono-2.2-gtksharp-2.12.7-win32-5.exe be977dfa9c49deea1be02ba4a2228e343f1e5840
+    # Anyone know how to get it to do a silent install?
+    try $WINE "$WINETRICKS_CACHE"/mono-2.2-gtksharp-2.12.7-win32-5.exe
+
+    # FIXME: what should this be for mono 2.2?
+    cat > "$WINETRICKS_TMP"/mono_2.0.reg <<_EOF_
+REGEDIT4
+
+[HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727]
+"Install"=dword:00000001
+"SP"=dword:00000001
+
+[HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\policy\v2.0]
+"4322"="3706-4322"
+_EOF_
+    try $WINE regedit "$WINETRICKS_TMP"/mono_2.0.reg
+    rm -f "$WINETRICKS_TMP"/mono_2.0.reg
+}
+
+#----------------------------------------------------------------
+
+load_mpc() {
+    download . $SOURCEFORGE/guliverkli2/mplayerc_20080414.zip bc9f922d7151e7cc7fef429b085cf208ef989bab
+    cd "$WINEPREFIX"/drive_c 
+    try unzip "$WINETRICKS_CACHE"/mplayerc_20080414.zip
+    cd "$olddir"
+    echo MPC now available as c:/mplayerc.exe
+}
+
+#----------------------------------------------------------------
+
+load_msi2() {
+    # Install native msi per http://wiki.winehq.org/NativeMsi
+    # http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=CEBBACD8-C094-4255-B702-DE3BB768148F
+    download . http://download.microsoft.com/download/WindowsInstaller/Install/2.0/W9XMe/EN-US/InstMsiA.exe e739c40d747e7c27aacdb07b50925b1635ee7366
+
+    # Pick win98 so we can install native msi
+    set_winver win98
+
+    # Avoid "err:setupapi:SetupDefaultQueueCallbackA copy error 5 ..."
+    rm -f "$WINDIR"/system32/msi.dll
+    rm -f "$WINDIR"/system32/msiexec.exe
+
+    WINEDLLOVERRIDES="msi,msiexec.exe=n" try $WINE "$WINETRICKS_CACHE"/InstMSIA.exe $WINETRICKS_QUIET
+
+    override_dlls native,builtin msi msiexec.exe
+
+    # and undo version win98
+    unset_winver
+}
+
+#----------------------------------------------------------------
+
+load_mshflxgd() {
+    # http://msdn.microsoft.com/en-us/library/aa240864(VS.60).aspx
+    # orig: 5f9c7a81022949bfe39b50f2bbd799c448bb7377
+    # Jan 2009: 7ad74e589d5eefcee67fa14e65417281d237a6b6
+    # May 2009: bd8aa796e16e5f213414af78931e0379d9cbe292
+    download .  http://activex.microsoft.com/controls/vb6/MSHFLXGD.CAB bd8aa796e16e5f213414af78931e0379d9cbe292
+    try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/MSHFLXGD.CAB
+    try cp -f "$WINETRICKS_TMP"/[Mm][Ss][Hh][Ff][Ll][Xx][Gg][Dd].[Oo][Cc][Xx] "$WINDIR"/system32
+}
+
+#----------------------------------------------------------------
+
+load_msls31() {
+    # Install native Microsoft Line Services (needed by e-Sword, possibly only when using native riched20)
+    download . http://download.microsoft.com/download/WindowsInstaller/Install/2.0/W9XMe/EN-US/InstMsiA.exe e739c40d747e7c27aacdb07b50925b1635ee7366
+    try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/InstMsiA.exe
+    try cp -f "$WINETRICKS_TMP"/msls31.dll "$WINDIR"/system32
+}
+
+#----------------------------------------------------------------
+
+load_msmask() {
+    # http://msdn.microsoft.com/en-us/library/11405hcf(VS.71).aspx
+    # http://bugs.winehq.org/show_bug.cgi?id=2934
+    # old: 3c6b26f68053364ea2e09414b615dbebafb9d5c3
+    # May 2009: 30e55679e4a13fe4d9620404476f215f93239292 
+    download .  http://activex.microsoft.com/controls/vb6/MSMASK32.CAB 30e55679e4a13fe4d9620404476f215f93239292 
+    try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/MSMASK32.CAB
+    try cp -f "$WINETRICKS_TMP"/[Mm][Ss][Mm][Aa][Ss][Kk]32.[Oo][Cc][Xx] "$WINDIR"/system32/msmask32.ocx
+    try $WINE regsvr32 msmask32.ocx
+}
+
+#----------------------------------------------------------------
+
+load_msscript() {
+    # http://msdn.microsoft.com/scripting/scriptcontrol/x86/sct10en.exe
+    # http://www.microsoft.com/downloads/details.aspx?familyid=d7e31492-2595-49e6-8c02-1426fec693ac
+    download .  http://download.microsoft.com/download/d/2/a/d2a7430c-6d5b-48e9-96c4-3c751be7bffe/sct10en.exe fd9f2f23357ab11ae70682d6864f7e9f188adf2a
+    try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/sct10en.exe
+    try cp -f "$WINETRICKS_TMP"/msscript.ocx "$WINDIR"/system32
+    try $WINE regsvr32 msscript.ocx
+}
+
+#----------------------------------------------------------------
+
+load_msxml3() {
+    # Service Pack 5
+    #download http://download.microsoft.com/download/a/5/e/a5e03798-2454-4d4b-89a3-4a47579891d8/msxml3.msi
+    # Service Pack 7
+    download . http://download.microsoft.com/download/8/8/8/888f34b7-4f54-4f06-8dac-fa29b19f33dd/msxml3.msi d4c2178dfb807e1a0267fce0fd06b8d51106d913
+    # http://bugs.winehq.org/show_bug.cgi?id=7849 fixed since 0.9.37
+    override_dlls native,builtin msxml3
+    try $WINE msiexec /i "$WINETRICKS_CACHE"/msxml3.msi $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_msxml4() {
+    # http://www.microsoft.com/downloads/details.aspx?familyid=24B7D141-6CDF-4FC4-A91B-6F18FE6921D4
+    if test ! -f "$WINETRICKS_CACHE"/msxml4.msi
+    then
+       download . http://download.microsoft.com/download/e/2/e/e2e92e52-210b-4774-8cd9-3a7a0130141d/msxml4-KB927978-enu.exe d364f9fe80c3965e79f6f64609fc253dfeb69c25
+       rm -rf "$WINETRICKS_TMP"/*
+
+       try $WINE "$WINETRICKS_CACHE"/msxml4-KB927978-enu.exe "/x:`$WINE winepath -w "$WINETRICKS_TMP"`" $WINETRICKS_QUIET
+       if test ! -f "$WINETRICKS_TMP"/msxml.msi
+       then
+          die msxml.msi not found
+       fi
+       mv "$WINETRICKS_TMP"/msxml.msi "$WINETRICKS_CACHE"/msxml4.msi
+    fi
+
+    try $WINE msiexec /i "$WINETRICKS_CACHE"/msxml4.msi $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_msxml6() {
+    # http://www.microsoft.com/downloads/details.aspx?FamilyID=993c0bcf-3bcf-4009-be21-27e85e1857b1
+    download . http://download.microsoft.com/download/2/e/0/2e01308a-e17f-4bf9-bf48-161356cf9c81/msxml6.msi 2308743ddb4cb56ae910e461eeb3eab0a9e58058
+
+    try $WINE msiexec /i "$WINETRICKS_CACHE"/msxml6.msi $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_ogg() {
+    # flac, ogg, speex, vorbis, ogm source, ogg source
+    download . http://cross-lfs.org/~mlankhorst/oggcodecs_0.81.2.exe c9d10a8f1b65b9f3824e227333d66247e14fad4c
+    #try $WINE "$WINETRICKS_CACHE"/oggcodecs_0.81.2.exe $WINETRICKS_QUIET
+    # oh, and the new schroedinger direct show filter, too
+    # see following URLs for more info
+    # http://www.diracvideo.org/
+    # http://cross-lfs.org/~mlankhorst/direct-schro.txt
+    # http://www.diracvideo.org/git?p=direct-schro.git;a=summary
+    # Requires wine-1.1.1
+    download . http://cross-lfs.org/~mlankhorst/direct-schro.dll
+    try cp "$WINETRICKS_CACHE"/direct-schro.dll "$WINDIR"/system32/direct-schro.dll
+    # This is currently broken. Maarten's not sure why.
+    try $WINE regsvr32 direct-schro.dll
+}
+
+#----------------------------------------------------------------
+
+load_ole2() {
+    # http://support.microsoft.com/kb/123087/EN-US/
+    download . http://download.microsoft.com/download/win31/update/2.03/win/en-us/ww1116.exe b803991c40f387464b61f606536b7c98a88245d2
+    try unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_CACHE"/ww1116.exe
+    set_winver win31
+    cd "$WINETRICKS_TMP"
+    try $WINE setup.exe
+    cd "$olddir"
+    unset_winver 
+
+    override_dlls native,builtin COMPOBJ.DLL OLE2CONV.DLL OLE2DISP.DLL OLE2.DLL 
+    override_dlls native,builtin OLE2NLS.DLL OLE2PROX.DLL STORAGE.DLL TYPELIB.DLL
+}
+
+#----------------------------------------------------------------
+
+load_pdh() {
+    # http://support.microsoft.com/kb/284996
+    download . http://download.microsoft.com/download/platformsdk/Redist/5.0.2195.2668/NT4/EN-US/pdhinst.exe f42448660def8cd7f42b34aa7bc7264745f4425e
+    try $WINE "$WINETRICKS_CACHE"/pdhinst.exe
+    try cp -f "$WINDIR"/temp/x86/Pdh.Dll "$WINDIR"/system32/pdh.dll
+}
+
+#----------------------------------------------------------------
+
+load_quicktime72() { 
+    echo "Quicktime needs gdiplus..."
+    load_gdiplus
+
+    # http://www.apple.com/support/downloads/quicktime72forwindows.html
+    download quicktime72 'http://wsidecar.apple.com/cgi-bin/nph-reg3rdpty2.pl/product=14402&cat=59&platform=osx&method=sa/QuickTimeInstaller.exe' bb89981f10cf21de57b9453e53cf81b9194271a9
+    unset QUICKTIME_QUIET
+    if test "$WINETRICKS_QUIET"x != x
+    then
+       QUICKTIME_QUIET="/qn"  # ISSETUPDRIVEN=0
+    fi
+    # set vista mode to inhibit directdraw overlay use that blacks the screen
+    set_winver vista
+    try $WINE "$WINETRICKS_CACHE"/quicktime72/QuickTimeInstaller.exe ALLUSERS=1 DESKTOP_SHORTCUTS=0 QTTaskRunFlags=0 QTINFO.BISQTPRO=1 SCHEDULE_ASUW=0 REBOOT_REQUIRED=No $QUICKTIME_QUIET > /dev/null 2>&1
+    if test "$WINETRICKS_QUIET"x = x
+    then
+        echo "You probably want to select Advanced / Safe Mode in the Quicktime control panel"
+        try $WINE control "$programfilesdir_win\\QuickTime\\QTSystem\\QuickTime.cpl"
+    fi
+    
+    unset_winver 
+    # user might want to set vista mode himself, or run
+    #  wine control ".wine/drive_c/Program Files/QuickTime/QTSystem/QuickTime.cpl"
+    # and pick Advanced / Safe Mode (gdi only).
+    # We could probably force that by overwriting QuickTime.qtp
+    # (probably in Program Files/QuickTime/QTSystem/QuickTime.qtp)
+    # but the format isn't known, so we'd have to override all other settings, too.
+}
+
+#----------------------------------------------------------------
+
+volnum() {
+    # Recent Microsoft installers are often based on "windows package manager", see
+    # http://support.microsoft.com/kb/262841 and
+    # http://www.microsoft.com/technet/prodtechnol/windowsserver2003/deployment/winupdte.mspx
+    # These installers check the drive name, and if it doesn't start with 'harddisk',
+    # they complain "Unable to find a volume for file extraction", see
+    # http://bugs.winehq.org/show_bug.cgi?id=5351 
+    # You may be able to work around this by using the installer's /x or /extract switch,
+    # but renaming drive_c to "harddiskvolume0" lets you just run the installer as normal.
+
+    if test ! -d "$WINEPREFIX"/harddiskvolume0/
+    then
+	ln -s drive_c "$WINEPREFIX"/harddiskvolume0
+	rm "$WINEPREFIX"/dosdevices/c:
+	ln -s ../harddiskvolume0 "$WINEPREFIX"/dosdevices/c: 
+        echo "Renamed drive_c to harddiskvolume0"
+    else
+        echo "drive_c already named harddiskvolume0"
+    fi
+}
+
+#----------------------------------------------------------------
+
+load_riched20() {
+    # http://support.microsoft.com/?kbid=249973
+    download . http://download.microsoft.com/download/winntsp/Patch/RTF/NT4/EN-US/Q249973i.EXE f0b7663f15dbd31410435483ba832318c7a70470
+    try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/Q249973i.EXE
+    try cp -f "$WINETRICKS_TMP"/riched??.dll "$WINDIR"/system32
+    override_dlls native,builtin riched20 riched32
+    
+    rm -rf "$WINETRICKS_TMP"/*
+}
+
+#----------------------------------------------------------------
+
+load_riched30() {
+    # http://www.novell.com/documentation/nm1/readmeen_web/readmeen_web.html#Akx3j64
+    # claims that Groupwise Messenger's View / Text Size command
+    # only works with riched30, and recommends getting it by installing 
+    # msi 2, which just happens to come with riched30 version of riched20
+    # (though not with a corresponding riched32, which might be a problem)
+    # http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=CEBBACD8-C094-4255-B702-DE3BB768148F
+    download . http://download.microsoft.com/download/WindowsInstaller/Install/2.0/W9XMe/EN-US/InstMsiA.exe e739c40d747e7c27aacdb07b50925b1635ee7366
+    try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/InstMsiA.exe
+    try cp -f "$WINETRICKS_TMP"/riched20.dll "$WINDIR"/system32
+    override_dlls native,builtin riched20 
+    
+    rm -rf "$WINETRICKS_TMP"/*
+}
+
+#----------------------------------------------------------------
+
+load_tahoma() {
+    # The tahoma and tahomabd fonts are needed by e.g. Steam
+    
+    download . http://download.microsoft.com/download/office97pro/fonts/1/w95/en-us/tahoma32.exe 888ce7b7ab5fd41f9802f3a65fd0622eb651a068
+    try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/tahoma32.exe
+    try cp -f "$WINETRICKS_TMP"/Tahoma.TTF "$winefontsdir"/tahoma.ttf
+    try cp -f "$WINETRICKS_TMP"/Tahomabd.TTF "$winefontsdir"/tahomabd.ttf
+    chmod +w "$winefontsdir"/tahoma*.ttf
+    rm -rf "$WINETRICKS_TMP"/*
+}
+
+#----------------------------------------------------------------
+
+load_urlmon() {
+    # This is an updated urlmon from IE 6.0
+    # See http://www.microsoft.com/downloads/details.aspx?familyid=85BB441A-5BB1-4A82-86EC-A249AF287513
+    # (Works for Dolphin Smalltalk, see http://bugs.winehq.org/show_bug.cgi?id=8258)
+    download . http://download.microsoft.com/download/8/2/0/820faffc-3ea0-4914-bca3-584235964ded/Q837251.exe bcc79b92ac3c06c4de3692672c3d70bdd36be892
+    try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE/Q837251.exe"
+    try cp -f "$WINETRICKS_TMP"/URLMON.DLL "$WINDIR"/system32/urlmon.dll
+    override_dlls native,builtin urlmon
+}
+
+#----------------------------------------------------------------
+
+load_vb2run() {
+    # Not referenced on MS web anymore. But the old Microsoft Software Library FTP still has it.
+    # See ftp://ftp.microsoft.com/Softlib/index.txt
+    download . ftp://ftp.microsoft.com/Softlib/MSLFILES/VBRUN200.EXE ac0568b73ee375408778e9b505df995f79ab907e
+    try unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_CACHE"/VBRUN200.EXE
+    try cp -f "$WINETRICKS_TMP/VBRUN200.DLL" "$WINDIR"/system32/
+
+}
+
+#----------------------------------------------------------------
+
+load_vb3run() {
+    # See http://support.microsoft.com/kb/196285
+    download . http://download.microsoft.com/download/vb30/utility/1/w9xnt4/en-us/vb3run.exe 518fcfefde9bf680695cadd06512efadc5ac2aa7
+    try unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_CACHE"/vb3run.exe
+    try cp -f "$WINETRICKS_TMP/Vbrun300.dll" "$WINDIR"/system32/
+
+}
+
+#----------------------------------------------------------------
+
+load_vb4run() {
+    # See http://support.microsoft.com/kb/196286
+    download . http://download.microsoft.com/download/vb40ent/sample27/1/w9xnt4/en-us/vb4run.exe 83e968063272e97bfffd628a73bf0ff5f8e1023b
+    try unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_CACHE"/vb4run.exe
+    try cp -f "$WINETRICKS_TMP/Vb40032.dll" "$WINDIR"/system32/
+    try cp -f "$WINETRICKS_TMP/Vb40016.dll" "$WINDIR"/system32/
+
+}
+
+#----------------------------------------------------------------
+
+load_vbvm50() {
+    download . http://download.microsoft.com/download/vb50pro/utility/1/win98/en-us/msvbvm50.exe 28bfaf09b8ac32cf5ffa81252f3e2fadcb3a8f27
+    try $WINE "$WINETRICKS_CACHE"/msvbvm50.exe $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_vbrun60() {
+    download . http://download.microsoft.com/download/vb60pro/install/6/win98me/en-us/vbrun60.exe 2dc00e5fc701492bcba7ac58f057ee43751e18e5
+    # Exits with status 43 for some reason?
+    $WINE "$WINETRICKS_CACHE"/vbrun60.exe $WINETRICKS_QUIET || true
+}
+
+#----------------------------------------------------------------
+
+load_vcrun6() {
+    # Load the Visual C++ 6 runtime libraries, including the elusive mfc42u.dll
+    if test -f "$WINDIR"/system32/mfc42u.dll
+    then
+        echo "vcrun6 already installed, skipping"
+        return
+    fi
+
+    if test ! -f "$WINETRICKS_CACHE"/vcredist.exe
+    then
+       download . http://download.microsoft.com/download/vc60pro/update/1/w9xnt4/en-us/vc6redistsetup_enu.exe 382c8f5a7f41189af8d4165cf441f274b7e2a457
+       rm -rf "$WINETRICKS_TMP"/*
+       
+       try $WINE "$WINETRICKS_CACHE"/vc6redistsetup_enu.exe "/T:`$WINE winepath -w "$WINETRICKS_TMP"`" /c $WINETRICKS_QUIET
+       if test ! -f "$WINETRICKS_TMP"/vcredist.exe
+       then
+          die vcredist.exe not found
+       fi
+       mv "$WINETRICKS_TMP"/vcredist.exe "$WINETRICKS_CACHE"
+    fi
+    # Delete some fake dlls to avoid vcredist installer warnings
+    rm -f "$WINDIR"/system32/msvcrt.dll
+    rm -f "$WINDIR"/system32/oleaut32.dll
+    rm -f "$WINDIR"/system32/olepro32.dll
+    # vcredist still exits with status 43.  Anyone know why?
+    $WINE "$WINETRICKS_CACHE"/vcredist.exe || true
+
+    # And then some apps need mfc42u.dll, dunno what right way
+    # is to get it, vcredist doesn't install it by default?
+    cd "$WINETRICKS_TMP"/
+    rm -rf "$WINETRICKS_TMP"/*
+    try cabextract "$WINETRICKS_CACHE"/vcredist.exe
+    mv mfc42u.dll "$WINDIR"/system32/
+    cd "$olddir"
+
+    override_dlls native,builtin msvcrt
+
+}
+
+#----------------------------------------------------------------
+
+load_vcrun2003() {
+    # Load the Visual C++ 2003 runtime libraries
+    # Sadly, I know of no Microsoft URL for these
+    echo "Installing BZFlag (which comes with the Visual C++ 2003 runtimes)"
+    download . $SOURCEFORGE/bzflag/BZEditW32_1.6.5_Installer.exe bdd1b32c4202fd77e6513fd507c8236888b09121
+    try $WINE "$WINETRICKS_CACHE"/BZEditW32_1.6.5_Installer.exe $WINETRICKS_S
+    try cp "$programfilesdir_unix/BZEdit1.6.5"/m*71* "$WINDIR"/system32/
+}
+
+#----------------------------------------------------------------
+
+load_vcrun2005() {
+    # Load the Visual C++ 2005 runtime libraries
+    # See http://www.microsoft.com/downloads/details.aspx?familyid=32BC1BEE-A3F9-4C13-9C99-220B62A191EE
+    download vcrun2005 http://download.microsoft.com/download/d/3/4/d342efa6-3266-4157-a2ec-5174867be706/vcredist_x86.exe 47fba37de95fa0e2328cf2e5c8ebb954c4b7b93c
+    try $WINE "$WINETRICKS_CACHE"/vcrun2005/vcredist_x86.exe $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_vcrun2005sp1() {
+    # Load the Visual C++ 2005 SP1 runtime libraries
+    # See http://www.microsoft.com/downloads/details.aspx?familyid=200b2fd9-ae1a-4a14-984d-389c36f85647
+    download vcrun2005sp1 http://download.microsoft.com/download/e/1/c/e1c773de-73ba-494a-a5ba-f24906ecf088/vcredist_x86.exe 7dfa98be78249921dd0eedb9a3dd809e7d215c8d 
+    try $WINE "$WINETRICKS_CACHE"/vcrun2005sp1/vcredist_x86.exe $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_vcrun2008() {
+    # Work around bug 5351 (http://bugs.winehq.org/show_bug.cgi?id=5351). In recent
+    # wine (>= 1.1.7) the bug is fixed. The workaround doesn't hurt anything, and lets
+    # installer work on older Wine (e.g., the stabe 1.0.1).
+    volnum
+
+    # Load the Visual C++ 2008 runtime libraries
+    # See http://www.microsoft.com/downloads/details.aspx?familyid=9b2da534-3e03-4391-8a4d-074b9f2bc1bf
+    download vcrun2008 http://download.microsoft.com/download/1/1/1/1116b75a-9ec3-481a-a3c8-1777b5381140/vcredist_x86.exe 56719288ab6514c07ac2088119d8a87056eeb94a 
+    try $WINE "$WINETRICKS_CACHE"/vcrun2008/vcredist_x86.exe $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_vcrun2008sp1() {
+    # This should be fixed in recent Wine, but for those using 1.0.1, fails.
+    volnum
+
+    # Load the Visual C++ 2008 SP1 runtime libraries
+    # See http://www.microsoft.com/downloads/details.aspx?FamilyID=a5c84275-3b97-4ab7-a40d-3802b2af5fc2
+    download vcrun2008sp1 http://download.microsoft.com/download/d/d/9/dd9a82d0-52ef-40db-8dab-795376989c03/vcredist_x86.exe 6939100e397cef26ec22e95e53fcd9fc979b7bc9
+    try $WINE "$WINETRICKS_CACHE"/vcrun2008sp1/vcredist_x86.exe $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_vjrun20() {
+    load_dotnet20
+    download vjrun20 http://download.microsoft.com/download/9/2/3/92338cd0-759f-4815-8981-24b437be74ef/vjredist.exe 80a098e36b90d159da915aebfbfbacf35f302bd8
+    try $WINE "$WINETRICKS_CACHE"/vjrun20/vjredist.exe $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_vlc() {
+    download . http://www.videolan.org/mirror-geo-redirect.php?file=vlc/0.8.6f/win32/vlc-0.8.6f-win32.exe b83558e4232c47a385dbc93ebdc2e6b942fbcfbf
+    try $WINE "$WINETRICKS_CACHE"/vlc-0.8.6f-win32.exe $WINETRICKS_S
+}
+
+#----------------------------------------------------------------
+
+load_wininet() {
+    # This is an updated wininet from IE 5.0.1.   
+    # (Good enough for Active Worlds browser.  Also helps "Avatar - Legends of the Arena" get to login screen.)
+    # See http://www.microsoft.com/downloads/details.aspx?familyid=6DEE32AB-B618-4FB3-9A45-CDD08162E167
+    download . http://download.microsoft.com/download/ie5/Update/1/WIN98/EN-US/3725.exe b048e0b4e303298de3317b16f7008c43ca71ddfe
+    try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE/3725.exe"
+    try cp -f "$WINETRICKS_TMP"/Wininet.dll "$WINDIR"/system32/wininet.dll
+    override_dlls native,builtin wininet
+}
+
+#----------------------------------------------------------------
+
+load_wme9() {
+    # See also http://www.microsoft.com/downloads/details.aspx?FamilyID=5691ba02-e496-465a-bba9-b2f1182cdf24
+    download wme9 http://download.microsoft.com/download/8/1/f/81f9402f-efdd-439d-b2a4-089563199d47/WMEncoder.exe 7a3f8781f3e5705651992ef0150ee30bc1295116
+
+    try $WINE "$WINETRICKS_CACHE"/wme9/WMEncoder.exe $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_wmp9() {
+    # Not really expected to work well yet; see
+    # http://appdb.winehq.org/appview.php?versionId=1449
+
+    set_winver win2k
+
+    # See also http://www.microsoft.com/windows/windowsmedia/player/9series/default.aspx
+    download wmp9 http://download.microsoft.com/download/1/b/c/1bc0b1a3-c839-4b36-8f3c-19847ba09299/MPSetup.exe 580536d10657fa3868de2869a3902d31a0de791b
+
+    # Have to run twice; see http://bugs.winehq.org/show_bug.cgi?id=1886
+    try $WINE "$WINETRICKS_CACHE"/wmp9/MPSetup.exe $WINETRICKS_QUIET
+    try $WINE "$WINETRICKS_CACHE"/wmp9/MPSetup.exe $WINETRICKS_QUIET
+
+    # Also install the codecs
+    # See http://www.microsoft.com/downloads/details.aspx?FamilyID=06fcaab7-dcc9-466b-b0c4-04db144bb601
+    download . http://download.microsoft.com/download/5/c/2/5c29d825-61eb-4b16-8eb8-58367d0464d5/WM9Codecs9x.exe 8b76bdcbea0057eb12b7966edab4b942ddacc253
+    try $WINE "$WINETRICKS_CACHE"/WM9Codecs9x.exe $WINETRICKS_QUIET
+
+    # Disable WMP's services, since they depend on unimplemented stuff, they trigger the GUI debugger several times
+    try $WINE regedit /D "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Cdr4_2K"
+    try $WINE regedit /D "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Cdralw2k"
+
+    unset_winver
+}
+
+#----------------------------------------------------------------
+
+load_wmp10() {
+    # See http://appdb.winehq.org/appview.php?iVersionId=3212
+
+    # See also http://www.microsoft.com/windows/windowsmedia/player/10
+    download . http://download.microsoft.com/download/1/2/A/12A31F29-2FA9-4F50-B95D-E45EF7013F87/MP10Setup.exe 69862273a5d9d97b4a2e5a3bd93898d259e86657
+
+    # Crashes on exit, but otherwise ok; see http://bugs.winehq.org/show_bug.cgi?id=12633
+    echo Executing $WINE "$WINETRICKS_CACHE"/MP10Setup.exe $WINETRICKS_QUIET
+    $WINE "$WINETRICKS_CACHE"/MP10Setup.exe $WINETRICKS_QUIET || true
+
+    # Also install the codecs
+    # See http://www.microsoft.com/downloads/details.aspx?FamilyID=06fcaab7-dcc9-466b-b0c4-04db144bb601
+    download . http://download.microsoft.com/download/5/c/2/5c29d825-61eb-4b16-8eb8-58367d0464d5/WM9Codecs9x.exe 8b76bdcbea0057eb12b7966edab4b942ddacc253
+    set_winver win2k
+    try $WINE "$WINETRICKS_CACHE"/WM9Codecs9x.exe $WINETRICKS_QUIET
+
+    # Disable WMP's services, since they depend on unimplemented stuff, they trigger the GUI debugger several times
+    try $WINE regedit /D "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Cdr4_2K"
+    try $WINE regedit /D "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Cdralw2k"
+
+    unset_winver
+}
+
+#----------------------------------------------------------------
+
+load_wsh56() {
+    # See also http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=C717D943-7E4B-4622-86EB-95A22B832CAA
+    # FIXME: depends on vcrun6, should we install that automatically?
+    download . http://download.microsoft.com/download/2/8/a/28a5a346-1be1-4049-b554-3bc5f3174353/WindowsXP-Windows2000-Script56-KB917344-x86-enu.exe f4692766caa3ee9b38d4166845486c6199a33457
+
+    try $WINE "$WINETRICKS_CACHE"/WindowsXP-Windows2000-Script56-KB917344-x86-enu.exe $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_wsh56js() {
+    # This installs jscript 5.6 (but not vbscript)
+    # See also http://www.microsoft.com/downloads/details.aspx?FamilyID=16dd21a1-c4ee-4eca-8b80-7bd1dfefb4f8&DisplayLang=en
+    download . http://download.microsoft.com/download/b/c/3/bc3a0c36-fada-497d-a3de-8b0139766f3b/Windows2000-KB917344-56-x86-enu.exe add5f74c5bd4da6cfae47f8306de213ec6ed52c8
+
+    try $WINE "$WINETRICKS_CACHE"/Windows2000-KB917344-56-x86-enu.exe $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_wsh56vb() {
+    # This installs vbscript 5.6 (but not jscript)
+    # See also http://www.microsoft.com/downloads/details.aspx?familyid=4F728263-83A3-464B-BCC0-54E63714BC75
+    download . http://download.microsoft.com/download/IE60/Patch/Q318089/W9XNT4Me/EN-US/vbs56men.exe 48f14a93db33caff271da0c93f334971f9d7cb22
+
+    try $WINE "$WINETRICKS_CACHE"/vbs56men.exe $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_xact() {
+    helper_directx_dl ;
+
+    # xactengine?_?.dll and X3DAudio?_?.dll - extract
+    cabextract -d "$WINETRICKS_TMP" -L -F '*_xact_*x86*' "$WINETRICKS_CACHE"/$DIRECTX_NAME
+    cabextract -d "$WINETRICKS_TMP" -L -F '*_x3daudio_*x86*' "$WINETRICKS_CACHE"/$DIRECTX_NAME
+    for x in `ls "$WINETRICKS_TMP"/*.cab`; do
+      cabextract -d "$WINDIR"/system32 -L -F '*.dll' "$x"
+    done
+
+    # xactengine?_?.dll - register
+    for x in `ls "$WINDIR"/system32/xactengine*`; do
+      try $WINE regsvr32 `basename $x`
+    done
+}
+
+#----------------------------------------------------------------
+
+load_xvid() {
+    # xvid
+    test -f "$WINDIR"/system32/[Mm][Ff][Cc]42.[Dd][Ll][Ll] || load_vcrun6
+    download . http://download2.videohelp.com/download/Xvid-1.1.3-27042008.exe f1008a11037c0b9368aa4979e62d0963d05d8007
+    try $WINE "$WINETRICKS_CACHE"/Xvid-1.1.3-27042008.exe $WINETRICKS_SILENT
+}
+
+#----------------------------------------------------------------
+
+print_version() {
+    echo "$VERSION"
+}
+
+#----------------------------------------------------------------
+
+tricks()
+{
+	# Name of this version of winetricks (YYYYMMDD)
+	VERSION=20090607
+
+	# Default values for important settings if not already in environment.
+	# These settings should not need editing here.
+	WINE=${WINE:-wine}
+	WINEPREFIX=${WINEPREFIX:-$HOME/.wine}
+
+	# Internal variables; these locations are not too important
+	WINETRICKS_CACHE=$HOME/.PlayOnLinux/tmp/winetrickscache
+	# Default to hiding the directory, by popular demand
+	test -d "$WINETRICKS_CACHE" || WINETRICKS_CACHE=$HOME/.PlayOnLinux/tmp/winetrickscache
+	WINETRICKS_TMP="$WINEPREFIX"/drive_c/winetrickstmp
+	mkdir -p "$WINETRICKS_TMP"
+	WINETRICKS_TMP_WIN='c:\winetrickstmp'
+
+	WINDIR="$WINEPREFIX/drive_c/windows"
+
+	# Which sourceforge mirror to use.  Rotate based on time, since 
+	# their mirror picker sometimes persistantly sends you to a broken
+	# mirror.
+	case `date +%S` in
+	*[01]) SOURCEFORGE=http://internap.dl.sourceforge.net/sourceforge ;;
+	*[23]) SOURCEFORGE=http://easynews.dl.sourceforge.net/sourceforge ;;
+	*)     SOURCEFORGE=http://downloads.sourceforge.net;;
+	esac
+
+	case "$1" in
+	-V|--version) 
+	  echo "Winetricks version $VERSION.  (C) 2007-2009 Dan Kegel et al.  LGPL."
+	  exit 0
+	  ;;
+	esac
+
+
+	GUI=0
+	case x"$1" in
+	x) usage ; exit 1 ;;
+	esac
+	test -d "$WINEPREFIX" || $WINE cmd /c echo yes > /dev/null 2>&1
+	mkdir -p "$WINETRICKS_CACHE"
+	olddir=`pwd`
+	# Clean up after failed runs, if needed
+	rm -rf "$WINETRICKS_TMP"/*
+
+	# The folder-name is localized!
+	programfilesdir_win="`unset WINEDEBUG; $WINE cmd.exe /c echo "%ProgramFiles%"`"
+	test x"$programfilesdir_win" != x || die "$WINE cmd.exe /c echo '%ProgramFiles%' returned empty string"
+	programfilesdir_unix="`unset WINEDEBUG; $WINE winepath -u "$programfilesdir_win"`"
+	test x"$programfilesdir_unix" != x || die "winepath -u $programfilesdir_win returned empty string"
+
+	# (Fixme: get fonts path from SHGetFolderPath
+	# See also http://blogs.msdn.com/oldnewthing/archive/2003/11/03/55532.aspx)
+	#
+	# Did the user rename Fonts to fonts?
+	if test ! -d "$WINDIR"/Fonts && test -d "$WINDIR"/fonts 
+	then
+	    winefontsdir="$WINDIR"/fonts
+	else
+	    winefontsdir="$WINDIR"/Fonts
+	fi
+
+	# Mac folks tend to not have sha1sum, but we can make do with openssl
+	if [ -x "`which sha1sum`" ]
+	then
+	   SHA1SUM="sha1sum"
+	else
+	   SHA1SUM="openssl dgst -sha1"
+	fi
+
+	if [ ! -x "`which "cabextract"`" ]
+	then
+	  echo "Cannot find cabextract.  Please install it (e.g. 'sudo apt-get install cabextract' or 'sudo yum install cabextract')."
+	fi
+	WINETRICKS_QUIET="/q"
+	WINETRICKS_UNIXQUIET="-q"
+	WINETRICKS_SILENT="/silent"
+	WINETRICKS_S="/S"                 # for NSIS installers
+	
+	while test "$1" != ""
+	do
+	    PACKAGE=$1
+	    case $1 in
+	    -v) set -x;;
+	    art2kmin) load_art2kmin;;
+	    ahk|autohotkey) load_autohotkey;;
+	    cc580|comctl32) load_cc580;;
+	    comctl32.ocx) load_comctl32ocx;;
+	    colorprofile) load_colorprofile;;
+	    corefonts) load_corefonts;;
+	    controlpad|fm20) load_controlpad;;
+	    d3dx9) load_d3dx9;;
+	    dcom98) load_dcom98;;
+	    dirac|dirac0.8) load_dirac08;;
+	    directx9) load_directx9;;
+	    divx) load_divx;;
+	    dotnet1|dotnet11) load_dotnet11; load_fontfix;;
+	    dotnet2|dotnet20) load_dotnet20; load_fontfix;;
+	    firefox|firefox3) load_firefox3;;
+	    ffdshow) load_ffdshow;;
+	    flash) load_flash;;
+	    fontfix) load_fontfix;;
+	    fontsmooth-disable|fs-disable) load_fs_disable;;
+	    fontsmooth-gray|fontsmooth-grayscale|fontsmooth-enable|fs-enable) load_fs_grayscale;;
+	    fontsmooth-rgb|fs-rgb|fs-cleartype) load_fs_rgb;;
+	    fontsmooth-bgr|fs-bgr) load_fs_bgr;;
+	    gdiplus) load_gdiplus;;
+	    gecko) load_gecko;;
+	    gecko-dbg|geckodbg|gecko_dbg|geckodebug|gecko_debug|gecko-debug) load_gecko_dbg;;
+	    hosts) load_hosts;;
+	    icodecs) load_icodecs;;
+	    ie6) load_ie6;;
+	    jet40) load_jet40;;
+	    kde) load_kde;;
+	    liberation) load_liberation;;
+	    mdac25) load_mdac25;;
+	    mdac27) load_mdac27;;
+	    mdac28) load_mdac28;;
+	    mfc40) load_mfc40;;
+	    mono19|mono20) load_mono20;;
+	    mono22) load_mono22;;
+	    mpc) load_mpc;;
+	    msi2) load_msi2;;
+	    mshflxgd) load_mshflxgd;;
+	    msls31) load_msls31;;
+	    msmask) load_msmask;;
+	    msscript) load_msscript;;
+	    msxml3) load_msxml3;;
+	    msxml4) load_msxml4;;
+	    msxml6) load_msxml6;;
+	    ogg) load_ogg;;
+	    ole2) load_ole2;;
+	    pdh) load_pdh;;
+	    quicktime72) load_quicktime72;;
+	    riched20) load_riched20;;
+	    riched30) load_riched30;;
+	    tahoma) load_tahoma;;
+	    urlmon) load_urlmon;;
+	    vbrun200|vb2run) load_vb2run;;
+	    vbrun300|vb3run) load_vb3run;;
+	    vbrun400|vb4run) load_vb4run;;
+	    vbrun500|vbvm50|vb5run) load_vbvm50;;
+	    vbrun600|vbrun60|vb6run) load_vbrun60;;
+	    vcrun600|vcrun6|mfc42) load_vcrun6;;
+	    vcrun2003) load_vcrun2003;;
+	    vcrun2005) load_vcrun2005;;
+	    vcrun2005sp1) load_vcrun2005sp1;;
+	    vcrun2008) load_vcrun2008;;
+	    vcrun2008sp1) load_vcrun2008sp1;;
+	    vjrun20) load_vjrun20;;
+	    vlc) load_vlc;;
+	    wininet) load_wininet;;
+	    wme9) load_wme9;;
+	    wmp9) load_vcrun6; load_wsh56; load_wmp9;;
+	    wmp10) load_vcrun6; load_wsh56; load_wmp10;;
+	    wsh56) load_vcrun6; load_wsh56;;
+	    wsh56js) load_wsh56js;;
+	    wsh56vb) load_wsh56vb;;
+	    xact|xactengine|x3daudio) load_xact;;
+	    xvid) load_xvid;;
+
+	    fakeie6) set_fakeie6;;
+	    allfonts) load_corefonts; load_tahoma; load_liberation;;
+	    allvcodecs|allcodecs) load_vcrun6; load_ffdshow; load_xvid; load_icodecs;;
+	    nt40|winver=nt40) set_winver nt40;;
+	    win98|winver=win98) set_winver win98;;
+	    win2k|winver=win2k) set_winver win2k;;
+	    winxp|winver=winxp) set_winver winxp;;
+	    vista|winver=vista) set_winver vista;;
+	    winver=) unset_winver;;
+	    native_mdac) set_native_mdac;;
+	    native_oleaut32) override_dlls native,builtin oleaut32;;
+	    version) print_version;;
+	    volnum) volnum;;
+	    *) echo Unknown arg $1; usage ; exit 1;;
+	    esac
+	    # Provide a bit of feedback
+	    test "$WINETRICKS_QUIET" = "" && case $1 in 
+	    -q) echo Setting quiet mode;;
+	    -v) echo Setting verbose mode;;
+	    *) echo "Install of $1 done" ;;
+	    esac
+	    shift
+	    # cleanup
+	    rm -rf "$WINETRICKS_TMP"/*
+	done
+
+	test "$WINETRICKS_QUIET" = "" && echo winetricks done. || true
+}
diff --git a/lib/variables b/lib/variables
old mode 100644
new mode 100755
index 5f3a57a..6a8b7b6
--- a/lib/variables
+++ b/lib/variables
@@ -18,7 +18,7 @@ export TITRE="PlayOnLinux"
 export URL="http://www.playonlinux.com"
 export SITE="http://www.playonlinux.com/script_files/"
 export REPERTOIRE="$HOME/.PlayOnLinux"
-export VERSION="3.5"
+export VERSION="3.6"
 export LAST_VERSION=$(cat "$REPERTOIRE/configurations/last_version" 2> /dev/null)
 export PYTHON="python"
 if [ "$VRAIPATH" = "" ]
diff --git a/lib/variables b/lib/variables~
similarity index 100%
copy from lib/variables
copy to lib/variables~
diff --git a/lib/wine b/lib/wine
old mode 100644
new mode 100755
index 20fc552..3d1d3a8
--- a/lib/wine
+++ b/lib/wine
@@ -593,3 +593,4 @@ Use_WineVersion()
 		export LD_LIBRARY_PATH="$REPERTOIRE/WineVersions/$VERSIONTAPER/usr/lib/wine/:$LD_LIBRARY_PATH"
 	fi
 }
+
diff --git a/lib/wine b/lib/wine~
similarity index 100%
copy from lib/wine
copy to lib/wine~
diff --git a/python/lib/Variables.py b/python/lib/Variables.py
old mode 100644
new mode 100755
index 0197521..147663b
--- a/python/lib/Variables.py
+++ b/python/lib/Variables.py
@@ -4,4 +4,5 @@ playonlinux_env = os.popen("printf \"$PLAYONLINUX\"", "r").read()
 playonlinux_rep = os.popen("printf \"$HOME/.PlayOnLinux/\"", "r").read()
 version = os.popen("printf \"$VERSION\"", "r").read()
 current_user = os.popen("printf \"$USER\"","r").read()
-offline = os.popen("printf $OFFLINE").read()
+offline = "0"
+site = os.popen("printf $SITE").read()
diff --git a/python/lib/Variables.pyc b/python/lib/Variables.pyc
new file mode 100755
index 0000000..98a48b1
Binary files /dev/null and b/python/lib/Variables.pyc differ
diff --git a/python/lib/Variables.py b/python/lib/Variables.py~
old mode 100644
new mode 100755
similarity index 84%
copy from python/lib/Variables.py
copy to python/lib/Variables.py~
index 0197521..10d77df
--- a/python/lib/Variables.py
+++ b/python/lib/Variables.py~
@@ -4,4 +4,5 @@ playonlinux_env = os.popen("printf \"$PLAYONLINUX\"", "r").read()
 playonlinux_rep = os.popen("printf \"$HOME/.PlayOnLinux/\"", "r").read()
 version = os.popen("printf \"$VERSION\"", "r").read()
 current_user = os.popen("printf \"$USER\"","r").read()
-offline = os.popen("printf $OFFLINE").read()
+offline = 0
+site = os.popen("printf $SITE").read()
diff --git a/python/lib/__init__.py b/python/lib/__init__.py
old mode 100644
new mode 100755
diff --git a/python/lib/__init__.pyc b/python/lib/__init__.pyc
new file mode 100755
index 0000000..993a315
Binary files /dev/null and b/python/lib/__init__.pyc differ
diff --git a/python/lib/irc.pyold b/python/lib/irc.pyold
old mode 100644
new mode 100755
diff --git a/python/lib/lng.py b/python/lib/lng.py
old mode 100644
new mode 100755
diff --git a/python/lib/lng.pyc b/python/lib/lng.pyc
new file mode 100755
index 0000000..9ba8d36
Binary files /dev/null and b/python/lib/lng.pyc differ
diff --git a/python/mainwindow.py b/python/mainwindow.py
index ae31493..fa8d327 100755
--- a/python/mainwindow.py
+++ b/python/mainwindow.py
@@ -143,7 +143,7 @@ class MainWindow(wx.Frame):
     if(self.j > 0):
 	self.pluginsmenu.AppendSeparator()
 
-    self.option_item_p = wx.MenuItem(self.expertmenu, 215, _("Plugins manager"))
+    self.option_item_p = wx.MenuItem(self.expertmenu, 214, _("Plugins manager"))
     self.option_item_p.SetBitmap(wx.Bitmap(Variables.playonlinux_env+"/etc/onglet/package-x-generic.png"))
     self.pluginsmenu.AppendItem(self.option_item_p)
  
diff --git a/python/mainwindow.py b/python/mainwindow.py~
similarity index 100%
copy from python/mainwindow.py
copy to python/mainwindow.py~
diff --git a/python/options.py b/python/options.py
index 5dfbb43..d1002e3 100755
--- a/python/options.py
+++ b/python/options.py
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
-# Copyright (C) 2007 Pâris Quentin
+# Copyright (C) 2009 Pâris Quentin
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -29,6 +29,49 @@ from select import select
 import lib.Variables as Variables
 import lib.lng as lng
 
+class getPlugins(threading.Thread):
+  def __init__(self):
+	threading.Thread.__init__(self)
+	self.thread_message = "#WAIT#"
+	self.versions = []
+	self.start()
+
+  def download(self, game):
+	self.getDescription = game
+	
+  def run(self):
+	self.thread_running = True
+	while(self.thread_running):
+		if(self.thread_message == "get"):
+			try :
+				url = 'http://mulx.playonlinux.com/wine/linux-i386/LIST'
+				req = urllib2.Request(url)
+				handle = urllib2.urlopen(req)
+				time.sleep(1)
+				available_versions = handle.read()
+				available_versions = string.split(available_versions,"\n")
+				self.i = 0
+				self.versions_ = []
+				while(self.i < len(available_versions) - 1):
+					informations = string.split(available_versions[self.i], ";")
+					version = informations[1]
+					package = informations[0]
+					sha1sum = informations[2]
+					if(not os.path.exists(Variables.playonlinux_rep+"/WineVersions/"+version)):
+						self.versions_.append(version)
+					self.i += 1	
+				self.versions_.reverse()
+				self.versions = self.versions_[:]
+
+				self.thread_message = "Ok"
+			except :
+				time.sleep(1)
+				self.thread_message = "Err"
+				self.versions = ["Wine packages website is unavailable"]
+		else:
+			time.sleep(0.2)
+
+
 class Onglets(wx.Notebook):
 	# Classe dérivée du wx.Notebook
 	def __init__(self, parent):
@@ -69,23 +112,7 @@ class Onglets(wx.Notebook):
 
 		self.txtOther = wx.StaticText(self.panelGeneral, -1, _("Other"), (0,180), wx.DefaultSize)
 		self.txtOther.SetFont(self.fontTitle)
-		#choices=os.listdir(Variables.playonlinux_env+"/lang/")
-		#choices.sort()
-		#self.i = 0
-		#self.available_languages=[]
-		#while(self.i < len(choices)):
-		#	self.available_languages.append(self.get_lng_name(choices[self.i]))
-		#	self.i += 1
-
-		#playonlinux_lang = os.popen("printf \"$POL_LANG\"", "r").read()
-		
-		#if(os.path.exists(Variables.playonlinux_env+"/lang/"+playonlinux_lang)):
-		#	default_lang = self.get_lng_name(playonlinux_lang)
-		#else:
-		#	default_lang = "English"
-				
-		#self.FontNavigator = wx.StaticText(self.panelGeneral, -1, _("Language"), (10,210), wx.DefaultSize)
-		#self.Lng = wx.ComboBox(self.panelGeneral, -1, value=default_lang, choices=self.available_languages, pos=(20,230),style=wx.CB_READONLY)
+
 		self.FontNavigator = wx.StaticText(self.panelGeneral, -1, _("Temp directory"), (10,210), wx.DefaultSize)
 		self.TmpAutoRemove = wx.CheckBox(self.panelGeneral, -1, _("Automatically empty temp directory"),pos=(20,230))
 		
@@ -112,15 +139,12 @@ class Onglets(wx.Notebook):
 
 	def Internet(self, nom):
 		self.panelInternet = wx.Panel(self, -1)
-		self.offmodef = wx.StaticText(self.panelInternet, -1, _("Offline Mode"), (0,0), wx.DefaultSize)
-		self.offmodef.SetFont(self.fontTitle)
-		self.OffLineCheck = wx.CheckBox(self.panelInternet, -1, _("Enable Offline mode"),pos=(10,30))
 
 		if(os.path.exists(Variables.playonlinux_rep+"/configurations/options/offline")):
 			if(open(Variables.playonlinux_rep+"/configurations/options/offline",'r').read() == '1'):
 				self.OffLineCheck.SetValue(1)
 		
-		self.ProxySettings = wx.StaticText(self.panelInternet, -1, _("Proxy configuration"), (0,70), wx.DefaultSize)
+		self.ProxySettings = wx.StaticText(self.panelInternet, -1, _("Proxy configuration"), (0,0), wx.DefaultSize)
 		self.ProxySettings.SetFont(self.fontTitle)
 		
 		proxy_settings = {}
@@ -141,20 +165,20 @@ class Onglets(wx.Notebook):
 				proxy_settings[line_parsed[0]] = line_parsed[1]
 				self.i += 1
 		
-		self.ProxyCheck = wx.CheckBox(self.panelInternet, 120, _("Set a proxy"),pos=(10,100))
+		self.ProxyCheck = wx.CheckBox(self.panelInternet, 120, _("Set a proxy"),pos=(10,30))
 		self.ProxyCheck.SetValue(int(proxy_settings['PROXY_ENABLED']))
 
-		self.ProxyTxtAdresse = wx.StaticText(self.panelInternet, -1, _("Proxy address"), (10,130), wx.DefaultSize)
-		self.ProxyAdresse = wx.TextCtrl(self.panelInternet, -1, proxy_settings["PROXY_ADRESS"], pos=(20,150),size=(300,27))
+		self.ProxyTxtAdresse = wx.StaticText(self.panelInternet, -1, _("Proxy address"), (10,60), wx.DefaultSize)
+		self.ProxyAdresse = wx.TextCtrl(self.panelInternet, -1, proxy_settings["PROXY_ADRESS"], pos=(20,80),size=(300,27))
 		
-		self.ProxyTxtPort = wx.StaticText(self.panelInternet, -1, _("Proxy port"), (10,190), wx.DefaultSize)
-		self.ProxyPort = wx.TextCtrl(self.panelInternet, -1, proxy_settings["PROXY_PORT"], pos=(20,210),size=(80,27))
+		self.ProxyTxtPort = wx.StaticText(self.panelInternet, -1, _("Proxy port"), (10,120), wx.DefaultSize)
+		self.ProxyPort = wx.TextCtrl(self.panelInternet, -1, proxy_settings["PROXY_PORT"], pos=(20,140),size=(80,27))
 
-		self.ProxyTxtLogin = wx.StaticText(self.panelInternet, -1, _("Proxy login"), (10,250), wx.DefaultSize)
-		self.ProxyLogin = wx.TextCtrl(self.panelInternet, -1, proxy_settings["PROXY_LOGIN"], pos=(20,270),size=(300,27))
+		self.ProxyTxtLogin = wx.StaticText(self.panelInternet, -1, _("Proxy login"), (10,180), wx.DefaultSize)
+		self.ProxyLogin = wx.TextCtrl(self.panelInternet, -1, proxy_settings["PROXY_LOGIN"], pos=(20,200),size=(300,27))
 
-		self.ProxyTxtPass = wx.StaticText(self.panelInternet, -1, _("Proxy password"), (10,310), wx.DefaultSize)
-		self.ProxyPass = wx.TextCtrl(self.panelInternet, -1, proxy_settings["PROXY_PASS"], pos=(20,330),size=(300,27), style=wx.TE_PASSWORD)
+		self.ProxyTxtPass = wx.StaticText(self.panelInternet, -1, _("Proxy password"), (10,240), wx.DefaultSize)
+		self.ProxyPass = wx.TextCtrl(self.panelInternet, -1, proxy_settings["PROXY_PASS"], pos=(20,260),size=(300,27), style=wx.TE_PASSWORD)
 		self.AddPage(self.panelInternet, nom, imageId=2)
 		wx.EVT_CHECKBOX(self, 120, self.proxy_enable)
 		self.proxy_enable(self)
@@ -274,6 +298,7 @@ class Onglets(wx.Notebook):
 		self.txtPlugin.SetFont(self.fontTitle)
 		self.pluginlist = wx.TreeCtrl(self.panelPlugins, 220, style=wx.RAISED_BORDER|wx.TR_HIDE_ROOT|wx.TR_FULL_ROW_HIGHLIGHT)		
 		self.pluginlist.SetSpacing(0)
+
 		self.pluginImgList = wx.ImageList(16,16)
 
 		self.pluginlist.SetImageList(self.pluginImgList)
@@ -281,7 +306,8 @@ class Onglets(wx.Notebook):
 		
 
 		self.sizerPlugins.Add(self.txtPlugin, 1, wx.EXPAND|wx.ALL, 2)
-		self.sizerPlugins.Add(self.pluginlist, 10, wx.EXPAND|wx.ALL, 2)
+		self.sizerPlugins.Add(self.pluginlist, 7, wx.EXPAND|wx.ALL, 2)
+
     		self.sizerPlugins.Add(self.panels_buttons_plugins, 6, wx.EXPAND|wx.ALL, 2)
 		
 		self.panelPlugins.SetSizer(self.sizerPlugins)
@@ -369,25 +395,19 @@ class Onglets(wx.Notebook):
 		self.txtGLX.SetValue(glx)
 
 	def glxgears(self, event):
-		#self.p = Popen("glxgears",shell=True,stdout=PIPE)
-		#while(self.p.poll() == None):	
-		#	self.txtGLX.SetValue(self.p.stdout.read())
-		#self.txtGLX.SetValue("Close this window in about 15 seconds. Longer it will be opened, more results you will have.")
-#		time.sleep(10)
 		self.result = os.popen("glxgears", "r").read()
 		self.txtGLX.SetValue(self.result)
 	
 	def system_info(self, event):
-		self.txtGLX.SetValue(os.popen("bash \""+Variables.playonlinux_env+"/bash/options/system_info\" &", "r").read())
+		self.txtGLX.SetValue(os.popen("bash \""+Variables.playonlinux_env+"/bash/system_info\" &", "r").read())
 
 	def SupprimePage(self, index):
-		# Méthode de suppression d'un onglet
 		self.DeletePage(index)
 			
 
 class MainWindow(wx.Frame):
   def __init__(self,parent,id,title):
-    wx.Frame.__init__(self, parent, -1, title, size = (505, 510), style = wx.CLOSE_BOX | wx.CAPTION | wx.MINIMIZE_BOX)
+    wx.Frame.__init__(self, parent, -1, title, size = (505, 550), style = wx.CLOSE_BOX | wx.CAPTION | wx.MINIMIZE_BOX)
     self.SetIcon(wx.Icon(Variables.playonlinux_env+"/etc/playonlinux.png", wx.BITMAP_TYPE_ANY))
     self.panelFenp = wx.Panel(self, -1)
     self.panels_buttons = wx.Panel(self.panelFenp, -1)
@@ -431,7 +451,6 @@ class MainWindow(wx.Frame):
 
 	   
     open(Variables.playonlinux_rep+"/configurations/options/proxy","w").write(self.chaine)
-    open(Variables.playonlinux_rep+"/configurations/options/offline",'w').write(str(int(self.onglets.OffLineCheck.IsChecked())))
 
 
     if(self.onglets.Desktop.GetValue()):
@@ -440,9 +459,9 @@ class MainWindow(wx.Frame):
 	self.desk = os.popen("printf $HOME").read()+"/Desktop/"
 
     if(self.onglets.Panel.IsChecked() == 1):
-	os.system("bash \""+Variables.playonlinux_env+"/bash/options/panel\" --build")	
+	os.system("bash \""+Variables.playonlinux_env+"/bash/panel\" --build")	
     else:
-	os.system("bash \""+Variables.playonlinux_env+"/bash/options/panel\" --rm")
+	os.system("bash \""+Variables.playonlinux_env+"/bash/panel\" --rm")
 	
     self.env_chaine = "DESKTOP="+self.desk+"\nWINEVERSION="+self.onglets.WineVersion.GetValue()
     open(Variables.playonlinux_rep+"/configurations/options/env",'w').write(self.env_chaine)
diff --git a/python/options.py b/python/options.py~
old mode 100755
new mode 100644
similarity index 90%
copy from python/options.py
copy to python/options.py~
index 5dfbb43..38662bf
--- a/python/options.py
+++ b/python/options.py~
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
-# Copyright (C) 2007 Pâris Quentin
+# Copyright (C) 2009 Pâris Quentin
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -29,6 +29,49 @@ from select import select
 import lib.Variables as Variables
 import lib.lng as lng
 
+class getPlugins(threading.Thread):
+  def __init__(self):
+	threading.Thread.__init__(self)
+	self.thread_message = "#WAIT#"
+	self.versions = []
+	self.start()
+
+  def download(self, game):
+	self.getDescription = game
+	
+  def run(self):
+	self.thread_running = True
+	while(self.thread_running):
+		if(self.thread_message == "get"):
+			try :
+				url = 'http://mulx.playonlinux.com/wine/linux-i386/LIST'
+				req = urllib2.Request(url)
+				handle = urllib2.urlopen(req)
+				time.sleep(1)
+				available_versions = handle.read()
+				available_versions = string.split(available_versions,"\n")
+				self.i = 0
+				self.versions_ = []
+				while(self.i < len(available_versions) - 1):
+					informations = string.split(available_versions[self.i], ";")
+					version = informations[1]
+					package = informations[0]
+					sha1sum = informations[2]
+					if(not os.path.exists(Variables.playonlinux_rep+"/WineVersions/"+version)):
+						self.versions_.append(version)
+					self.i += 1	
+				self.versions_.reverse()
+				self.versions = self.versions_[:]
+
+				self.thread_message = "Ok"
+			except :
+				time.sleep(1)
+				self.thread_message = "Err"
+				self.versions = ["Wine packages website is unavailable"]
+		else:
+			time.sleep(0.2)
+
+
 class Onglets(wx.Notebook):
 	# Classe dérivée du wx.Notebook
 	def __init__(self, parent):
@@ -69,23 +112,7 @@ class Onglets(wx.Notebook):
 
 		self.txtOther = wx.StaticText(self.panelGeneral, -1, _("Other"), (0,180), wx.DefaultSize)
 		self.txtOther.SetFont(self.fontTitle)
-		#choices=os.listdir(Variables.playonlinux_env+"/lang/")
-		#choices.sort()
-		#self.i = 0
-		#self.available_languages=[]
-		#while(self.i < len(choices)):
-		#	self.available_languages.append(self.get_lng_name(choices[self.i]))
-		#	self.i += 1
-
-		#playonlinux_lang = os.popen("printf \"$POL_LANG\"", "r").read()
-		
-		#if(os.path.exists(Variables.playonlinux_env+"/lang/"+playonlinux_lang)):
-		#	default_lang = self.get_lng_name(playonlinux_lang)
-		#else:
-		#	default_lang = "English"
-				
-		#self.FontNavigator = wx.StaticText(self.panelGeneral, -1, _("Language"), (10,210), wx.DefaultSize)
-		#self.Lng = wx.ComboBox(self.panelGeneral, -1, value=default_lang, choices=self.available_languages, pos=(20,230),style=wx.CB_READONLY)
+
 		self.FontNavigator = wx.StaticText(self.panelGeneral, -1, _("Temp directory"), (10,210), wx.DefaultSize)
 		self.TmpAutoRemove = wx.CheckBox(self.panelGeneral, -1, _("Automatically empty temp directory"),pos=(20,230))
 		
@@ -112,15 +139,12 @@ class Onglets(wx.Notebook):
 
 	def Internet(self, nom):
 		self.panelInternet = wx.Panel(self, -1)
-		self.offmodef = wx.StaticText(self.panelInternet, -1, _("Offline Mode"), (0,0), wx.DefaultSize)
-		self.offmodef.SetFont(self.fontTitle)
-		self.OffLineCheck = wx.CheckBox(self.panelInternet, -1, _("Enable Offline mode"),pos=(10,30))
 
 		if(os.path.exists(Variables.playonlinux_rep+"/configurations/options/offline")):
 			if(open(Variables.playonlinux_rep+"/configurations/options/offline",'r').read() == '1'):
 				self.OffLineCheck.SetValue(1)
 		
-		self.ProxySettings = wx.StaticText(self.panelInternet, -1, _("Proxy configuration"), (0,70), wx.DefaultSize)
+		self.ProxySettings = wx.StaticText(self.panelInternet, -1, _("Proxy configuration"), (0,0), wx.DefaultSize)
 		self.ProxySettings.SetFont(self.fontTitle)
 		
 		proxy_settings = {}
@@ -141,20 +165,20 @@ class Onglets(wx.Notebook):
 				proxy_settings[line_parsed[0]] = line_parsed[1]
 				self.i += 1
 		
-		self.ProxyCheck = wx.CheckBox(self.panelInternet, 120, _("Set a proxy"),pos=(10,100))
+		self.ProxyCheck = wx.CheckBox(self.panelInternet, 120, _("Set a proxy"),pos=(10,30))
 		self.ProxyCheck.SetValue(int(proxy_settings['PROXY_ENABLED']))
 
-		self.ProxyTxtAdresse = wx.StaticText(self.panelInternet, -1, _("Proxy address"), (10,130), wx.DefaultSize)
-		self.ProxyAdresse = wx.TextCtrl(self.panelInternet, -1, proxy_settings["PROXY_ADRESS"], pos=(20,150),size=(300,27))
+		self.ProxyTxtAdresse = wx.StaticText(self.panelInternet, -1, _("Proxy address"), (10,60), wx.DefaultSize)
+		self.ProxyAdresse = wx.TextCtrl(self.panelInternet, -1, proxy_settings["PROXY_ADRESS"], pos=(20,80),size=(300,27))
 		
-		self.ProxyTxtPort = wx.StaticText(self.panelInternet, -1, _("Proxy port"), (10,190), wx.DefaultSize)
-		self.ProxyPort = wx.TextCtrl(self.panelInternet, -1, proxy_settings["PROXY_PORT"], pos=(20,210),size=(80,27))
+		self.ProxyTxtPort = wx.StaticText(self.panelInternet, -1, _("Proxy port"), (10,120), wx.DefaultSize)
+		self.ProxyPort = wx.TextCtrl(self.panelInternet, -1, proxy_settings["PROXY_PORT"], pos=(20,140),size=(80,27))
 
-		self.ProxyTxtLogin = wx.StaticText(self.panelInternet, -1, _("Proxy login"), (10,250), wx.DefaultSize)
-		self.ProxyLogin = wx.TextCtrl(self.panelInternet, -1, proxy_settings["PROXY_LOGIN"], pos=(20,270),size=(300,27))
+		self.ProxyTxtLogin = wx.StaticText(self.panelInternet, -1, _("Proxy login"), (10,180), wx.DefaultSize)
+		self.ProxyLogin = wx.TextCtrl(self.panelInternet, -1, proxy_settings["PROXY_LOGIN"], pos=(20,200),size=(300,27))
 
-		self.ProxyTxtPass = wx.StaticText(self.panelInternet, -1, _("Proxy password"), (10,310), wx.DefaultSize)
-		self.ProxyPass = wx.TextCtrl(self.panelInternet, -1, proxy_settings["PROXY_PASS"], pos=(20,330),size=(300,27), style=wx.TE_PASSWORD)
+		self.ProxyTxtPass = wx.StaticText(self.panelInternet, -1, _("Proxy password"), (10,240), wx.DefaultSize)
+		self.ProxyPass = wx.TextCtrl(self.panelInternet, -1, proxy_settings["PROXY_PASS"], pos=(20,260),size=(300,27), style=wx.TE_PASSWORD)
 		self.AddPage(self.panelInternet, nom, imageId=2)
 		wx.EVT_CHECKBOX(self, 120, self.proxy_enable)
 		self.proxy_enable(self)
@@ -274,6 +298,7 @@ class Onglets(wx.Notebook):
 		self.txtPlugin.SetFont(self.fontTitle)
 		self.pluginlist = wx.TreeCtrl(self.panelPlugins, 220, style=wx.RAISED_BORDER|wx.TR_HIDE_ROOT|wx.TR_FULL_ROW_HIGHLIGHT)		
 		self.pluginlist.SetSpacing(0)
+
 		self.pluginImgList = wx.ImageList(16,16)
 
 		self.pluginlist.SetImageList(self.pluginImgList)
@@ -281,7 +306,8 @@ class Onglets(wx.Notebook):
 		
 
 		self.sizerPlugins.Add(self.txtPlugin, 1, wx.EXPAND|wx.ALL, 2)
-		self.sizerPlugins.Add(self.pluginlist, 10, wx.EXPAND|wx.ALL, 2)
+		self.sizerPlugins.Add(self.pluginlist, 7, wx.EXPAND|wx.ALL, 2)
+
     		self.sizerPlugins.Add(self.panels_buttons_plugins, 6, wx.EXPAND|wx.ALL, 2)
 		
 		self.panelPlugins.SetSizer(self.sizerPlugins)
@@ -369,25 +395,19 @@ class Onglets(wx.Notebook):
 		self.txtGLX.SetValue(glx)
 
 	def glxgears(self, event):
-		#self.p = Popen("glxgears",shell=True,stdout=PIPE)
-		#while(self.p.poll() == None):	
-		#	self.txtGLX.SetValue(self.p.stdout.read())
-		#self.txtGLX.SetValue("Close this window in about 15 seconds. Longer it will be opened, more results you will have.")
-#		time.sleep(10)
 		self.result = os.popen("glxgears", "r").read()
 		self.txtGLX.SetValue(self.result)
 	
 	def system_info(self, event):
-		self.txtGLX.SetValue(os.popen("bash \""+Variables.playonlinux_env+"/bash/options/system_info\" &", "r").read())
+		self.txtGLX.SetValue(os.popen("bash \""+Variables.playonlinux_env+"/bash/system_info\" &", "r").read())
 
 	def SupprimePage(self, index):
-		# Méthode de suppression d'un onglet
 		self.DeletePage(index)
 			
 
 class MainWindow(wx.Frame):
   def __init__(self,parent,id,title):
-    wx.Frame.__init__(self, parent, -1, title, size = (505, 510), style = wx.CLOSE_BOX | wx.CAPTION | wx.MINIMIZE_BOX)
+    wx.Frame.__init__(self, parent, -1, title, size = (505, 550), style = wx.CLOSE_BOX | wx.CAPTION | wx.MINIMIZE_BOX)
     self.SetIcon(wx.Icon(Variables.playonlinux_env+"/etc/playonlinux.png", wx.BITMAP_TYPE_ANY))
     self.panelFenp = wx.Panel(self, -1)
     self.panels_buttons = wx.Panel(self.panelFenp, -1)
@@ -431,7 +451,6 @@ class MainWindow(wx.Frame):
 
 	   
     open(Variables.playonlinux_rep+"/configurations/options/proxy","w").write(self.chaine)
-    open(Variables.playonlinux_rep+"/configurations/options/offline",'w').write(str(int(self.onglets.OffLineCheck.IsChecked())))
 
 
     if(self.onglets.Desktop.GetValue()):
diff --git a/python/tools/get_wineversions.py b/python/tools/get_wineversions.py
deleted file mode 100755
index a30b73c..0000000
--- a/python/tools/get_wineversions.py
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/usr/bin/python2.5
-# -*- coding: utf-8 -*-
-
-import os, sys, urllib
-
-class parseur_html(object):
-    def __init__(self):
-        #Défini le lien de téléchargement:
-        self.lien = 'http://wine.budgetdedicated.com/archive/index.html'
-        #Défini le nom du fichier enregistré:
-        self.nom_fichier = '/tmp/wine_temp.html'
-        
-        #Envoi le téléchargement de la page:
-        self.telecharge()
-        #Envoi le parsing de la page:
-        self.ouvre_fichier()
-        
-        #Une fois que le bazard est fait, on affiche la liste des liens:
-        #print self.liste_liens
-        
-    #Télécharge le fichier:
-    def telecharge(self):
-        try:
-            urllib.urlretrieve(self.lien, filename=self.nom_fichier, reporthook=None)
-            #print self.lien, 'Téléchargé !'
-        except IOError:
-            #pass
-            print "Impossible de se connecter"
-            return
-        
-    #Ouvre et parse le fichier pour extraire les liens:
-    def ouvre_fichier(self):
-        fichier = open(self.nom_fichier,'r')
-        #fichier = fichier.readlines()
-        fichier = fichier.read(-1)
-        #fichier = fichier.split('</b>')
-        fichier = fichier.split('</a>')
-        
-        #Boucle pour ne récupérer que les liens dans le fichier:
-        #Récupère la première partie des liens (puisque ces derniers ne sont pas absolus dans le code)
-        self.debut_lien_temp = self.lien.split('/')
-        self.debut_lien = self.lien
-        self.debut_lien = self.debut_lien.replace(self.debut_lien_temp[len(self.debut_lien_temp)-1], '')
-
-        boucle = 0
-        #print 'Nombre de lignes:', str(len(fichier))
-        #self.liste_liens = []
-        
-        #Parcours le fichier avec une boucle afin de ne garder que ce qui nous interesse:
-        while boucle < len(fichier):
-            ligne_courante = fichier[boucle]
-            if '<a href="' in fichier[boucle] and '.deb' in fichier[boucle]:
-                ligne_courante = ligne_courante.replace('\n', '')
-                ligne_courante = ligne_courante.split('.deb')
-                ligne_courante = ligne_courante[0].split('<a href="')
-                #print '>', boucle, ':', self.debut_lien+ligne_courante[len(ligne_courante)-1] + '.deb'
-		print self.debut_lien+ligne_courante[len(ligne_courante)-1] + '.deb'
-                #self.liste_liens.append(self.debut_lien+ligne_courante[len(ligne_courante)-1] + '.deb')
-            boucle = boucle + 1
-
-if __name__ == "__main__":
-    parseur_html()
diff --git a/themes/tango/desktop.png b/themes/tango/desktop.png
old mode 100644
new mode 100755
diff --git a/themes/tango/divers.png b/themes/tango/divers.png
old mode 100644
new mode 100755
diff --git a/themes/tango/download.png b/themes/tango/download.png
old mode 100644
new mode 100755
diff --git a/themes/tango/error.png b/themes/tango/error.png
old mode 100644
new mode 100755
diff --git a/themes/tango/exec_wine.png b/themes/tango/exec_wine.png
old mode 100644
new mode 100755
diff --git a/themes/tango/fonts.png b/themes/tango/fonts.png
old mode 100644
new mode 100755
diff --git a/themes/tango/info.png b/themes/tango/info.png
old mode 100644
new mode 100755
diff --git a/themes/tango/ok.png b/themes/tango/ok.png
old mode 100644
new mode 100755
diff --git a/themes/tango/presentation.png b/themes/tango/presentation.png
old mode 100644
new mode 100755
diff --git a/themes/tango/question.png b/themes/tango/question.png
old mode 100644
new mode 100755
diff --git a/themes/tango/tux.png b/themes/tango/tux.png
old mode 100644
new mode 100755
diff --git a/themes/tango/update.png b/themes/tango/update.png
old mode 100644
new mode 100755
diff --git a/themes/tango/wait.png b/themes/tango/wait.png
old mode 100644
new mode 100755
diff --git a/themes/tango/warning.png b/themes/tango/warning.png
old mode 100644
new mode 100755
diff --git a/themes/tango/wine.png b/themes/tango/wine.png
old mode 100644
new mode 100755
diff --git a/themes/tango/wizard.png b/themes/tango/wizard.png
old mode 100644
new mode 100755

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/playonlinux.git



More information about the Pkg-games-commits mailing list