add Etersoft addon files
authorVitaly Lipatov <lav@etersoft.ru>
Mon, 5 May 2008 13:56:26 +0000 (17:56 +0400)
committerVitaly Lipatov <lav@etersoft.ru>
Mon, 5 May 2008 13:56:26 +0000 (17:56 +0400)
38 files changed:
etersoft/Makefile [new file with mode: 0644]
etersoft/TODO [new file with mode: 0644]
etersoft/desktop/menu.directory [new file with mode: 0644]
etersoft/desktop/wine-mime-msi.desktop [new file with mode: 0644]
etersoft/desktop/wine-notepad.desktop [new file with mode: 0644]
etersoft/desktop/wine-regedit.desktop [new file with mode: 0644]
etersoft/desktop/wine-uninstaller.desktop [new file with mode: 0644]
etersoft/desktop/wine-winecfg.desktop [new file with mode: 0644]
etersoft/desktop/wine-wineconsole.desktop [new file with mode: 0644]
etersoft/desktop/wine-winefile.desktop [new file with mode: 0644]
etersoft/desktop/wine-winehelp.desktop [new file with mode: 0644]
etersoft/desktop/wine-winemine.desktop [new file with mode: 0644]
etersoft/desktop/wine.directory [new file with mode: 0644]
etersoft/icons/wine-notepad.png [new file with mode: 0644]
etersoft/icons/wine-regedit.png [new file with mode: 0644]
etersoft/icons/wine-uninstaller.png [new file with mode: 0644]
etersoft/icons/wine-winecfg.png [new file with mode: 0644]
etersoft/icons/wine-winefile.png [new file with mode: 0644]
etersoft/icons/wine-winehelp.png [new file with mode: 0644]
etersoft/icons/wine-winemine.png [new file with mode: 0644]
etersoft/icons/wine.png [new file with mode: 0644]
etersoft/init/wine.init [new file with mode: 0644]
etersoft/init/wine.init.alt [new file with mode: 0644]
etersoft/init/wine.outformat [new file with mode: 0644]
etersoft/reg/common.reg [new file with mode: 0644]
etersoft/reg/ie-fake.reg [new file with mode: 0644]
etersoft/reg/ie.reg [new file with mode: 0644]
etersoft/reg/inet.reg [new file with mode: 0644]
etersoft/reg/map_devices.sh [new file with mode: 0755]
etersoft/reg/msi.reg [new file with mode: 0644]
etersoft/reg/ooffice.reg [new file with mode: 0644]
etersoft/reg/theme.reg [new file with mode: 0644]
etersoft/root/windows/command/ooffice [new file with mode: 0755]
etersoft/root/windows/downloads/wine_gecko-0.1.0.cab [new file with mode: 0644]
etersoft/scripts/setnethasp [new file with mode: 0755]
etersoft/scripts/wine [new file with mode: 0755]
etersoft/scripts/winelog [new file with mode: 0755]
etersoft/scripts/winetricks [new file with mode: 0755]

diff --git a/etersoft/Makefile b/etersoft/Makefile
new file mode 100644 (file)
index 0000000..281148b
--- /dev/null
@@ -0,0 +1,73 @@
+#prefix = @prefix@
+bindir = $(prefix)/bin
+datadir = $(prefix)/share
+libdir = $(prefix)/lib
+
+INSTALL = ../tools/install-sh
+# initdir, sysconfdir
+
+# due various xargs options
+XARGS=`echo | xargs -IQQQ 2>/dev/null && echo "xargs -IQQQ" || echo "xargs -iQQQ"`
+
+install:
+       cd root ; find  ./ -type d | grep -v CVS | $(XARGS) mkdir -p "$(datadir)/wine/skel/QQQ"
+       cd root ; find  ./ -type f | grep -v Makefile | grep -v CVS | $(XARGS) ../$(INSTALL) -m 0644 "QQQ" "$(datadir)/wine/skel/QQQ"
+
+       # enable stack execution (for newest kernels > 2.6.12?) - need prelink package already installed
+       test -e /usr/bin/execstack && /usr/bin/execstack -s $(bindir)/wine-pthread || echo "WARNING: your have no %_bindir/execstack utility from prelink package"
+       # enable stack execution in wine binary (old kernel patches)
+       test -e /usr/bin/chstk && /usr/bin/chstk -e $(bindir)/wine-kthread $(bindir)/wine-pthread || true
+
+       cd ies4linux ; make prefix=$(prefix) libdir=$(libdir) datadir=$(datadir)
+       # user helper scripts
+
+       # will replace with our launcher
+       mv $(bindir)/wine $(bindir)/wine-glibc
+       $(INSTALL) -m 755 scripts/* $(bindir)/
+
+       $(INSTALL) -d -m 755 $(datadir)/wine
+       $(INSTALL) -m 644 desktop/menu.directory $(datadir)/wine/menu.directory
+       #
+       $(INSTALL) -d -m 755 $(initdir)/
+       $(INSTALL) -m 755 init/wine.init $(initdir)/wine
+       $(INSTALL) -m 755 init/wine.outformat $(initdir)/
+       #
+       $(INSTALL) -d -m 755 $(sysconfdir)/wine/
+       $(INSTALL) -m 644 reg/* $(sysconfdir)/wine/
+
+       # install all desktop files
+       $(INSTALL) -d -m 755 $(datadir)/applications/
+       $(INSTALL) -m 644 desktop/*.desktop $(datadir)/applications/
+
+       # install all icon files
+       $(INSTALL) -d -m 755 $(datadir)/icons
+       $(INSTALL) -m 644 icons/*.png $(datadir)/icons/
+
+       # Do not use standart wine launcher and wineprefixcreate
+       rm -f $(bindir)/winelauncher $(bindir)/wineprefixcreate
+       @rm -f $(datadir)/man/man1/wineprefixcreate.*
+       # we cannot recognize real man path here :(
+       @rm -f $(prefix)/man/man1/wineprefixcreate.*
+       rm -f $(bindir)/function_grep.pl
+       # at first run wine does like wineprefixcreate
+       ln -s wine $(bindir)/wineprefixcreate
+
+       # for shared dir
+       $(INSTALL) -d $(prefix)/../var/lib/wine/
+
+       # comment it out to fix bug #1536
+       # due bug with instmsia (needed for Win98)
+       #rm -f $(libdir)/wine/mscoree.dll.so
+
+       # Install font's helpers
+       #$(INSTALL) -m 755 ../tools/bin2res $(bindir)/bin2res
+       $(INSTALL) -m 755 ../tools/fnt2bdf $(bindir)/fnt2dbf
+       $(INSTALL) -m 755 ../tools/font_convert.sh $(bindir)/wine_font_convert.sh
+
+       #$(INSTALL) -d -m 755 $(prefix)/../etc/xdg/menus/applications-merged/
+       #$(INSTALL) -m 644 wine.menu $(prefix)/../etc/xdg/menus/applications-merged/wine.menu
+       $(INSTALL) -d -m 755 $(datadir)/desktop-directories/
+       $(INSTALL) -m 644 desktop/wine.directory $(datadir)/desktop-directories/wine.directory
+
+       cp -f ../dlls/twain_32/README ../README.TWAIN
+       cp -f ../tools/winedump/README ../README.winedump
diff --git a/etersoft/TODO b/etersoft/TODO
new file mode 100644 (file)
index 0000000..d5f683c
--- /dev/null
@@ -0,0 +1,96 @@
+Debian:
++wine-bin        (core binaries and configuration)
++libwine         (core libraries)
++libwine-print   (printing modules)
++libwine-sane    (scanner access module)
++libwine-gphoto2 (camera access module)
++libwine-gl      (OpenGL/Direct3D module)
++libwine-arts    (aRts sound module)
++libwine-alsa    (ALSA sound module)
++libwine-esd     (EsounD sound module)
++libwine-jack    (JACK sound module)
++libwine-nas     (NAS sound module)
++libwine-capi    (ISDN card module)
++libwine-cms     (color management module)
++libwine-ldap    (LDAP module)
++libwine-dev     (Winelib development headers and tools)
++wine-utils      (extra binaries)
+
+
+����� ������������� ������� ���������� (��������� ��� ��������)
+��������������� ��������� �� ��������� �����
+��� MCBC /usr/include/arpa/nameser* ����������� �� ����� ������
+
+��������: libpng-devel libcapi20
+libicu-devel
+dbus libhal
+
+/net/os/stable ���������� ����� ������, ��������� ֣����� ������
+FreeBSD: map_devices.sh
+������� commit patch ���������
+�������� ������� ���� ������
+�������� ����������� �� glibc-core-i686 ��� C3.0 (� rpmbph?)
+��������� ���������� gecko?
+��������� ��������� Redhat 9, ALT Linux Compact 2.3
+
++ redhat: �������� mktemp
+��������� ��� � wineprefixcreate
+�������� ������ �����!
+
+�������� ����������� ������ � debug (!! ����������)
+http://www.kellys-korner-xp.com/xp_shell_folders.htm
+������� wine
+� ������������ ��������� ������ �� README �� FTP.
+���� ������!
+������ ������ ����������� ��������� ��� ������ ������
+������!
+FreeBSD: ��� /var/lib/wine 
+#+ �� �������� wineprefixcreate!
+#- ����� Mozilla Control ����������, ���������� ��� ������?
+mkpatch ����� ������ � a � b?
+��������� �����. ��������� �� FreeBSD
+
+������ ��������� ����������� ����
+�������� ������ ��������� XDG (����� ���� ����), ��� ��� ���������������, ��� � ��� ������ WINE
+��������� ����� � Picasa
+- �ӣ-���� ������� ����� 0007, ����� ���������� ������� ����������� ��������� � profiles
+�������� � HAL
+���������� USERPROFILE ����� ��������� �� ������� �������� �������� ������� ������������ (��� ��������?)
+
++ � wineprefixcreate ������������� ����������� ����� �������
+�������� ������ ����� �������� wine
+��������� glibc-kern-headers - ����� /usr/include/linux ��� dinput joystick
+
+�������� ������������
+�������� ��������� ����� �� ������ ������� ����
+������� ������ ���������� � ������ �������� � ���������� ������
+������� service wine �� ������ �������
+��������� �� ������� �������
+������  ������������� �� ������ WINE ��������� ��������� WINE - �������� ��������� control - ��!
++��� �� ��� ��� libxslt ����� ��� ������?
+TODO: winelauncher ��� ����������?
+��������� ������ ������� (������� - ����������?)
+
+��� �� ������������� generic.ppd?
+�������� README.etersoft.txt � ��������� ��������� (� �.�. �� �������)
+��� ANNOUNCE.etersoft
+8480
+
+You can use objcopy to get debug symbols out of a file, like this
+objcopy --only-keep-debug $object $object.debug
+objcopy --strip-debug $object
+objcopy --add-gnu-debuglink=$object.debug $object
+where objcopy is the name of the file, winedbg picks the debug symbols 
+up like this, I don't know about gdb.
+
+  201 0x46d30060 (0x46d38818)
+0x46e74942 FreeCredentialsHandle+0x32 [/home/lav/Projects/wine/dlls/secur32/wrapper.c:167] in secur32: movl     0x14(%eax),%eax
+167             if (package && package->provider &&
+Wine-dbg>bt
+Backtrace:
+=>1 0x46e74942 FreeCredentialsHandle+0x32(phCredential=0x40416ca8) [/home/lav/Projects/wine/dlls/secur32/wrapper.c:167] in secur32 (0x406bdefc)
+  2 0x46e7496d 
+
++marlett
+
+�� �������� MSDAC (ODBC)
diff --git a/etersoft/desktop/menu.directory b/etersoft/desktop/menu.directory
new file mode 100644 (file)
index 0000000..e728cbb
--- /dev/null
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Encoding=UTF-8
+Icon=exec_wine
+Name=WINE Applications
+Name[ru]=Приложения WINE
+
+[URL properties]
+IconSize=48
+ShowDotFiles=false
diff --git a/etersoft/desktop/wine-mime-msi.desktop b/etersoft/desktop/wine-mime-msi.desktop
new file mode 100644 (file)
index 0000000..a787995
--- /dev/null
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Type=Application
+Name=Windows Installer File
+Encoding=UTF-8
+Exec=wine start %f
+MimeType=application/x-ole-storage;text/mspg-legacyinfo
+Hidden=true
+X-Desktop-File-Install-Version=0.10
diff --git a/etersoft/desktop/wine-notepad.desktop b/etersoft/desktop/wine-notepad.desktop
new file mode 100644 (file)
index 0000000..52b628d
--- /dev/null
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Name=Wine Notepad
+Name[ru]=Блокнот Wine
+Comment=Wine Text Editor
+Comment[ru]=Текстовый редактор Wine
+GenericName=Windows environment
+GenericName[ru]=Запуск Windows-программ
+Exec=notepad
+Terminal=false
+Type=Application
+Icon=wine-notepad.png
+Categories=Wine;Application;Utility;
diff --git a/etersoft/desktop/wine-regedit.desktop b/etersoft/desktop/wine-regedit.desktop
new file mode 100644 (file)
index 0000000..aa06660
--- /dev/null
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Name=Wine RegEdit
+Name[ru]=Редактор реестра
+Comment=Wine Registry Editor
+Comment[ru]=Редактор реестра Wine
+GenericName=Windows environment
+GenericName[ru]=Запуск Windows-программ
+Exec=regedit
+Terminal=false
+Type=Application
+Icon=wine-regedit.png
+Categories=Wine;Application;Settings;
diff --git a/etersoft/desktop/wine-uninstaller.desktop b/etersoft/desktop/wine-uninstaller.desktop
new file mode 100644 (file)
index 0000000..875dcdc
--- /dev/null
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Name=Wine Software Uninstaller
+Name[ru]=Удаление программ
+Comment=Uninstall software from Wine
+Comment[ru]=Удаление программ из Wine
+GenericName=Windows environment
+GenericName[ru]=Запуск Windows-программ
+Exec=uninstaller
+Terminal=false
+Type=Application
+Icon=wine-uninstaller.png
+Categories=Wine;Application;System
diff --git a/etersoft/desktop/wine-winecfg.desktop b/etersoft/desktop/wine-winecfg.desktop
new file mode 100644 (file)
index 0000000..745973c
--- /dev/null
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Name=Wine Configuration
+Name[ru]=Настройки Wine
+Comment=Setup the compatibility layer for Windows programs
+Comment[ru]=Программа для настройки параметров Wine
+GenericName=Windows environment
+GenericName[ru]=Запуск Windows-программ
+Exec=winecfg
+Terminal=false
+Icon=wine-winecfg.png
+Type=Application
+Categories=Wine;Application;Settings
diff --git a/etersoft/desktop/wine-wineconsole.desktop b/etersoft/desktop/wine-wineconsole.desktop
new file mode 100644 (file)
index 0000000..1538a29
--- /dev/null
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Name=Wine Command Prompt
+Name[ru]=Командная строка Wine
+Comment=Wine Command Prompt
+Comment[ru]=Командная строка Wine
+GenericName=Windows environment
+GenericName[ru]=Запуск Windows-программ
+Exec=wineconsole cmd
+Terminal=false
+Type=Application
+Icon=wine.png
+Categories=Wine;Application;Utility;
diff --git a/etersoft/desktop/wine-winefile.desktop b/etersoft/desktop/wine-winefile.desktop
new file mode 100644 (file)
index 0000000..ca64712
--- /dev/null
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Name=Wine File
+Name[ru]=Менеджер файлов
+Comment=Wine File Browser
+Comment[ru]=Файловый менеджер Wine
+GenericName=Windows environment
+GenericName[ru]=Запуск Windows-программ
+Exec=winefile
+Terminal=false
+Type=Application
+Icon=wine-winefile.png
+Categories=Wine;Application;Utility;Emulator;
diff --git a/etersoft/desktop/wine-winehelp.desktop b/etersoft/desktop/wine-winehelp.desktop
new file mode 100644 (file)
index 0000000..21e7323
--- /dev/null
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Name=Wine Help Browser
+Name[ru]=Просмотр справки Wine
+Comment=Windows Help Browser
+Comment[ru]=Программа просмотра справки Windows
+GenericName=Windows environment
+GenericName[ru]=Запуск Windows-программ
+Exec=winhelp
+Terminal=false
+Type=Application
+Icon=wine-winehelp.png
+Categories=Wine;Application;Utility;
diff --git a/etersoft/desktop/wine-winemine.desktop b/etersoft/desktop/wine-winemine.desktop
new file mode 100644 (file)
index 0000000..7fca1a4
--- /dev/null
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Name=Winemine
+Name[ru]=Минёр
+Comment=Wine Minesweeper
+Comment[ru]=Минёр Wine
+GenericName=Windows environment
+GenericName[ru]=Запуск Windows-программ
+Exec=winemine
+Terminal=false
+Type=Application
+Icon=wine-winemine.png
+Categories=Wine;Game;LogicGame;
diff --git a/etersoft/desktop/wine.directory b/etersoft/desktop/wine.directory
new file mode 100644 (file)
index 0000000..9fdb800
--- /dev/null
@@ -0,0 +1,5 @@
+[Desktop Entry]
+Encoding=UTF-8
+Type=Directory
+Name=Wine
+Icon=wine
diff --git a/etersoft/icons/wine-notepad.png b/etersoft/icons/wine-notepad.png
new file mode 100644 (file)
index 0000000..0c39320
Binary files /dev/null and b/etersoft/icons/wine-notepad.png differ
diff --git a/etersoft/icons/wine-regedit.png b/etersoft/icons/wine-regedit.png
new file mode 100644 (file)
index 0000000..7cba426
Binary files /dev/null and b/etersoft/icons/wine-regedit.png differ
diff --git a/etersoft/icons/wine-uninstaller.png b/etersoft/icons/wine-uninstaller.png
new file mode 100644 (file)
index 0000000..b1ad539
Binary files /dev/null and b/etersoft/icons/wine-uninstaller.png differ
diff --git a/etersoft/icons/wine-winecfg.png b/etersoft/icons/wine-winecfg.png
new file mode 100644 (file)
index 0000000..b6149bb
Binary files /dev/null and b/etersoft/icons/wine-winecfg.png differ
diff --git a/etersoft/icons/wine-winefile.png b/etersoft/icons/wine-winefile.png
new file mode 100644 (file)
index 0000000..2338d9b
Binary files /dev/null and b/etersoft/icons/wine-winefile.png differ
diff --git a/etersoft/icons/wine-winehelp.png b/etersoft/icons/wine-winehelp.png
new file mode 100644 (file)
index 0000000..823265f
Binary files /dev/null and b/etersoft/icons/wine-winehelp.png differ
diff --git a/etersoft/icons/wine-winemine.png b/etersoft/icons/wine-winemine.png
new file mode 100644 (file)
index 0000000..075bd08
Binary files /dev/null and b/etersoft/icons/wine-winemine.png differ
diff --git a/etersoft/icons/wine.png b/etersoft/icons/wine.png
new file mode 100644 (file)
index 0000000..8f3182f
Binary files /dev/null and b/etersoft/icons/wine.png differ
diff --git a/etersoft/init/wine.init b/etersoft/init/wine.init
new file mode 100644 (file)
index 0000000..663ac14
--- /dev/null
@@ -0,0 +1,112 @@
+#!/bin/sh
+#
+# chkconfig: 2345 99 01
+# description: Allow users to run Windows(tm) applications by just clicking \
+#              on them (or typing ./file.exe)
+# processname: wine
+
+OUTFORMAT=/etc/init.d/outformat
+[ -x $OUTFORMAT ] || OUTFORMAT=/etc/init.d/wine.outformat
+
+if which tput >/dev/null && test -x $OUTFORMAT ; then
+       . $OUTFORMAT
+else
+       MOVE_TO_COL(){ :; }
+       SETCOLOR_SUCCESS(){ :; }
+       SETCOLOR_FAILURE(){ :; }
+       SETCOLOR_WARNING(){ :; }
+       SETCOLOR_NORMAL(){ :; }
+fi
+
+success()
+{
+       MOVE_TO_COL
+       echo -n '[ '
+       SETCOLOR_SUCCESS
+       echo -n 'DONE'
+       SETCOLOR_NORMAL
+       echo -e ' ]\r'
+}
+
+failure()
+{
+       MOVE_TO_COL
+       echo -n '['
+       SETCOLOR_FAILURE
+       echo -n 'FAILED'
+       SETCOLOR_NORMAL
+       echo -e ']\r'
+}
+
+passed()
+{
+       MOVE_TO_COL
+       echo -n '['
+       SETCOLOR_WARNING
+       echo -n 'PASSED'
+       SETCOLOR_NORMAL
+       echo -e ']\r'
+}
+
+RETVAL=0
+
+PROCBIN=/proc/sys/fs/binfmt_misc
+
+check()
+{
+       [ -e $PROCBIN/windows -o -e $PROCBIN/windowsPE ]
+}
+
+start()
+{
+       echo -n "WINE: Registering binary handler for Windows program: "
+       modprobe binfmt_misc 2>/dev/null
+       mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc 2>/dev/null
+       [ -e $PROCBIN/register ] || { failure ; return 1; }
+       echo ':windows:M::MZ::/usr/bin/wine:' >$PROCBIN/register &&
+       echo ':windowsPE:M::PE::/usr/bin/wine:' >$PROCBIN/register &&
+       success || failure
+}
+
+stop()
+{
+       echo -n "WINE: Deregistering binary handler for Windows program: "
+        check || { passed ; return 1 ; }
+        echo '-1' >$PROCBIN/windows && echo '-1' >$PROCBIN/windowsPE &&
+        success || failure
+}
+
+status()
+{
+       echo "Wine binary format handlers information:"
+        for n in windows windowsPE; do
+               f="$PROCBIN/$n"
+               [ -e "$f" ] && echo "Handler $n: `head -2 "$f"`" || echo "$n: absent"
+       done
+}
+
+# See how we were called.
+case "$1" in
+       start)
+               start
+               ;;
+       stop)
+               stop
+               ;;
+       restart)
+               stop
+               start
+               ;;
+       condstop)
+               check && stop
+               ;;
+       condrestart)
+               check && stop && start
+               ;;
+       status)
+               status
+               ;;
+       *)
+               echo "${0##*/} {start|stop|restart|condstop|condrestart|status}" >&2
+               false
+esac
diff --git a/etersoft/init/wine.init.alt b/etersoft/init/wine.init.alt
new file mode 100644 (file)
index 0000000..c623e6d
--- /dev/null
@@ -0,0 +1,99 @@
+#!/bin/sh
+#
+# chkconfig: 2345 99 01
+# description: Allow users to run Windows(tm) applications by just clicking \
+#              on them (or typing ./file.exe)
+# processname: wine
+
+# Do not load RH compatibility interface.
+WITHOUT_RC_COMPAT=1
+
+# Source function library.
+. /etc/init.d/functions
+
+RETVAL=0
+
+PROCBIN=/proc/sys/fs/binfmt_misc
+
+check()
+{
+       [ -e $PROCBIN/windows -o -e $PROCBIN/windowsPE ]
+}
+
+start()
+{
+       echo -n "WINE: Registering binary handler for Windows program: "
+       modprobe binfmt_misc 2>/dev/null
+        if [ $? -ne 0 ]; then
+                echo_failure
+                RETVAL=$?
+                echo -e '\r'
+       else
+               echo ':windows:M::MZ::/usr/bin/wine:' >$PROCBIN/register &&
+               echo ':windowsPE:M::PE::/usr/bin/wine:' >$PROCBIN/register &&
+               echo_success || echo_failure
+               RETVAL=$?
+               echo -e '\r'
+       fi
+       return $RETVAL
+}
+
+stop()
+{
+               echo -n "Deregistering binary handler for Windows program (`basename $0 .init` services): "
+        if ! check; then
+               echo_failure
+               RETVAL=$?
+               echo -e '\r'
+       else
+               echo '-1' >$PROCBIN/windows &&
+               echo '-1' >$PROCBIN/windowsPE &&
+               echo_success || echo_failure
+               RETVAL=$?
+               echo -e '\r'
+       fi
+       return $RETVAL
+}
+
+restart()
+{
+       stop
+       start
+}
+
+# See how we were called.
+case "$1" in
+       start)
+               start
+               ;;
+       stop)
+               stop
+               ;;
+       restart)
+               restart
+               ;;
+       condstop)
+               check && stop
+               ;;
+       condrestart)
+               check && restart
+               ;;
+       status)
+                       echo "Wine binary format handlers information:"
+               for n in windows windowsPE; do
+                       f="$PROCBIN/$n"
+                       if [ -e "$f" ]; then
+                               echo
+                               echo "Handler $n: `cat "$f"`"
+                       else
+                               echo "$n: absent"
+                               RETVAL=1
+                       fi
+               done
+               ;;
+       *)
+               msg_usage "${0##*/} {start|stop|restart|condstop|condrestart|status}"
+               RETVAL=1
+esac
+
+exit $RETVAL
diff --git a/etersoft/init/wine.outformat b/etersoft/init/wine.outformat
new file mode 100644 (file)
index 0000000..b72b45f
--- /dev/null
@@ -0,0 +1,98 @@
+#!/bin/sh
+# Output formatting functions.
+# $Id: wine.outformat,v 1.2 2007/01/11 12:28:25 lav Exp $
+#
+# Copyright (C) 2002 Ivan Zakharyaschev <imz@altlinux.ru>.
+# Copyright (C) 2002 Dmitry V. Levin <ldv@altlinux.org>.
+#
+# 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+
+# Set a sane TERM required for tput
+[ -n "$TERM" ] || TERM=dumb
+export TERM
+
+# Offset from right margin of the screen to start status labels at.
+: {RES_OFFSET:=8}
+[ -n "$RES_OFFSET" ] && [ "$RES_OFFSET" -gt 0 ] 2>/dev/null || RES_OFFSET=8
+
+# The cmd names and color codes used as arguments for tput(1)
+# were taken from terminfo(5).
+
+# Terminal sequence to move to that position.
+MOVE_TO_COL()
+{
+       [ -n "$COLUMNS" ] || COLUMNS=80
+       # "tput hpa N" moves to col N; on dumb terms does nothing.
+       local pos=$(($COLUMNS - $RES_OFFSET))
+       [ $pos -le 0 ] ||
+               tput -- hpa $(($COLUMNS - $RES_OFFSET)) # Horizontal Position Absolute.
+}
+
+# Enumerate colors
+: ${BLACK:=0} ${RED:=1} ${GREEN:=2} ${YELLOW:=3} ${BLUE:=4} ${MAGENTA:=5} ${CYAN:=6} ${WHITE:=7}
+
+# Set 'success' color (currently: green)
+SETCOLOR_SUCCESS()
+{
+       {
+               echo bold
+               echo setaf $GREEN
+       } |tput -S
+}
+
+# Set 'failure' color (currently: red)
+SETCOLOR_FAILURE()
+{
+       {
+               echo bold
+               echo setaf $RED
+       } |tput -S
+}
+
+# Set 'warning' color (currently: yellow)
+SETCOLOR_WARNING()
+{
+       {
+               echo bold
+               echo setaf $YELLOW
+       } |tput -S
+}
+
+# Set 'info' color (currently: cyan)
+SETCOLOR_INFO()
+{
+       {
+               echo bold
+               echo setaf $CYAN
+       } |tput -S
+}
+
+# Set 'banner' color (currently: blue on yellow)
+SETCOLOR_BANNER()
+{
+       {
+               echo setaf $BLUE
+               echo setab $YELLOW
+       } |tput -S
+}
+
+# Terminal sequence to reset to the default color.
+SETCOLOR_NORMAL()
+{ 
+       {
+               echo op; # set Original color Pair.
+               echo sgr0; # turn off all special graphics mode (bold in our case).
+       } |tput -S
+}
diff --git a/etersoft/reg/common.reg b/etersoft/reg/common.reg
new file mode 100644 (file)
index 0000000..f757c39
--- /dev/null
@@ -0,0 +1,52 @@
+# Etersoft's presettings for some applications
+
+[HKEY_USERS\S-1-5-4\Software\Wine]
+"ShowDirSymLinks"="Y"
+"ShowDotFiles"="N"
+
+[HKEY_USERS\S-1-5-4\Software\Wine\DllOverrides]
+"msvcrt"="native,builtin"
+"msvcirt"="native,builtin"
+"msvcp60"="native,builtin"
+"msvcp70"="native,builtin"
+"msvcr71"="native,builtin"
+"msvcp80"="native,builtin"
+"msvcr70"="native,builtin"
+"msvcr71"="native,builtin"
+"msvcr80"="native,builtin"
+"msvcrt20"="native,builtin"
+"msvcrt40"="native,builtin"
+"secur32"="native,builtin"
+"crypt32"="native,builtin"
+"cryptdlg"="native,builtin"
+"cryptext"="native,builtin"
+"cryptnet"="native,builtin"
+"cryptui"="native,builtin"
+"riched20"="native,builtin"
+"riched32"="native,builtin"
+# Due some start.exe programs
+"start.exe"="native,builtin"
+# FoxPro
+"ole2"="native,builtin"
+"ole32"="native,builtin"
+"oleaut32"="native,builtin"
+"oleacc"="native,builtin"
+"oleaccrc"="native,builtin"
+"olecli"="native,builtin"
+"olecli32"="native,builtin"
+"olecnv32"="native,builtin"
+"oledlg"="native,builtin"
+"olepro32"="native,builtin"
+"oleprn"="native,builtin"
+"olesrv"="native,builtin"
+"olesrv32"="native,builtin"
+"olethk32"="native,builtin"
+# For MSXML
+"mlang"="native,builtin"
+"extrac32.exe"="builtin"
+"itss"="native,builtin"
+
+[HKEY_USERS\S-1-5-4\Software\Wine\Debug]
+"RelayExclude"="kernel32.InitializeCriticalSection;ntdll.RtlDeleteCriticalSection;kernel32.QueryPerformanceCounter;kernel32.TlsGetValue;kernel32.InterlockedDecrement;kernel32.InterlockedIncrement;ntdll.RtlEnterCriticalSection;ntdll.RtlLeaveCriticalSection;kernel32.94;kernel32.95;kernel32.96;kernel32.97;kernel32.98"
+"RelayFromExclude"="winex11.drv;user32;gdi32;advapi32;kernel32"
+
diff --git a/etersoft/reg/ie-fake.reg b/etersoft/reg/ie-fake.reg
new file mode 100644 (file)
index 0000000..5357b4a
--- /dev/null
@@ -0,0 +1,15 @@
+# Dummy entry for Internet Explorer present
+#[HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer]
+#"Version"="6.0.2800.1106"
+#"W2kVersion"="6.0.2800.1106"
+
+# For local Mozilla
+#[Software\\Wine\\shdocvw] 1144483619
+#"MozillaUrl"="file:///C:\\windows\\downloads\\MozillaControl1712.exe"
+
+# Use our path
+[HKEY_USERS\S-1-5-4\Software\Wine\MSHTML]
+"GeckoCabDosDir"="C:\\WINDOWS\\DOWNLOADS\\"
+
+#[HKEY_USERS\S-1-5-4\Software\Wine\MSHTML]
+#"GeckoUrl"="file:///C:\\WINDOWS\\DOWNLOADS\\wine_gecko-0.1.0.cab"
diff --git a/etersoft/reg/ie.reg b/etersoft/reg/ie.reg
new file mode 100644 (file)
index 0000000..72c7ae7
--- /dev/null
@@ -0,0 +1,108 @@
+[HKEY_USERS\S-1-5-4\Software\Microsoft\Internet Explorer\Main]
+"Start Page"="http://winehq.org.ru"
+
+# For IE6 installer
+[HKEY_USERS\S-1-5-4\Software\Wine\AppDefaults\ie6wzd.exe\DllOverrides]
+"advpack"="native"
+
+[HKEY_USERS\S-1-5-4\Software\Wine\AppDefaults\ie6setup.exe]
+"Version"="win98"
+
+# For other applications used IE
+[HKEY_USERS\S-1-5-4\Software\Wine\DllOverrides]
+"actxprxy"="native,builtin"
+"asycfilt"="native,builtin"
+"atl"="native,builtin"
+"bindfile"="native,builtin"
+"browselc"="native,builtin"
+"browseui"="native,builtin"
+"browsewm"="native,builtin"
+"comcat"="native,builtin"
+"compobj"="native,builtin"
+"cool"="native,builtin"
+"corpol"="native,builtin"
+"csseqchk"="native,builtin"
+"digest"="native,builtin"
+"dispex"="native,builtin"
+"dssbase"="native,builtin"
+"dwintl"="native,builtin"
+"dxtmsft"="native,builtin"
+"dxtrans"="native,builtin"
+"enhsig"="native,builtin"
+"hlink"="native,builtin"
+"hmmapi"="native,builtin"
+"hh.exe"="native,builtin"
+"hhctrl.ocx"="native,builtin"
+"ie4"="native,builtin"
+"iedkcs32"="native,builtin"
+"iemigrat"="native,builtin"
+"iepeers"="native,builtin"
+"iernonce"="native,builtin"
+"iesetup"="native,builtin"
+"imagehlp"="native,builtin"
+"imgutil"="native,builtin"
+"inetcplc"="native,builtin"
+"initpki"="native,builtin"
+"inseng"="native,builtin"
+"instrsa"="native,builtin"
+"instsch"="native,builtin"
+"iprop"="native,builtin"
+"jobexec"="native,builtin"
+"jscript"="native,builtin"
+"jsproxy"="native,builtin"
+"jsptb"="native,builtin"
+"licmgr10"="native,builtin"
+"mfc40"="native,builtin"
+"migrate"="native,builtin"
+"mmutilse"="native,builtin"
+"mscat32"="native,builtin"
+"msconv97"="native,builtin"
+"mscrlrev"="native,builtin"
+"msencode"="native,builtin"
+"mshtml"="native,builtin"
+"mshtmled"="native,builtin"
+"mshtmler"="native,builtin"
+"msls31"="native,builtin"
+"msoss"="native,builtin"
+"msratelc"="native,builtin"
+"msrating"="native,builtin"
+"mssetup"="native,builtin"
+"mssign32"="native,builtin"
+"mssip32"="native,builtin"
+"mstime"="native,builtin"
+"occache"="native,builtin"
+"pngfilt"="native,builtin"
+"psbase"="native,builtin"
+"pstorec"="native,builtin"
+"pstorerc"="native,builtin"
+"rnaph"="native,builtin"
+"rsabase"="native,builtin"
+"rsaenh"="native,builtin"
+"rsasig"="native,builtin"
+"schannel"="native,builtin"
+"scoptb"="native,builtin"
+"scrobj"="native,builtin"
+"scrrun"="native,builtin"
+"sendmail"="native,builtin"
+"shd401lc"="native,builtin"
+"shdoc401"="native,builtin"
+"shdoclc"="native,builtin"
+"shdocvw"="native,builtin"
+"shfolder"="native,builtin"
+"shlwapi"="native,builtin"
+"softpub"="native,builtin"
+"start.exe"="native,builtin"
+"storage"="native,builtin"
+"thumbvw"="native,builtin"
+"triedit"="native,builtin"
+"url"="native,builtin"
+"urlmon"="native,builtin"
+"usp10"="native,builtin"
+"vbscript"="native,builtin"
+"vgx"="native,builtin"
+"wininet"="native,builtin"
+"wintrust"="native,builtin"
+"wldap32"="native,builtin"
+"wshcon"="native,builtin"
+"wshext"="native,builtin"
+"xenroll"="native,builtin"
diff --git a/etersoft/reg/inet.reg b/etersoft/reg/inet.reg
new file mode 100644 (file)
index 0000000..1993667
--- /dev/null
@@ -0,0 +1,3 @@
+# Enable Internet access
+[HKEY_USERS\S-1-5-4\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
+"ProxyEnable"=dword:00000000
diff --git a/etersoft/reg/map_devices.sh b/etersoft/reg/map_devices.sh
new file mode 100755 (executable)
index 0000000..4f8766d
--- /dev/null
@@ -0,0 +1,126 @@
+#!/bin/sh
+# Copyright (C) 2005, 2006, 2007 Etersoft
+# Copyright (C) 2005, 2006, 2007 Vitaly Lipatov <lav@etersoft.ru>
+# Copyright (C) 2005 Nikolay Lezzhov <nick@etersoft.ru>
+# Copyright (C) 2006 Konstantin Petrov <argentum@etersoft.ru>
+#
+# Place device mapping here
+# Called from wine script
+# FIXME: We need to detect CD drive path
+
+OSNAME=`uname`
+
+case "$OSNAME" in
+"FreeBSD")
+       #echo "freebsd"
+       COMDEVICE=cuaa;
+       [ -c /dev/cuad0 ] && COMDEVICE=cuad;
+       LPTDEVICE=lpt;
+       CDFSNAME="cd9660"
+       ;;
+"Linux")
+       #echo "linux"
+       COMDEVICE=ttyS;
+       LPTDEVICE=lp;
+       CDFSNAME="iso9660";
+       [ -n "$LINUXXP" ] && CDFSNAME="managed"
+       ;;
+esac
+
+## Configure CDROMs
+#STARTCDLETTER=e
+
+#CDDEVS=`cat /etc/fstab|grep $CDFSNAME| \
+#perl -e while\(\<\>\)\{\@ss=split\;print\ \""\\$"ss\[0\]\ \"\;\}`
+
+#CDMNTP=`cat /etc/fstab|grep $CDFSNAME| \
+#perl -e while\(\<\>\)\{\@ss=split\;print\ \""\\$"ss\[1\]\ \"\;\}`
+
+#cdlcode=`perl -e print\ ord\($STARTCDLETTER\)`
+
+#for i in $CDMNTP ; do
+#CDLETTER=`perl -e print\ chr\($cdlcode\)`
+#if [ ${CDLETTER} = "{" ] ; then
+#echo "WARNING: no more letters for CD-ROMs!"
+#break
+#fi
+#map_drive $i ${CDLETTER}:
+#cdlcode=$((cdlcode+1))
+#done
+
+#cdlcode=`perl -e print\ ord\($STARTCDLETTER\)`
+
+#for i in $CDDEVS ; do
+#CDLETTER=`perl -e print\ chr\($cdlcode\)`
+#if [ ${CDLETTER} = "{" ] ; then
+#echo "WARNING: no more letters for CD-ROMs!"
+#break
+#fi
+#map_drive $i ${CDLETTER}::
+#cdlcode=$((cdlcode+1))
+#done
+
+
+## Configure Floppy's
+#FLOPDEVICE=/dev/fd0
+#[ -c $FLOPDEVICE ] && {
+#    FLOPMNTP=`cat /etc/fstab|grep $FLOPDEVICE|perl -e while\(\<\>\)\{\@ss=split\;print\ \""\\$"ss\[1\]\ \"\;\}`
+#    #echo $FLOPMNTP
+#    if [ x$FLOPMNTP != x"" ] ; then
+#        map_drive $FLOPMNTP a:
+#        map_drive $FLOPDEVICE a::
+#    fi
+#}
+
+
+create_cdroms()
+{
+       for i in `ls -d1 /media/cd* /media/dvd* 2>/dev/null`; do
+               if [ -d "$i" ] ; then
+                       LABLET=$1
+                       map_drive $i "$LABLET":
+                       # FIXME: all cd & dvd drives are mounted to /dev/cdrom (use fstab?)
+                       map_drive /dev/cdrom "$LABLET"::
+                       MNTBASE=/media
+               fi
+               shift
+       done
+}
+
+
+MNTBASE=/media
+[ -d $MNTBASE ] || MNTBASE=/mnt
+map_drive $MNTBASE e: && map_drive /dev/cdrom e::
+
+#create_cdroms e f g i j k l m n o
+
+################################################################
+
+# You can change default device mapping preferences for WINE here
+
+[ -d $MNTBASE/floppy ] && map_drive $MNTBASE/floppy a: && map_drive /dev/fd0 a::
+
+# Creating Documents-path
+[ -d ~/Documents ] && map_drive ~/Documents d: || map_drive ~/ d:
+
+# for support legacy systems
+#[ $MNTBASE = /mnt ] && [ -d $MNTBASE/cdrom ] && map_drive $MNTBASE/cdrom e: && map_drive /dev/cdrom e::
+
+# Creating COM-ports
+for i in 0 1 2 3  ; do
+[ -c /dev/${COMDEVICE}$i ] && map_drive /dev/${COMDEVICE}$i com$(($i+1))
+done
+
+# Creating LPT-ports
+for i in 0 1 2 3  ; do
+[ -c /dev/${LPTDEVICE}$i ] && map_drive /dev/${LPTDEVICE}$i lpt$(($i+1))
+done
+
+# Uncomment for use home dir as WINE disk (not recommended)
+#map_drive ~ f:
+
+# Use root filesystem as WINE disk (not recommended)
+[ -n "$ONECLICKDESKTOP" ] && map_drive / z:
+
+# Map shared base dir (by default, as in the doc)
+[ -d /var/local/sharebase ] && map_drive /var/local/sharebase s:
diff --git a/etersoft/reg/msi.reg b/etersoft/reg/msi.reg
new file mode 100644 (file)
index 0000000..d63a260
--- /dev/null
@@ -0,0 +1,12 @@
+# Etersoft's presettings for MSI
+
+# InstMsiA.exe
+[HKEY_USERS\S-1-5-4\Software\Wine\AppDefaults\instmsia.exe]
+"Version"="win98"
+
+[HKEY_USERS\S-1-5-4\Software\Wine\AppDefaults\msiinst.exe]
+"Version"="win98"
+
+[HKEY_USERS\S-1-5-4\Software\Wine\DllOverrides]
+"msi"="native,builtin"
+"msiexec.exe"="native,builtin"
diff --git a/etersoft/reg/ooffice.reg b/etersoft/reg/ooffice.reg
new file mode 100644 (file)
index 0000000..95a4e68
--- /dev/null
@@ -0,0 +1,63 @@
+[HKEY_LOCAL_MACHINE\Software\Classes\.doc]
+@="file.office"
+
+[HKEY_LOCAL_MACHINE\Software\Classes\.xls]
+@="file.office"
+
+[HKEY_LOCAL_MACHINE\Software\Classes\.rtf]
+@="file.office"
+
+[HKEY_LOCAL_MACHINE\Software\Classes\.odt]
+@="file.office"
+
+[HKEY_LOCAL_MACHINE\Software\Classes\.ott]
+@="file.office"
+
+[HKEY_LOCAL_MACHINE\Software\Classes\.sxw]
+@="file.office"
+
+[HKEY_LOCAL_MACHINE\Software\Classes\.stw]
+@="file.office"
+
+[HKEY_LOCAL_MACHINE\Software\Classes\.sdw]
+@="file.office"
+
+[HKEY_LOCAL_MACHINE\Software\Classes\.vor]
+@="file.office"
+
+[HKEY_LOCAL_MACHINE\Software\Classes\.psw]
+@="file.office"
+
+[HKEY_LOCAL_MACHINE\Software\Classes\.ods]
+@="file.office"
+
+[HKEY_LOCAL_MACHINE\Software\Classes\.ots]
+@="file.office"
+
+[HKEY_LOCAL_MACHINE\Software\Classes\.sxc]
+@="file.office"
+
+[HKEY_LOCAL_MACHINE\Software\Classes\.stc]
+@="file.office"
+
+[HKEY_LOCAL_MACHINE\Software\Classes\.dif]
+@="file.office"
+
+[HKEY_LOCAL_MACHINE\Software\Classes\.xlt]
+@="file.office"
+
+[HKEY_LOCAL_MACHINE\Software\Classes\.sdc]
+@="file.office"
+
+[HKEY_LOCAL_MACHINE\Software\Classes\.slk]
+@="file.office"
+
+[HKEY_LOCAL_MACHINE\Software\Classes\.csv]
+@="file.office"
+
+[HKEY_LOCAL_MACHINE\Software\Classes\.pxl]
+@="file.office"
+
+[HKEY_LOCAL_MACHINE\Software\Classes\file.office\shell\open\command]
+@="c:\\windows\\command\\ooffice \"%1\""
+
diff --git a/etersoft/reg/theme.reg b/etersoft/reg/theme.reg
new file mode 100644 (file)
index 0000000..2291912
--- /dev/null
@@ -0,0 +1,59 @@
+# Etersoft's theme for WINE
+
+[HKEY_USERS\S-1-5-4\Control Panel\Colors]
+#
+"ActiveBorder"="212 208 200"
+"ActiveTitle"="18 86 165"
+#
+"TitleText"="255 255 255"
+"GradientActiveTitle"="53 115 214"
+#
+"InactiveBorder"="212 208 200"
+"InactiveTitle"="180 180 150"
+"InactiveTitleText"="66 97 47"
+"GradientInactiveTitle"="190 198 185"
+#
+"AppWorkSpace"="148 148 148"
+#"Background"="82 150 147"
+"Background"="2 76 213"
+#
+"ButtonAlternateFace"="181 181 181"
+"ButtonDkShadow"="64 64 64"
+# Button, Controls
+"ButtonFace"="212 212 202"
+"ButtonHilight"="255 255 255"
+"ButtonLight"="235 235 235"
+"ButtonShadow"="128 128 128"
+"ButtonText"="0 0 0"
+# Gray text in menu (not in regedit?)
+"GrayText"="128 128 128"
+# Menu Bar Color?
+#"Hilight"="0 30 170"
+#"HilightText"="255 255 255"
+# KDE like
+"Hilight"="169 209 255"
+"HilightText"="0 0 0"
+#
+"HotTrackingColor"="0 0 128"
+"InfoText"="0 0 0"
+"InfoWindow"="255 255 225"
+# Menu
+"Menu"="212 212 202"
+"MenuBar"="135 235 228"
+"MenuHilight"="82 150 247"
+"MenuText"="0 0 0"
+# Scrollbar background
+#"Scrollbar"="182 180 170"
+"Scrollbar"="218 208 200"
+# Windows' background, but broke cursor!
+#"Window"="250 250 250"
+"WindowFrame"="0 0 0"
+"WindowText"="0 0 0"
+
+[HKEY_USERS\S-1-5-4\Control Panel\\Desktop]
+"DragFullWindows"="0"
+"FontSmoothing"="0"
+"LowPowerActive"="0"
+"SmoothScroll"="hex:00,00,00,00"
+# 10 - Gradient Enable
+"UserPreferencemask"="hex:10,00,00,00"
diff --git a/etersoft/root/windows/command/ooffice b/etersoft/root/windows/command/ooffice
new file mode 100755 (executable)
index 0000000..9720763
--- /dev/null
@@ -0,0 +1,12 @@
+#!/bin/sh
+# Wrap script for search and run OOo in host system
+# Copyright 2007 Konstantin Kondratyuk
+# Copyright 2007 Vitaly Lipatov
+# FIXME: GUI warning, test with OOo from InfraResource
+
+UNIXPATH=`winepath "$1"`
+OOFFICE=`which ooffice 2>/dev/null`
+test -z "$OOFFICE" && OOFFICE=`which openoffice.org2.2 2>/dev/null`
+test -z "$OOFFICE" && OOFFICE=`which soffice 2>/dev/null`
+test -z "$OOFFICE" && { echo "OpenOffice.org is not found on your system, check for ooffice executable in PATH" ; exit 1 ; }
+$OOFFICE "$UNIXPATH"
diff --git a/etersoft/root/windows/downloads/wine_gecko-0.1.0.cab b/etersoft/root/windows/downloads/wine_gecko-0.1.0.cab
new file mode 100644 (file)
index 0000000..e294a27
Binary files /dev/null and b/etersoft/root/windows/downloads/wine_gecko-0.1.0.cab differ
diff --git a/etersoft/scripts/setnethasp b/etersoft/scripts/setnethasp
new file mode 100755 (executable)
index 0000000..3342a95
--- /dev/null
@@ -0,0 +1,31 @@
+#!/bin/sh
+# 2007 (c) Etersoft http://etersoft.ru
+# Copyright 2007 Konstantin Kondratyuk (Etersoft)
+# GNU Public License
+
+if [ -z "$1" ] ; then
+    echo "Usage:"
+    echo "    setnethasp <IP address>"
+    exit 1
+fi
+
+list=`ls -1 | grep -i ^nethasp.ini$`
+for i in $list ; do
+       mv -f "$i" "$i~"
+done
+
+cat <<EOF >NETHASP.INI
+; Autogenerated by setnethasp script\r
+; Etersoft\r
+\r
+[NH_COMMON]\r
+NH_TCPIP = Enabled             ; Use TCPIP only\r
+\r
+[NH_TCPIP]\r
+NH_SERVER_ADDR = $1    ;IP-address (or name) of computer \r
+                               ;with NetHASP License Manager\r
+NH_TCPIP_METHOD = UDP          ;Use UDP for Linux HASPLM or TCP for Windows HASPLM \r
+NH_USE_BROADCAST = Disabled    ;Broadcast is not recommended\r
+EOF
+
+echo "NETHASP.INI with created"
diff --git a/etersoft/scripts/wine b/etersoft/scripts/wine
new file mode 100755 (executable)
index 0000000..895335d
--- /dev/null
@@ -0,0 +1,331 @@
+#!/bin/sh
+# Copyright (C) 2004, 2005, 2006, 2007 Etersoft, Vitaly Lipatov <lav@etersoft.ru>
+# $Id: winelauncher,v 1.106 2008/03/27 17:15:01 lav Exp $
+# Redistribution of this file is permitted under the terms of the
+# GNU Public License (GPL)
+
+# Now: Allow world to read our dir...
+UMASK=0002
+umask $UMASK
+
+BINDIR=`dirname $0`
+
+# FIXME: we do not need override it in right way
+[ -z "$WINELOADER" ] && export WINELOADER=$BINDIR/wine-glibc
+[ -z "$WINESERVER" ] && export WINESERVER=$BINDIR/wineserver
+# missed on FreeBSD
+[ -z "$UID" ] && export UID=`id -u`
+
+ETCDIR=$BINDIR/../etc/wine
+[ -d $ETCDIR ] || ETCDIR=/etc/wine
+DATADIR=$BINDIR/../share/wine
+STATEDIR=/var/lib/wine
+
+WINEDIAG=$BINDIR/winediag
+
+# run program with wine
+run_wine()
+{
+       # run wineserver for more delay
+       # $WINESERVER -p 7
+       if tty -s ; then
+               exec $WINELOADER "$@"
+       else
+               echo "$0: Running without console, disable input"
+               exec $WINELOADER "$@" </dev/null
+               # TODO use log, but check winelog too
+               # >$WINEPREFIX/output.log 2>&1
+       fi
+}
+
+map_drive()
+{
+       test -d "${DEV}" || { echo "Dosdevices dir '${DEV}' does not exists"; return 1; }
+       test -e "$1" || { echo "!!! Warning: Target '$1' does not exists. Skip '$2' device creating." ; return 1; }
+       #test -e ${DEV}/$2 && { echo "    SKIP: Device '$2' already mapped as '$(readlink ${DEV}/$2)'"; return 0; }
+       test -e ${DEV}/$2 && return 0;
+       ln -s "$1" ${DEV}/$2 && echo "Device '$2' created as link for '$1' target." || echo "Skipped $2"
+       return 0
+}
+
+remove_printers()
+{
+       echo "Removing registry entries about printer drivers..."
+       $WINELOADER regedit /D "HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Control\\Print\\Environments\\Windows 4.0\\Drivers"
+       $WINELOADER regedit /D "HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Control\\Print\\Environments\\Windows NT x86\\Drivers"
+       $WINELOADER regedit /D "HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Control\\Print\\Printers"
+}
+
+print_help()
+{
+       $WINELOADER 
+       echo "       wine --update                 Update WINE tree (registry and so on)"
+       echo "       wine --attach [dir]           Attach user wine to shared dir"
+       echo "       wine --admin [dir]            Create admin setup in shared dir (only for wineadmin group)"
+       echo "       wine --removeprinters         Remove printer related registry entries"
+}
+
+# update or first run
+update_wine()
+{
+       ####### WINE dir preparing ########
+       export DEVDIR=${WINEPREFIX}/dosdevices
+       mkdir -p ${WINEPREFIX} ${DEVDIR}/unc
+       export SYSDRIVE="c:"
+       PROFILES=windows/profiles
+       WINTEMP=windows/temp
+       export CROOT=${DEVDIR}/$SYSDRIVE
+
+       echo "Using WINEPREFIX=$WINEPREFIX"
+       [ -e $WINEDIAG ] || echo "Note: you use non-commercial, free build of WINE@Etersoft"
+
+       # Kill all wine processes for any conflicts
+       $WINESERVER -k 2>/dev/null
+
+       # Tune admin setup
+       if [ "$1" = "--admin" ]; then
+               WINEMODE=$1
+               shift
+               WINEADMIN=$1 ; [ -z "$WINEADMIN" ] && WINEADMIN=default || shift
+               [ `basename $WINEADMIN` = "$WINEADMIN" ] && WINEADMIN=$STATEDIR/$WINEADMIN
+               [ -z "$WINEADMIN" ] && { echo "Use --admin with path to shared C:" ; exit 1; }
+               mkdir -p $WINEADMIN 
+               chgrp wineadmin $WINEADMIN 2>/dev/null && chmod 2775 $WINEADMIN || { echo "Shared dir $WINEADMIN cannot be accessed. Check you are in wineadmin group."; exit 1; }
+               #UMASK=0002
+       fi
+
+       # Attach user to the directory
+       if [ "$1" = "--attach" ]; then
+               WINEMODE=$1
+               shift
+               WINEADMIN=$1 ; [ -z "$WINEADMIN" ] && WINEADMIN=default || shift
+               [ -d $STATEDIR/$WINEADMIN ] && WINEADMIN=$STATEDIR/$WINEADMIN
+               [ ! -d /$WINEADMIN ] && { echo "Prepared dir $WINEADMIN is not found"; exit 1; }
+               [ ! -f $WINEADMIN/windows/inf/system.reg ] && { echo "Dir $WINEADMIN is not prepared dir"; exit 1; }
+
+               ln -s dosdevices/$SYSDRIVE/windows/inf/system.reg ${WINEPREFIX}/system.reg
+               ln -s dosdevices/$SYSDRIVE/windows/inf/userdef.reg ${WINEPREFIX}/userdef.reg
+       fi
+
+       export WINEMODE
+       export WINEADMIN
+
+       # Attach shared dir
+       if [ -n "$WINEADMIN" ] ; then
+               echo "Using shared WINE tree in $WINEADMIN"
+               # load map_drive function
+               #. $ETCDIR/map_devices.sh ""
+               export DEV=${DEVDIR}
+               map_drive $WINEADMIN $SYSDRIVE
+       fi
+
+
+       # TODO: use wineprefixcreate
+       # Follows for each cycle is copied from wineprefixcreate
+       echo "Creating default file tree..."
+       for i in \
+           "$CROOT/windows" \
+           "$CROOT/windows/command" \
+           "$CROOT/windows/fonts" \
+           "$CROOT/windows/inf" \
+           "$CROOT/windows/system32" \
+           "$CROOT/windows/system32/color" \
+           "$CROOT/windows/system32/drivers" \
+           "$CROOT/windows/system32/spool" \
+           "$CROOT/windows/system32/spool/drivers" \
+           "$CROOT/windows/system32/spool/drivers/color" \
+           "$CROOT/windows/temp"
+       do
+           mkdir -p "$i"
+       done
+
+       # Make link for compatibility
+       [ -e "$CROOT/windows/system" ] || ln -s system32 $CROOT/windows/system
+
+       # Fix profile permission
+       mkdir -p ${CROOT}/$PROFILES/$USER && chmod o-rwx ${CROOT}/$PROFILES/$USER
+
+       if [ ! -w $CROOT/$WINTEMP/ ] ; then
+               echo "Broken environment. We need writable $CROOT/$WINTEMP/"
+               exit 1
+       fi
+
+       # Copy .reg anf .inf files to CROOT (if writable)
+       if [ -w "$CROOT/windows/inf/" ] ; then
+               install -m664 "$DATADIR/wine.inf" "$CROOT/windows/inf/wine.inf"
+               # Apply additional reg files from /etc
+               ls -1 ${ETCDIR}/*.reg | sort | xargs cat > "${CROOT}/windows/inf/vendor.reg"
+       fi
+
+       # Copying from datadir if we have some prepared tree there
+       if [ ! "$WINEMODE" = "--attach" ] && cd ${DATADIR}/skel 2>/dev/null ; then
+               echo "Copying prepared tree from '${DATADIR}/skel' ..."
+               XARGS="xargs -IQQQ"
+               echo | $XARGS 2>/dev/null || XARGS="xargs -iQQQ"
+               find ./ -type d | $XARGS install -m 2775 -d "${CROOT}/QQQ" 2>/dev/null
+               # FIXME: use hard links if possible, preserve attributions (like cp -p)
+               find ./ -type f | $XARGS install -m 664 "QQQ" "${CROOT}/QQQ" 2>/dev/null
+               chmod a+x ${CROOT}/windows/command/* 2>/dev/null
+               #find ./ -type f | $XARGS ln "QQQ" "${CROOT}/QQQ" 2>/dev/null
+               cd - >/dev/null
+       fi
+
+       # jump to C: before run internal wine programs
+       cd "$CROOT/$WINTEMP"
+
+       # Run in win98 mode for commercial version
+       [ -e $WINEDIAG ] && export WINDOWS_VERSION="win98"
+
+       $WINELOADER --version || { echo "$WINELOADER is broken on this system. Check for use appropriate 32-bit OS" ; exit 1; }
+
+       echo "Initialize registry and environments..."
+       "${WINELOADER}" rundll32.exe setupapi.dll,InstallHinfSection DefaultInstall 128 wine.inf
+       "${WINELOADER}" regedit.exe "$CROOT/windows/inf/vendor.reg"
+
+       # check for locking if network version
+       WINELOCKTEST=$BINDIR/winelocktest
+       if [ ! "$UID" = "0" ] && [ -e $WINELOCKTEST ] && ! "$WINELOCKTEST" >/dev/null ; then
+               echo "Check for correct file locking..."
+               $WINELOCKTEST
+               echo "Error: Lock test is not passed for `pwd`. Wait troubles..."
+       fi
+
+       $WINESERVER -w
+
+       # OLD: check for wineadmin : groups >/dev/null 2>&1 | grep wineadmin
+       if [ -n "$WINEADMIN" ] ; then
+               # attach to registry if not yet
+               SYSREG=windows/inf/system.reg
+               USERDEFREG=windows/inf/userdef.reg
+               if [ ! -f ${CROOT}/$SYSREG ] && [ ! -L ${WINEPREFIX}/system.reg ] ; then
+                       mv ${WINEPREFIX}/system.reg "$CROOT/$SYSREG" && chgrp wineadmin "$CROOT/$SYSREG" 2>/dev/null
+                       ln -s dosdevices/c:/$SYSREG "$WINEPREFIX/system.reg"
+                       mv ${WINEPREFIX}/userdef.reg "$CROOT/$USERDEFREG" && chgrp wineadmin "$CROOT/$USERDEFREG" 2>/dev/null
+                       ln -s dosdevices/c:/$USERDEFREG "$WINEPREFIX/userdef.reg"
+               fi
+               chmod a+rwxt "$WINEADMIN/$PROFILES/" 2>/dev/null
+               # Fix tmp permission
+               chgrp wineadmin "$CROOT/$WINTEMP" 2>/dev/null && chmod a+rwxt "$CROOT/$WINTEMP" 2>/dev/null
+       fi
+
+
+       # Run /etc/wine scripts
+       echo "Building local environment..."
+       export DEV=${DEVDIR}
+       for i in `ls -1 ${ETCDIR}/*.sh | sort` ; do
+               [ -r $i ] && . $i ${DEVDIR}
+       done
+
+       # TODO: for better years
+       # Tune WINE apps autostart during X login
+       # mkdir -p ~/.xsession.d
+       # test -f ~/.xsession.d/wineboot || ln -sf $BINDIR/wineboot ~/.xsession.d
+
+       # for usability
+       if [ ! -d ${HOME}/wine_c ] && [ ! -f ${HOME}/wine_c ] ; then
+               rm -f ${HOME}/wine_c
+               ln -s ${CROOT} ${HOME}/wine_c || :
+       fi
+
+       # Test for libwine-etersoft installed
+       [ -e $WINEDIAG ] && ( echo "Please do not change this file." ; $WINELOADER --version ) >${WINEPREFIX}/.etersoft-release
+
+       # $WINELOADER wineboot
+
+       cd - >/dev/null
+
+}
+
+if [ "$1" = "--help" ] ; then
+       print_help
+       exit 0
+fi
+
+# Detect LinuxXP or Mandriva (Corporate distros)
+if grep "Linux XP" /etc/fedora-release >/dev/null 2>/dev/null || [ -e /etc/mandriva-release ] || [ -e /usr/bin/viewboots ] ; then
+       export ONECLICKDESKTOP=1
+fi
+
+if [ "$UID" = "0" ] && [ -z "$ONECLICKDESKTOP" ] ; then
+       echo "It is not recommended to run WINE as root"
+       exit 1
+fi
+
+# Use ~/.wine by default
+[ -z "$WINEPREFIX" ] && export WINEPREFIX=${HOME}/.wine
+
+if [ "$1" = "--update" ]; then
+       echo -n "Updating... "
+       update_wine $@
+       exit 0
+fi
+
+if [ -r ${WINEPREFIX}/user.reg ] ; then
+    if [ "$1" = "--admin" ] || [ "$1" = "--attach" ] ; then
+        echo "WINE $WINEPREFIX directory is already exists. Move it before attach to shared mode."
+        exit 1
+    fi
+else
+       echo -n "First running... "
+       update_wine $@
+
+       echo "WINE@Etersoft has been configured for the first time."
+       echo "Use ${HOME}/wine_c as WINE C:\\ disk."
+       echo "Copy your program into and install it."
+       echo
+       [ -z "$1" ] && exit 0
+fi
+
+# If all environment is already created
+if [ -f ${WINEPREFIX}/config ] ; then
+       echo "ERROR: You have UNUSED old config file in $WINEPREFIX." >&2
+       echo "It is recommended to rename (remove) old $WINEPREFIX and set new WINE environment." >&2
+       echo
+       exit 1
+fi
+
+SYSREGSIZE=`cat ${WINEPREFIX}/system.reg | wc -c`
+if [ "$SYSREGSIZE" -le 100000 ] ; then
+       echo "ERROR: You have broken system.reg (it has $SYSREGSIZE bytes, fewer than 100000 bytes)" >&2
+       echo "Check your WINE installation or ask your support company" >&2
+       exit 1
+fi
+
+if [ -e "$WINEDIAG" ] ; then
+       # Only if libwine-etersoft present
+       $WINEDIAG >/dev/null 2>&1 || echo "Warning: there are some errors in winediag output. Run winediag command and check it." >&2
+       if [ ! -f ${WINEPREFIX}/.etersoft-release ] ; then
+               echo "ERROR: Your WINE dir ($WINEPREFIX) is obsoleted. It can cause some problems." >&2
+               echo "It is recommended to rename (remove) old $WINEPREFIX and set new WINE environment." >&2
+               echo "Also you can update you WINE tree with wine --update command." >&2
+               echo
+               exit 1
+       else
+               # check for version consistency
+               CURLINE=`head -n2 < ${WINEPREFIX}/.etersoft-release | tail -n1`
+               NEWLINE=`$WINELOADER --version | head -n1`
+               if false && [ "$CURLINE" != "$NEWLINE" ] && [ ! -r ${WINEPREFIX}/.noautoupdate ] ; then
+                       echo "Run autoupdate due version changed to $NEWLINE"
+                       update_wine
+                       remove_printers
+               fi
+       fi
+fi
+
+# If wine without params was called
+if [ -z "$1" ] ;  then
+       print_help
+       exit 0
+fi
+
+if [ "$1" = "--removeprinters" ] ; then
+       remove_printers
+       exit 0
+fi
+
+if [ "$1" = "--admin" ] || [ "$1" = "--attach" ] ; then
+        exit 0
+fi
+
+run_wine "$@"
+
diff --git a/etersoft/scripts/winelog b/etersoft/scripts/winelog
new file mode 100755 (executable)
index 0000000..20ea7ce
--- /dev/null
@@ -0,0 +1,107 @@
+#!/bin/sh
+# Copyright (C) 2006, 2007 Etersoft, Vitaly Lipatov <lav@etersoft.ru>
+# Redistribution of this file is permitted under the terms of the
+# GNU Public License (GPL)
+
+# Create log output for WINE@Etersoft supporting purposes
+# $Id: winelog,v 1.24 2007/12/15 22:47:23 lav Exp $
+
+# Use ~/.wine by default.
+[ -z "$WINEPREFIX" ] && export WINEPREFIX=${HOME}/.wine
+
+# Create wine dir in anyway
+mkdir -p "$WINEPREFIX" || exit 1
+
+# Filter out your registration number
+filter()
+{
+       sed -e "s|[0-9A-F]\{4\}-\([0-9A-F]\{4\}\)|XXXX-\1|"
+}
+
+wstart()
+{
+       #TODO: FreeBSD/Debian
+       echo
+       echo
+       echo "==============================================================================="
+       echo "Current date:"
+       date
+       uname -a
+       which TEST-PATH-COMMAND
+       echo "------"
+       locale
+       echo "------"
+       XCOM=X
+       which $XCOM >/dev/null && $XCOM -version
+       echo
+       wine --version | filter
+       echo
+       case `uname` in
+               "Linux")
+                       for i in /etc/*[-_]release /etc/*[-_]version ; do
+                               test -f $i && echo "$i: `cat $i`"
+                       done
+                       echo
+                       echo "------"
+                       /lib/libc-*
+                       echo
+                       echo "------"
+                       #if [ -f /etc/slackware-version ] || [ -f /etc/debian_version ] ; then
+                       #       echo "Non rpm-based system"
+                       #       # TODO: for Slackware/Debian
+                       #else
+                       #       rpm -qi wine
+                       #       echo "------"
+                       #       rpm -q fontconfig
+                       #       rpm -qa | grep freetype
+                       #       rpm -V wine libwine wine-etersoft
+                       #fi
+                       ;;
+               "FreeBSD")
+                       ;;
+       esac
+       echo
+       echo "------"
+       WINEDIAG=winediag
+       which $WINEDIAG >/dev/null && $WINEDIAG | filter
+       echo
+       #echo "------"
+       #echo "First used fonts:"
+       #ls -l ~/.wine/dosdevices/c:/windows/fonts
+       echo "------"
+       echo "MD5SUM:"
+       ls -l ~/.wine/dosdevices/c:/windows/system32
+       md5sum ~/.wine/dosdevices/c:/windows/system32/*
+       echo "------"
+       echo "Start WINE program with '$@' params"
+       test -z "$WINEDEBUG" && export WINEDEBUG=+loaddll
+       wine "$@"
+}
+
+FILO=$WINEPREFIX/wine.log
+
+if [ "$1" = "-h" -o "$1" = "--help" -o -z "$1" ] ; then
+       echo "Usage: winelog [-c] program.exe"
+       echo "  -c - stdoutput without any prompt (for script using)"
+       echo "Writes all wine output to $FILO file. Please gzip it and send to your support contact."
+       exit 0
+fi
+
+if ! touch "$FILO" ; then
+       echo "Please check permission on `dirname $FILO` directory"
+       exit 1
+fi
+
+if [ ! -r "$FILO" ] ; then
+       echo "Please check permission on $FILO file"
+       exit 1
+fi
+
+if [ "$1" = "-c" ] ; then
+       shift
+       wstart "$@" </dev/null
+else
+       #test -f $FILO && mv -f $FILO $FILO.old
+       echo "Append output to $FILO... Please gzip it before send."
+       wstart "$@" >>$FILO 2>&1 </dev/null
+fi
diff --git a/etersoft/scripts/winetricks b/etersoft/scripts/winetricks
new file mode 100755 (executable)
index 0000000..b5d8e3b
--- /dev/null
@@ -0,0 +1,1133 @@
+#!/bin/sh
+# Quick and dirty script to download and install various 
+# redistributable runtime libraries
+#
+# Copyright 2007, 2008 Google (Dan Kegel, dank@kegel.com)
+# Adopted for WINE@Etersoft by Vitaly Lipatov
+# Thanks to Detlef Riekenberg for lots of updates
+# Thanks to Saulius Krasuckas for corrections and suggestions
+
+# Default values for important settings if not already in environment.
+# These settings should not need editing here.
+WINE=${WINE:-wine}
+WINEPREFIXCREATE=${WINEPREFIXCREATE:-wineprefixcreate}
+WINEPREFIX=${WINEPREFIX:-$HOME/.wine}
+
+# Internal variables; these locations are not too important
+WINETRICKS_CACHE=$HOME/winetrickscache
+# Default to hiding the directory, by popular demand
+test -d $WINETRICKS_CACHE || WINETRICKS_CACHE=$HOME/.winetrickscache
+WINDIR=$WINEPREFIX/dosdevices/c:/windows
+WINETRICKS_TMP=$WINDIR/temp/winetrickstmp
+
+case "$1" in
+-V|--version) 
+  echo "Winetricks version 20080409.  (C) Dan Kegel.  LGPL."
+  exit 0
+  ;;
+esac
+
+which "$WINE" > /dev/null
+if test "$?" -ne "0"
+then
+  echo "Cannot find wine ($WINE)"
+  exit 1
+fi
+
+which "$WINEPREFIXCREATE" > /dev/null
+if test "$?" -ne "0"
+then
+  echo "Cannot find wineprefixcreate ($WINEPREFIXCREATE)"
+  exit 1
+fi
+
+#----------------------------------------------------------------
+
+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   Access 2000 runtime.  License required!"
+    echo " cc580      Install native common controls 5.80, override comctl32"
+    echo " colorprofile  Install standard RGB color profile"
+    echo " corefonts  Install MS Arial, Courier, Times fonts"
+    echo " dcom98     Install native DCOM, override the Wine implementation"
+    echo " dotnet11   Install native .NET 1.1 (requires Windows license)"
+    echo " dotnet20   Install native .NET 2.0 (requires Windows license)"
+    echo " ffdshow    Install ffdshow video codecs"
+    echo " flash      Install Adobe Flash Player activex"
+    echo " gdiplus    Install gdiplus.dll from pp viewer (got a better idea?)"
+    echo " gecko      Install the HTML rendering Engine (Mozilla)"
+    echo " icodecs    Intel Codecs"
+    echo " jet40      Install Jet 4.0 Service Pack 8"
+    echo " liberation Install Red Hat's Liberation fonts (Sans, Serif, Mono)"
+    echo " mdac25     MDAC 2.5: Microsoft ODBC drivers, etc."
+    echo " mdac27     MDAC 2.7."
+    echo " mdac28     MDAC 2.8."
+    echo " mfc40"
+    echo " mono11     mono 1.1.13-gtksharp-2.8.2 (deprecated, use 1.2)"
+    echo " mono12     mono mono-1.9-gtksharp-2.10.4-win32-4"
+    echo " msi2       Microsoft Installer 2.0"
+    echo " msls31     Microsoft Line Services 3.1 (needed by native riched?)"
+    echo " msxml3     Microsoft XML version 3"
+    echo " msxml4     Microsoft XML version 4"
+    echo " msxml6     Microsoft XML version 6" 
+    echo " pdh        Install pdh.dll (Performance Data Helper)"
+    echo " riched20   Use Microsoft's riched20 and riched32"
+    echo " riched30   Use Microsoft's riched30"
+    echo " tahoma     Install MS Tahoma font (not part of corefonts)"
+    echo " vb3run     Visual Basic 3 runtime"
+    echo " vb4run     Visual Basic 4 runtime"
+    echo " vb5run     Visual Basic 5 runtime"
+    echo " vb6run     Visual Basic 6 runtime"
+    echo " vcrun6     vc6redist from VS6sp4 (mfc42, msvcp60, msvcrt)"
+    echo " vcrun2003  Visual C++ 2003 redistributables (mfc71,msvcp71,msvcr71)"
+    echo " vcrun2005  Visual C++ 2005 redistributable libraries (mfc80,msvcp80,msvcr80)"
+    echo " vcrun2005sp1 Visual C++ 2005sp1 redistributable libraries"
+    echo " vcrun2008  Visual C++ 2008 redistributable libraries (mfc90,msvcp90,msvcr90)"
+    echo " wsh51      Windows Scripting Host 5.1"
+    echo " wsh56      Windows Scripting Host 5.6 (install vcrun6 first)"
+    echo " wsh56js    Windows scripting 5.6, jscript only, no cscript"
+    echo " wsh56vb    Windows scripting 5.6, vbscript only, no cscript"
+    echo " xvid       Install xvid video codecs"
+    echo "Pseudopackages:"
+    echo " allfonts     Install all listed fonts (corefonts, tahoma, liberation)"
+    echo " allcodecs    Install all listed codecs (xvid, ffdshow, icodecs)"
+    echo " fakeie6      Set registry to claim IE6sp1 is installed"
+    echo " native_mdac  Override odbc32 and odbccp32"
+    echo " winver=nt40  Set windows version to nt40"
+    echo " winver=win98 Set windows version to Windows 98"
+    echo " winver=win2k Set windows version to Windows 2000"
+    echo " winver=winxp Set windows version to Windows XP"
+    echo " winver=vista Set windows version to Windows Vista"
+    echo " winver=      Set windows version to default (winxp)"
+#    echo " volnum      Rename drive_c to harddiskvolume0 (was needed by some installers before 0.9.54)"
+}
+
+#----------------------------------------------------------------
+# 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
+}
+
+gnome_showmenu() {
+    title="$1"
+    shift
+    text="$1"
+    shift
+    col1name="$1"
+    shift
+    col2name="$1"
+    shift
+    while test $# -gt 0
+    do
+        args="$args FALSE $1"
+        shift
+    done
+    zenity --title "$title" --text "$text" --list --checklist --column "$col1name" --column "$col2name" --height 400 $args | tr '|' '\012'
+}
+
+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") > /tmp/x_showmenu.txt 
+    xmessage -print -file /tmp/x_showmenu.txt -buttons "Cancel,$args" | sed 's/Cancel//'
+}
+
+showmenu()
+{
+    detectDE
+    case $DE in
+    kde) kde_showmenu "$@" ;;
+    gnome) gnome_showmenu "$@" ;;
+    x) x_showmenu "$@" ;;
+    none) usage 1>&2; exit 1;;
+    esac
+}
+dogui()
+{
+  packages=`usage | awk '/^ [a-z]/ {print $1}'`
+  export todo="`showmenu "winetricks" "Select a package to install" "Install?" "Package" $packages`"
+  if test "$todo"x = x
+  then
+     exit 0
+  fi
+}
+
+#----------------------------------------------------------------
+
+case x"$1" in
+x) dogui ; set $todo ;;
+x-h|x--help|xhelp) usage ; exit 1 ;;
+esac
+test -d $WINEPREFIX || $WINEPREFIXCREATE
+mkdir -p $WINETRICKS_CACHE
+mkdir -p $WINETRICKS_TMP
+olddir=`pwd`
+# Clean up after failed runs, if needed
+rm -rf $WINETRICKS_TMP/*
+
+# The folder-name is localized!
+programfilesdir_win=`$WINE cmd.exe /c echo "%ProgramFiles%"`
+programfilesdir_unix=`$WINE winepath -u "$programfilesdir_win"`
+# Mac folks tend to have curl rather than wget
+if which xcurl > /dev/null
+then
+   WGET="curl -L -O -C -"
+else
+   # Use -nd to insulate ourselves from people who set -x in WGETRC
+   WGET="wget -nd -c"
+fi
+
+# Mac folks tend to not have sha1sum, but we can make do with openssl
+if which sha1sum > /dev/null
+then
+   SHA1SUM="sha1sum"
+else
+   SHA1SUM="openssl dgst -sha1"
+fi
+
+#-----  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
+    echo Executing "$@"
+    "$@"
+    status=$?
+    if test $status -ne 0
+    then
+        echo "Note: command '$@' returned status $status.  Aborting."
+       exit $status
+    fi
+}
+
+# verify an sha1sum
+verify_sha1sum() {
+    wantsum=$1
+    file=$2
+   
+    gotsum=`$SHA1SUM < $file | sed 's/ .*//'`
+    if [ "$gotsum"x != "$wantsum"x ]
+    then
+       abort "file $file sha1sum mismatch"
+    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
+    test -f $cache/$file || (cd $cache; $WGET "$2")
+    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 "" >> $WINETRICKS_TMP/override-dll.reg 
+    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
+}
+
+#----- One function per package, in alphabetical order ----------
+
+load_art2kmin() {
+    download . http://download.microsoft.com/download/office2000dev/art2kmin/1/win98/en-us/art2kmin.exe 73be2622254d1f857a204a03f068787542b985e9
+    try $WINE $WINETRICKS_CACHE/art2kmin.exe
+    cd "$DRIVEC/ART2KMin Setup"
+    try $WINE Setup.exe INSTALLPFILES=1 /wait $WINETRICKS_QUIET
+    cd "$olddir"
+}
+
+#----------------------------------------------------------------
+
+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
+    try $WINE $WINETRICKS_TMP/comctl32.exe
+    try $WINE $WINDIR/temp/x86/50ComUpd.Exe "/T:`$WINE winepath -w $WINETRICKS_TMP`" /c $WINETRICKS_QUIET
+    cp $WINETRICKS_TMP/comcnt.dll $WINDIR/system32/comctl32.dll
+
+    override_dlls native,builtin comctl32
+}
+
+#----------------------------------------------------------------
+
+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
+    cp -f "$WINETRICKS_TMP/sRGB Color Space Profile.icm" $WINDIR/system32/spool/drivers/color
+}
+
+#----------------------------------------------------------------
+
+load_corefonts() {
+    # See http://corefonts.sf.net
+    # TODO: let user pick mirror, check md5; 
+    # see http://corefonts.sourceforge.net/msttcorefonts-2.0-1.spec for how
+    # TODO: add more fonts
+    download . http://downloads.sourceforge.net/corefonts/arial32.exe 6d75f8436f39ab2da5c31ce651b7443b4ad2916e
+    download . http://downloads.sourceforge.net/corefonts/courie32.exe 06a745023c034f88b4135f5e294fece1a3c1b057
+    download . http://downloads.sourceforge.net/corefonts/times32.exe 20b79e65cdef4e2d7195f84da202499e3aa83060
+    try $WINE $WINETRICKS_CACHE/arial32.exe $WINETRICKS_QUIET
+    try $WINE $WINETRICKS_CACHE/courie32.exe $WINETRICKS_QUIET
+    try $WINE $WINETRICKS_CACHE/times32.exe $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+load_dcom98() {
+    # Install native dcom per http://wiki.winehq.org/NativeDcom
+    # to avoid http://bugs.winehq.org/show_bug.cgi?id=4228
+    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 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" 
+
+    # Set win2k so .net installs gdiplus
+    set_winver win2k
+
+    # 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
+
+    # It installs ok, but doesn't work yet without the following two kludges:
+
+    # Need to preload the Global Assembly Cache until Wine implements MsiPublishAssemblies()
+    # see http://bugs.winehq.org/show_bug.cgi?id=11742
+    # Get .NET 1.1 SP1 (which contains the GAC tool)
+    download dotnet11 http://download.microsoft.com/download/8/b/4/8b4addd8-e957-4dea-bdb8-c4e00af5b94b/NDP1.1sp1-KB867460-X86.exe  74a5b25d65a70b8ecd6a9c301a0aea10d8483a23
+    try cabextract --directory=$WINETRICKS_TMP $WINETRICKS_CACHE/dotnet11/NDP1.1sp1-KB867460-X86.exe
+    # "DDPatch.UpdateGacFile" -> "gacutil.exe"
+    try cp -f $WINETRICKS_TMP/DDPatch.UpdateGacFile "$DOTNET_INSTALL_DIR/gacutil.exe"
+    # install all .NET 1.1 assemblies into GAC (-f = force reinstall of assembly)
+    cd $DOTNET_INSTALL_DIR
+    for assembly in ./GAC/*
+    do
+        $WINE gacutil.exe -i $assembly -f
+    done
+    cd "$olddir"
+
+    # Need native gdiplus until wine implements gdiplus.GdipGetFamily
+    #load_gdiplus
+    cp -f "$DOTNET_INSTALL_DIR/gdiplus.dll" "$WINDIR/system32/"
+    override_dlls native gdiplus
+
+    unset_winver
+} 
+
+#----------------------------------------------------------------
+
+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
+} 
+
+#----------------------------------------------------------------
+
+# 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_ffdshow() {
+    # ffdshow
+    download . http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_beta4a_rev1723_20071224_clsid.exe 6e018139c3ed4800aa3580267d1da47fa936a82a
+    try $WINE $WINETRICKS_CACHE/ffdshow_beta4a_rev1723_20071224_clsid.exe $WINETRICKS_SILENT
+}
+
+#----------------------------------------------------------------
+
+load_flash() {
+    # www.adobe.com/products/flashplayer/
+    download . http://fpdownload.macromedia.com/get/flashplayer/current/licensing/win/install_flash_player_active_x.msi f4dd1c0c715b791db2c972aeba90d3b78372996a  
+    try $WINE msiexec /i $WINETRICKS_CACHE/install_flash_player_active_x.msi $WINETRICKS_QUIET
+}
+
+#----------------------------------------------------------------
+
+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.)
+    GECKO_VERSION=0.1.0
+
+    if ! test -f $WINETRICKS_CACHE/wine_gecko-$GECKO_VERSION.cab
+    then
+       download . "http://source.winehq.org/winegecko.php?v=$GECKO_VERSION"
+    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
+    # note: echo's behavior with backslashes and options is nonportable,
+    # see http://www.opengroup.org/onlinepubs/009695399/utilities/echo.html
+    echo -n '"GeckoPath"="' >>$WINETRICKS_TMP/geckopath.reg
+    echo -n 'c:\\windows\\gecko\\'$GECKO_VERSION | sed "s/\\\\/\\\\\\\\/g" >>$WINETRICKS_TMP/geckopath.reg
+    echo '\\\\wine_gecko"' >>$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_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_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
+}
+
+#----------------------------------------------------------------
+
+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_liberation() {
+    # http://www.redhat.com/promo/fonts/                               
+    download . http://www.redhat.com/f/fonts/liberation-fonts.tar.gz 38276ab5e4322e131217d26f193bfce396195c0a
+    tar --wildcards -C $WINDIR/fonts -xvzf $WINETRICKS_CACHE/liberation-fonts.tar.gz '*.ttf'
+}
+
+#----------------------------------------------------------------
+
+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
+    try $WINE $WINETRICKS_CACHE/mdac27/mdac_typ.exe
+}
+
+#----------------------------------------------------------------
+
+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_mono11() {
+    echo "Mono-1.1 is deprecated.  The Mono team prefers you use Mono-1.2 instead."
+    # Load Mono, have it handle all .net requests
+    download . ftp://www.go-mono.com/archive/1.1.13.8.2/windows-installer/0/mono-1.1.13.8.2-gtksharp-2.8.2-win32-0.exe e8725d03f51fcca2849d1a8f1d87ceb6f77c1d82
+    # Anyone know how to get it to do a silent install?
+    try $WINE $WINETRICKS_CACHE/mono-1.1.13.8.2-gtksharp-2.8.2-win32-0.exe
+
+    # FIXME: what are the right registry entries here?
+    cat > $WINETRICKS_TMP/mono.reg <<_EOF_
+REGEDIT4
+
+[HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v1.1.4322]
+"Install"=dword:00000001
+"SP"=dword:00000001
+
+[HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\policy\v1.1]
+"4322"="3706-4322"
+_EOF_
+    try $WINE regedit $WINETRICKS_TMP/mono.reg
+    rm -f $WINETRICKS_TMP/mono.reg
+}
+
+#----------------------------------------------------------------
+
+load_mono12() {
+    # Load Mono, have it handle all .net requests
+    download .  http://ftp.novell.com/pub/mono/archive/1.9/windows-installer/4/mono-1.9-gtksharp-2.10.4-win32-4.exe 52c79aa8a4fcb29570ecf8e3cfcc417317852c16
+    # Anyone know how to get it to do a silent install?
+    try $WINE $WINETRICKS_CACHE/mono-1.9-gtksharp-2.10.4-win32-4.exe
+
+    cat > $WINETRICKS_TMP/mono_1.2.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_1.2.reg
+    rm -f $WINETRICKS_TMP/mono_1.2.reg
+}
+
+#----------------------------------------------------------------
+
+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_msls31() {
+    # Install native Microsoft Line Services (needed by e-Sword, possibly only when using native riched20)
+    # http://www.microsoft.com/reader/downloads/pc.mspx
+    if ! test -f "$programfilesdir_unix/Microsoft Reader"/msls31.dll
+    then
+        echo "Installing Microsoft Reader (which includes a copy of msls31.dll)"
+        download . http://download.microsoft.com/download/d/0/9/d099ad62-41d1-4e92-9935-67955a437460/MSReaderSetupUSA.exe 055af1f589e2ae9896f17dbf33d8a3f156d10282
+        try $WINE $WINETRICKS_CACHE/MSReaderSetupUSA.exe 
+    fi
+
+    cp "$programfilesdir_unix/Microsoft Reader"/msls31.dll $WINDIR/system32
+}
+
+#----------------------------------------------------------------
+
+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
+          echo msxml.msi not found
+          exit 1
+       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_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
+}
+
+#----------------------------------------------------------------
+
+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 font is needed by e.g. Steam
+    download . http://downloads.sourceforge.net/corefonts/wd97vwr32.exe 8edf758f92513094a94e50b7826cd6f2b7696b8c
+    try cabextract --directory=$WINETRICKS_TMP $WINETRICKS_CACHE/wd97vwr32.exe
+    try cabextract --directory=$WINETRICKS_TMP $WINETRICKS_TMP/Viewer1.cab
+    try cp -f $WINETRICKS_TMP/tahoma.ttf $WINDIR/fonts/tahoma.ttf
+    rm -rf $WINETRICKS_TMP/*
+}
+
+#----------------------------------------------------------------
+
+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 $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
+          echo vcredist.exe not found
+          exit 1
+       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"
+}
+
+#----------------------------------------------------------------
+
+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 . http://dl.sourceforge.net/bzflag/BZEditW32_1.6.5_Installer.exe bdd1b32c4202fd77e6513fd507c8236888b09121
+    try $WINE $WINETRICKS_CACHE/BZEditW32_1.6.5_Installer.exe $WINETRICKS_S
+    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() {
+    # Otherwise it complains...
+    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_wsh51() {
+    # See also http://www.microsoft.com/downloads/details.aspx?FamilyID=bfdb7709-51e4-4aa6-adb0-05444e68dd80&DisplayLang=en
+    echo "Note: Microsoft has since pulled this download.  Sorry!"
+    download . http://download.microsoft.com/download/8/7/5/8751c696-282d-49da-b118-2735315dbb5e/ste51en.exe ecc0fb713684294fe6c759f4633c5befbeba1ade
+
+    try $WINE $WINETRICKS_CACHE/ste51en.exe $WINETRICKS_QUIET
+
+    # Not sure why this gets installed to the wrong directory
+    mv $WINDIR/system32/unknown/cscript.exe $WINDIR/system32 
+}
+
+#----------------------------------------------------------------
+
+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_xvid() {
+    # xvid
+    download . "http://www.digital-digest.com/software/getdownload.php?sid=1052&did=1" c4440346a09261af3eda3aa3fe2a17e46c817515 XviD-1.1.3-28062007.exe
+    try $WINE $WINETRICKS_CACHE/XviD-1.1.3-28062007.exe $WINETRICKS_SILENT
+}
+
+#----------------------------------------------------------------
+
+
+while test "$1" != ""
+do
+    PACKAGE=$1
+    case $1 in
+    -q) WINETRICKS_QUIET="/q"
+        WINETRICKS_UNIXQUIET="-q"
+        WINETRICKS_SILENT="/silent"
+        WINETRICKS_S="/S"                 # for NSIS installers
+        WINEDEBUG=${WINEDEBUG:-"fixme-all"}
+        export WINEDEBUG
+        ;;
+    -v) set -x;;
+    art2kmin) load_art2kmin;;
+    cc580) load_cc580;;
+    colorprofile) load_colorprofile;;
+    corefonts) load_corefonts;;
+    dcom98) load_dcom98;;
+    dotnet11) load_dotnet11;;
+    dotnet20) load_dotnet20;;
+    ffdshow) load_ffdshow;;
+    flash) load_flash;;
+    gdiplus) load_gdiplus;;
+    gecko) load_gecko;;
+    icodecs) load_icodecs;;
+    jet40) load_jet40;;
+    liberation) load_liberation;;
+    mdac25) load_mdac25;;
+    mdac27) load_mdac27;;
+    mdac28) load_mdac28;;
+    mfc40) load_mfc40;;
+    mono11) load_mono11;;
+    mono12) load_mono12;;
+    msi2) load_msi2;;
+    msls31) load_msls31;;
+    msxml3) load_msxml3;;
+    msxml4) load_msxml4;;
+    msxml6) load_msxml6;;
+    pdh) load_pdh;;
+    riched20) load_riched20;;
+    riched30) load_riched30;;
+    tahoma) load_tahoma;;
+    vb3run) load_vb3run;;
+    vb4run) load_vb4run;;
+    vbvm50|vb5run) load_vbvm50;;
+    vbrun60|vb6run) load_vbrun60;;
+    vcrun6) load_vcrun6;;
+    vcrun2003) load_vcrun2003;;
+    vcrun2005) load_vcrun2005;;
+    vcrun2005sp1) load_vcrun2005sp1;;
+    vcrun2008) load_vcrun2008;;
+    wsh51) load_wsh51;;
+    wsh56) load_wsh56;;
+    wsh56js) load_wsh56js;;
+    wsh56vb) load_wsh56vb;;
+    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;;
+#    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
+done
+
+# cleanup
+rm -rf $WINETRICKS_TMP/*
+
+test "$WINETRICKS_QUIET" = "" && echo winetricks done. || true