From 61b4b42bdd80f1aee595cff73e6681d4b26ab8e3c8b24f30e85454f4703e0429 Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Sat, 22 Feb 2014 09:17:09 +0000 Subject: [PATCH 1/2] - Updated to 1.7.13 development snapshot - More Task Scheduler support. - A few more Direct3D 10 interfaces. - More Windows Media Player stubs. - ARM code generation improvements. - Better memory size reporting on Mac OS X. - Various bug fixes. OBS-URL: https://build.opensuse.org/package/show/Emulators/wine?expand=0&rev=219 --- wine-1.7.12.tar.bz2 | 3 --- wine-1.7.12.tar.bz2.sign | 7 ------- wine-1.7.13.tar.bz2 | 3 +++ wine-1.7.13.tar.bz2.sign | 7 +++++++ wine.changes | 11 +++++++++++ wine.spec | 2 +- 6 files changed, 22 insertions(+), 11 deletions(-) delete mode 100644 wine-1.7.12.tar.bz2 delete mode 100644 wine-1.7.12.tar.bz2.sign create mode 100644 wine-1.7.13.tar.bz2 create mode 100644 wine-1.7.13.tar.bz2.sign diff --git a/wine-1.7.12.tar.bz2 b/wine-1.7.12.tar.bz2 deleted file mode 100644 index 7a482df..0000000 --- a/wine-1.7.12.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2dcdff7bf8bac2bc10da85e3e632e8add830f22cf416173e53abca4ec580b392 -size 21366705 diff --git a/wine-1.7.12.tar.bz2.sign b/wine-1.7.12.tar.bz2.sign deleted file mode 100644 index 78edb01..0000000 --- a/wine-1.7.12.tar.bz2.sign +++ /dev/null @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.15 (GNU/Linux) - -iEYEABECAAYFAlL1LJYACgkQ9ebp7rlGHdeuAwCeI3C43N4JbjOZ2jjIILRiqjrL -PQgAnRAocb83+ZY95OgsV+l8qh12XJHr -=1x29 ------END PGP SIGNATURE----- diff --git a/wine-1.7.13.tar.bz2 b/wine-1.7.13.tar.bz2 new file mode 100644 index 0000000..09d4b43 --- /dev/null +++ b/wine-1.7.13.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a72fdee6e1898007b38f3b30584f86d996567ad8d2f1cc0fe3a877be0493b9df +size 21385204 diff --git a/wine-1.7.13.tar.bz2.sign b/wine-1.7.13.tar.bz2.sign new file mode 100644 index 0000000..36d4cd0 --- /dev/null +++ b/wine-1.7.13.tar.bz2.sign @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.15 (GNU/Linux) + +iEYEABECAAYFAlMGSToACgkQ9ebp7rlGHdfvdwCgnki6uea+Cks1JbwdYILqVUjc +N7AAnj1VvWua5RIAX92byO3pStGWZc8r +=RTkY +-----END PGP SIGNATURE----- diff --git a/wine.changes b/wine.changes index 5ee3896..99e4457 100644 --- a/wine.changes +++ b/wine.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Sat Feb 22 08:43:13 UTC 2014 - meissner@suse.com + +- Updated to 1.7.13 development snapshot + - More Task Scheduler support. + - A few more Direct3D 10 interfaces. + - More Windows Media Player stubs. + - ARM code generation improvements. + - Better memory size reporting on Mac OS X. + - Various bug fixes. + ------------------------------------------------------------------- Fri Feb 7 21:29:14 UTC 2014 - meissner@suse.com diff --git a/wine.spec b/wine.spec index 01d0397..3a29885 100644 --- a/wine.spec +++ b/wine.spec @@ -55,7 +55,7 @@ BuildRequires: sane-backends-devel BuildRequires: update-desktop-files BuildRequires: valgrind-devel BuildRequires: xorg-x11-devel -Version: 1.7.12 +Version: 1.7.13 Release: 0 Summary: An MS Windows Emulator License: LGPL-2.1+ From e0bc5e0d5fb236edf0860fdd500e10f151b428abaccb0a2286b24372cfb24eec Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Sat, 22 Feb 2014 09:55:35 +0000 Subject: [PATCH 2/2] - updated winetricks, added manpage OBS-URL: https://build.opensuse.org/package/show/Emulators/wine?expand=0&rev=220 --- wine.changes | 1 + wine.spec | 6 +- winetricks | 1389 ++++++++++++++++++++++++++++++++------------------ winetricks.1 | 170 ++++++ 4 files changed, 1066 insertions(+), 500 deletions(-) create mode 100644 winetricks.1 diff --git a/wine.changes b/wine.changes index 99e4457..f9050ee 100644 --- a/wine.changes +++ b/wine.changes @@ -8,6 +8,7 @@ Sat Feb 22 08:43:13 UTC 2014 - meissner@suse.com - ARM code generation improvements. - Better memory size reporting on Mac OS X. - Various bug fixes. +- updated winetricks, added manpage ------------------------------------------------------------------- Fri Feb 7 21:29:14 UTC 2014 - meissner@suse.com diff --git a/wine.spec b/wine.spec index 3a29885..2aed78e 100644 --- a/wine.spec +++ b/wine.spec @@ -64,7 +64,8 @@ Url: http://www.winehq.org/ Source0: http://downloads.sourceforge.net/project/wine/Source/%{name}-%{version}.tar.bz2 Source41: wine.keyring Source42: http://downloads.sourceforge.net/project/wine/Source/%{name}-%{version}.tar.bz2.sign -Source1: http://kegel.com/wine/winetricks +Source1: winetricks +Source11: winetricks.1 Source2: http://kegel.com/wine/wisotool Source3: README.SuSE Source4: wine.desktop @@ -180,6 +181,8 @@ install -m 0755 %SOURCE2 %{buildroot}%{_bindir}/ mv %{buildroot}/%{_mandir}/de.UTF-8 %{buildroot}/%{_mandir}/de mv %{buildroot}/%{_mandir}/fr.UTF-8 %{buildroot}/%{_mandir}/fr mv %{buildroot}/%{_mandir}/pl.UTF-8 %{buildroot}/%{_mandir}/pl +install -c %{SOURCE11} %{buildroot}/%{_mandir}/man1/ + tar xjf %{SOURCE5} # Copied from Ubuntu Wine out of debian.diff # https://launchpad.net/~ubuntu-wine/+archive/ppa/+packages @@ -259,6 +262,7 @@ chmod 755 %winedir/my-find-requires.sh %doc %{_mandir}/man1/winecpp.1.* %doc %{_mandir}/man1/winefile.1.* %doc %{_mandir}/man1/winemine.1.* +%doc %{_mandir}/man1/winetricks.1.* %doc %{_mandir}/man1/winepath.1.* %dir %{_sysconfdir}/xdg/menus/ %dir %{_sysconfdir}/xdg/menus/applications-merged diff --git a/winetricks b/winetricks index ceccb92..10dc45d 100644 --- a/winetricks +++ b/winetricks @@ -2,7 +2,7 @@ # Name of this version of winetricks (YYYYMMDD) # (This doesn't change often, use the sha1sum of the file when reporting problems) -WINETRICKS_VERSION=20130707 +WINETRICKS_VERSION=20140123 # This is a utf-8 file # You should see an o with two dots over it here [ö] @@ -23,11 +23,11 @@ WINETRICKS_VERSION=20130707 # Uses the following non-Posix system tools: # - wine is used to execute win32 apps except on cygwin. # - cabextract, unrar, unzip, and 7z are needed by some verbs. -# - axel, wget, or curl is needed for downloading. +# - aria2c, wget, or curl is needed for downloading. # - sha1sum or openssl is needed for verifying downloads. # - zenity is needed by the GUI, though it can limp along somewhat with kdialog. -# - xdg-open (if present) is used to open download pages for the -# user when downloads cannot be fully automated. +# - xdg-open (if present) or open (for Mac OSX) is used to open download pages +# for the user when downloads cannot be fully automated. # - sudo is used to mount .iso images if the user cached them with -k option. # - perl is used to munge steam config files # On ubuntu, the following lines can be used to install all the prereqs: @@ -41,8 +41,8 @@ WINETRICKS_VERSION=20130707 #-------------------------------------------------------------------- # # Copyright -# Copyright (C) 2007-2013 Dan Kegel -# Copyright (C) 2008-2013 Austin English +# Copyright (C) 2007-2014 Dan Kegel +# Copyright (C) 2008-2014 Austin English # Copyright (C) 2010-2011 Phil Blankenship # Copyright (C) 2010-2012 Shannon VanWagner # Copyright (C) 2010 Belhorma Bendebiche @@ -60,6 +60,8 @@ WINETRICKS_VERSION=20130707 # Copyright (C) 2011 Giuseppe Dia # Copyright (C) 2011 Łukasz Wojniłowicz # Copyright (C) 2011 Matthew Bozarth +# Copyright (C) 2013-2014 Andrey Gusev +# Copyright (C) 2013 Hillwood Yang # # License # This program is free software; you can redistribute it and/or @@ -135,8 +137,10 @@ WINETRICKS_VERSION=20130707 # #-------------------------------------------------------------------- -# FIXME: maybe obey XDG_DATA_HOME -W_PREFIXES_ROOT="${WINE_PREFIXES:-$HOME/.local/share/wineprefixes}" +XDG_DATA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}" +XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}" + +W_PREFIXES_ROOT="${WINE_PREFIXES:-$XDG_DATA_HOME/wineprefixes}" # ftp.microsoft.com resolves to two different IP addresses, one of which is broken ftp_microsoft_com=64.4.17.176 @@ -292,7 +296,7 @@ w_try_regedit() w_try_regsvr() { - w_try $WINE regsvr32 $W_UNATTENDED_SLASH_S $@ + w_try "$WINE" regsvr32 $W_UNATTENDED_SLASH_S $@ } w_try_cabextract() @@ -369,6 +373,9 @@ w_read_key() pl*) _W_keymsg="Proszę podać klucz dla programu '$W_PACKAGE'" _W_nokeymsg="Nie podano klucza" ;; + uk*) _W_keymsg="Будь ласка, введіть ключ для додатка '$W_PACKAGE'" + _W_nokeymsg="Ключ не надано" + ;; *) _W_keymsg="Please enter the key for app '$W_PACKAGE'" _W_nokeymsg="No key given" ;; @@ -581,10 +588,10 @@ w_download_to() *) _W_agent= ;; esac - if [ -x "`which axel 2>/dev/null`" ] + if [ -x "`which aria2c 2>/dev/null`" ] then - # Basic axel support. - axel -o "$_W_file" "$_W_url" + # Basic aria2c support. + aria2c -c -o "$_W_file" "$_W_url" elif [ -x "`which wget 2>/dev/null`" ] then # Use -nd to insulate ourselves from people who set -x in WGETRC @@ -610,7 +617,7 @@ w_download_to() ${_W_agent:+--user-agent "$_W_agent"} \ "$_W_url" else - w_die "Please install wget (or, if that's not available, curl)" + w_die "Please install wget or aria2c (or, if those aren't available, curl)" fi if test $? != 0 then @@ -642,7 +649,23 @@ w_download_to() fi } -# Open a web browser for the user to the give page +# Open a folder for the user in the specified directory +# Usage: w_open_folder directory +w_open_folder() +{ + for _W_cmd in xdg-open open cygstart true + do + _W_cmdpath=`which $_W_cmd` + if test -n "$_W_cmdpath" + then + break + fi + done + $_W_cmd "$1" & + unset _W_cmd _W_cmdpath +} + +# Open a web browser for the user to the given page # Usage: w_open_webpage url w_open_webpage() { @@ -683,11 +706,11 @@ w_download_torrent() if [ "$2"x != ""x ] # foo.torrent parameter supplied then - w_try $WINE utorrent "/DIRECTORY" "$UT_WINPATH" "$UT_WINPATH\\$2" & + w_try "$WINE" utorrent "/DIRECTORY" "$UT_WINPATH" "$UT_WINPATH\\$2" & else # grab all torrents for torrent in `ls *.torrent` do - w_try $WINE utorrent "/DIRECTORY" "$UT_WINPATH" "$UT_WINPATH\\$torrent" & + w_try "$WINE" utorrent "/DIRECTORY" "$UT_WINPATH" "$UT_WINPATH\\$torrent" & done fi @@ -750,18 +773,14 @@ w_download_manual_to() da*) _W_dlmsg="Hent venligst filen $_W_file fra $_W_url og placér den i $W_CACHE/$_W_packagename, kør derefter dette skript.";; de*) _W_dlmsg="Bitte laden Sie $_W_file von $_W_url runter, stellen Sie's in $W_CACHE/$_W_packagename, dann wiederholen Sie diesen Kommando.";; pl*) _W_dlmsg="Proszę pobrać plik $_W_file z $_W_url, następnie umieścić go w $W_CACHE/$_W_packagename, a na końcu uruchomić ponownie ten skrytp.";; + uk*) _W_dlmsg="Будь ласка, звантажте $_W_file з $_W_url, розташуйте в $W_CACHE/$_W_packagename, потім запустіть скрипт знову.";; *) _W_dlmsg="Please download $_W_file from $_W_url, place it in $W_CACHE/$_W_packagename, then re-run this script.";; esac if ! test -f "$W_CACHE/$_W_packagename/$_W_file" then mkdir -p "$W_CACHE/$_W_packagename" - case "$OS" in - "Windows_NT") - cygstart "$W_CACHE/$_W_packagename" ;; - *) - xdg-open "$W_CACHE/$_W_packagename" ;; - esac + w_open_folder "$W_CACHE/$_W_packagename" w_open_webpage "$_W_url" sleep 3 # give some time for browser to open w_die "$_W_dlmsg" @@ -1045,7 +1064,7 @@ fi w_declare_exe "$W_PROGRAMS_X86_WIN\\Steam" "steam.exe -login $W_STEAM_ID $W_STEAM_PASSWORD -applaunch $_W_steamid" myexec="Exec=env WINEPREFIX=\"$WINEPREFIX\" wine cmd /c 'C:\\\\\\\\Run-$W_PACKAGE.bat'" - mymenu="$HOME/.local/share/applications/wine/Programs/Steam/$_W_steamtitle.desktop" + mymenu="$XDG_DATA_HOME/applications/wine/Programs/Steam/$_W_steamtitle.desktop" if test -f "$mymenu" && w_workaround_wine_bug 26487 "Fixing system menu" then sed -i "s,Exec=.*,$myexec," "$mymenu" @@ -1251,7 +1270,7 @@ w_umount() w_try $WINETRICKS_SUDO rm -rf $W_ISO_MOUNT_ROOT ;; esac - $WINE eject ${W_ISO_MOUNT_LETTER}: + "$WINE" eject ${W_ISO_MOUNT_LETTER}: rm -f "$WINEPREFIX"/dosdevices/${W_ISO_MOUNT_LETTER}: rm -f "$WINEPREFIX"/dosdevices/${W_ISO_MOUNT_LETTER}:: fi @@ -1272,7 +1291,7 @@ w_ahk_do() w_opt_unattended = ${W_OPT_UNATTENDED:-0} $@ _EOF_ - w_try $WINE "$W_CACHE_WIN\\ahk\\AutoHotkey.exe" "$W_TMP_WIN"\\tmp.ahk + w_try "$WINE" "$W_CACHE_WIN\\ahk\\AutoHotkey.exe" "$W_TMP_WIN"\\tmp.ahk unset _W_CR } @@ -1346,7 +1365,7 @@ w_override_no_dlls() { w_skip_windows override && return - $WINE regedit /d 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' + "$WINE" regedit /d 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' } w_override_all_dlls() @@ -1506,16 +1525,16 @@ w_set_winver() # First, delete any lingering version info, otherwise it may conflict: ( - $WINE reg delete "HKLM\Software\Microsoft\Windows\CurrentVersion" /v SubVersionNumber /f || true - $WINE reg delete "HKLM\Software\Microsoft\Windows\CurrentVersion" /v VersionNumber /f || true - $WINE reg delete "HKLM\Software\Microsoft\Windows NT\CurrentVersion" /v CSDVersion /f || true - $WINE reg delete "HKLM\Software\Microsoft\Windows NT\CurrentVersion" /v CurrentBuildNumber /f || true - $WINE reg delete "HKLM\Software\Microsoft\Windows NT\CurrentVersion" /v CurrentVersion /f || true - $WINE reg delete "HKLM\System\CurrentControlSet\Control\ProductOptions" /v ProductType /f || true - $WINE reg delete "HKLM\System\CurrentControlSet\Control\ServiceCurrent" /v OS /f || true - $WINE reg delete "HKLM\System\CurrentControlSet\Control\Windows" /v CSDVersion /f || true - $WINE reg delete "HKCU\Software\Wine" /v Version /f || true - $WINE reg delete "HKLM\\System\\CurrentControlSet\\Control\\ProductOptions" /v ProductType /f || true + "$WINE" reg delete "HKLM\Software\Microsoft\Windows\CurrentVersion" /v SubVersionNumber /f || true + "$WINE" reg delete "HKLM\Software\Microsoft\Windows\CurrentVersion" /v VersionNumber /f || true + "$WINE" reg delete "HKLM\Software\Microsoft\Windows NT\CurrentVersion" /v CSDVersion /f || true + "$WINE" reg delete "HKLM\Software\Microsoft\Windows NT\CurrentVersion" /v CurrentBuildNumber /f || true + "$WINE" reg delete "HKLM\Software\Microsoft\Windows NT\CurrentVersion" /v CurrentVersion /f || true + "$WINE" reg delete "HKLM\System\CurrentControlSet\Control\ProductOptions" /v ProductType /f || true + "$WINE" reg delete "HKLM\System\CurrentControlSet\Control\ServiceCurrent" /v OS /f || true + "$WINE" reg delete "HKLM\System\CurrentControlSet\Control\Windows" /v CSDVersion /f || true + "$WINE" reg delete "HKCU\Software\Wine" /v Version /f || true + "$WINE" reg delete "HKLM\\System\\CurrentControlSet\\Control\\ProductOptions" /v ProductType /f || true ) > /dev/null 2>&1 case $1 in @@ -1601,18 +1620,26 @@ _EOF_ currentversion="5.1" csdversion_hex=dword:00000300 ;; + win2k3) + csdversion="Service Pack 2" + currentbuildnumber="3790" + currentversion="5.2" + csdversion_hex=dword:00000200 + "$WINE" reg add "HKLM\\System\\CurrentControlSet\\Control\\ProductOptions" /v ProductType /d "ServerNT" /f + ;; vista) csdversion="Service Pack 2" currentbuildnumber="6002" currentversion="6.0" csdversion_hex=dword:00000200 + "$WINE" reg add "HKLM\\System\\CurrentControlSet\\Control\\ProductOptions" /v ProductType /d "WinNT" /f ;; win7) csdversion="Service Pack 1" currentbuildnumber="7601" currentversion="6.1" csdversion_hex=dword:00000100 - $WINE reg add "HKLM\\System\\CurrentControlSet\\Control\\ProductOptions" /v ProductType /d "WinNT" /f + "$WINE" reg add "HKLM\\System\\CurrentControlSet\\Control\\ProductOptions" /v ProductType /d "WinNT" /f ;; *) w_die "Invalid Windows version given." @@ -1681,6 +1708,7 @@ w_wine_version() 1.5.*) _W_minor=5; _W_micro=`echo $2 | sed 's/.*\.//'`;; 1.6|1.6-rc*) _W_minor=6; _W_micro=0;; 1.6.*) _W_minor=6; _W_micro=`echo $2 | sed 's/.*\.//'`;; + 1.7.*) _W_minor=7; _W_micro=`echo $2 | sed 's/.*\.//'`;; *) w_die "bug: unrecognized version $2";; esac @@ -1777,6 +1805,7 @@ w_workaround_wine_bug() da*) w_warn "Arbejder uden om wine-fejl ${1} $_W_msg" ;; de*) w_warn "Wine-Fehler ${1} wird umgegangen $_W_msg" ;; pl*) w_warn "Obchodzenie błędu w wine ${1} $_W_msg" ;; + uk*) w_warn "Обхід помилки ${1} $_W_msg" ;; *) w_warn "Working around wine bug ${1} $_W_msg" ;; esac winetricks_stats_log_command w_workaround_wine_bug-$1 @@ -1877,6 +1906,15 @@ __EOF__ w_do_call() { ( + # Hack.. + if test $cmd = vd + then + load_vd $arg + _W_status=$? + test "$W_OPT_NOCLEAN" = 1 || rm -rf "$W_TMP" + return $_W_status + fi + case $1 in *=*) arg=`echo $1 | sed 's/.*=//'`; cmd=`echo $1 | sed 's/=.*//'`;; *) cmd=$1; arg=$2 ;; @@ -2060,7 +2098,7 @@ winetricks_early_wine() # gecko (winezeug bug 223). # The tr removes carriage returns so expanded variables don't have crud on the end # The grep works around using new wineprefixes with old wine - WINEDEBUG=-all $WINE "$@" 2>/dev/null | ( sed 's/.*1h.=//' | tr -d '\r' | grep -v "Module not found" || true) + WINEDEBUG=-all "$WINE" "$@" 2>/dev/null | ( sed 's/.*1h.=//' | tr -d '\r' | grep -v "Module not found" || true) } winetricks_detect_gui() @@ -2123,6 +2161,18 @@ winetricks_get_prefix_var() winetricks_prefixmenu() { case $LANG in + uk*) _W_msg_title="Winetricks - виберіть wineprefix" + _W_msg_body='Що Ви хочете зробити?' + _W_msg_apps='Встановити додаток' + _W_msg_games='Встановити гру' + _W_msg_benchmarks='Встановити benchmark' + _W_msg_default="Вибрати wineprefix за замовчуванням" + _W_msg_unattended0="Вимкнути автоматичну установку" + _W_msg_unattended1="Включити автоматичну установку" + _W_msg_showbroken0="Сховати нестабільні додатки (наприклад з проблемами з DRM)" + _W_msg_showbroken1="Показати нестабільні додатки (наприклад з проблемами з DRM)" + _W_msg_help="Переглянути довідку" + ;; *) _W_msg_title="Winetricks - choose a wineprefix" _W_msg_body='What do you want to do?' _W_msg_apps='Install an app' @@ -2261,6 +2311,18 @@ winetricks_mainmenu() _W_msg_folder='Przeglądaj pliki' _W_msg_annihilate="Usuń WSZYSTKIE DANE I APLIKACJE WEWNĄTRZ TEGO WINEPREFIXA" ;; + uk*) _W_msg_title="Winetricks - поточний prefix \"$WINEPREFIX\"" + _W_msg_body='Щоб Ви хочете зробити для цього wineprefix?' + _W_msg_dlls="Встановити Windows DLL чи компонент(и)" + _W_msg_fonts='Встановити шрифт' + _W_msg_settings='Змінити налаштування' + _W_msg_winecfg='Запустити winecfg' + _W_msg_regedit='Запустити regedit' + _W_msg_taskmgr='Запустити taskmgr' + _W_msg_shell='Запуск командної оболонки (для налагодження)' + _W_msg_folder='Перегляд файлів' + _W_msg_annihilate="Видалити УСІ ДАНІ ТА ПРОГРАМИ З ЦЬОГО WINEPREFIX" + ;; *) _W_msg_title="Winetricks - current prefix is \"$WINEPREFIX\"" _W_msg_body='What would you like to do to this wineprefix?' _W_msg_dlls="Install a Windows DLL or component" @@ -2328,8 +2390,8 @@ winetricks_mainmenu() winetricks_settings_menu() { case $LANG in - *) _W_msg_title="Winetricks - current prefix is \"$WINEPREFIX\"" - _W_msg_body='Which setting(s) would you like to change?' + *) _W_msg_title="Winetricks - поточний prefix \"$WINEPREFIX\"" + _W_msg_body='Які налаштування Ви хочете змінити?' ;; esac @@ -2372,6 +2434,18 @@ winetricks_settings_menu() --width $WINETRICKS_MENU_WIDTH \ " ;; + uk*) printf %s "zenity \ + --title '$_W_msg_title' \ + --text '$_W_msg_body' \ + --list \ + --checklist \ + --column '' \ + --column Установка \ + --column Назва \ + --height $WINETRICKS_MENU_HEIGHT \ + --width $WINETRICKS_MENU_WIDTH \ + " + ;; *) printf %s "zenity \ --title '$_W_msg_title' \ --text '$_W_msg_body' \ @@ -2430,6 +2504,10 @@ winetricks_showmenu() _W_msg_body='Które paczki chesz zainstalować?' _W_cached="zarchiwizowane" ;; + uk*) _W_msg_title="Winetricks - поточний prefix \"$WINEPREFIX\"" + _W_msg_body='Які пакунки Ви хочете встановити?' + _W_cached="кешовано" + ;; *) _W_msg_title="Winetricks - current prefix is \"$WINEPREFIX\"" _W_msg_body='Which package(s) would you like to install?' _W_cached="cached" @@ -2494,6 +2572,24 @@ winetricks_showmenu() --width $WINETRICKS_MENU_WIDTH \ " ;; + uk*) printf %s "zenity \ + --title '$_W_msg_title' \ + --text '$_W_msg_body' \ + --list \ + --checklist \ + --column '' \ + --column Пакунок \ + --column Назва \ + --column Видавець \ + --column Рік \ + --column Медіа \ + --column Статус \ + --column 'Розмір (МБ)' \ + --column 'Час (сек)' \ + --height $WINETRICKS_MENU_HEIGHT \ + --width $WINETRICKS_MENU_WIDTH \ + " + ;; *) printf %s "zenity \ --title '$_W_msg_title' \ --text '$_W_msg_body' \ @@ -2746,6 +2842,7 @@ winetricks_list_all() da*) _W_cached="cached" ; _W_download="kan hentes" ;; de*) _W_cached="gecached" ; _W_download="herunterladbar";; pl*) _W_cached="zarchiwizowane" ; _W_download="do pobrania" ;; + uk*) _W_cached="кешовано" ; _W_download="завантажуване" ;; *) _W_cached="cached" ; _W_download="downloadable" ;; esac @@ -2982,6 +3079,7 @@ winetricks_cache_iso() da*) w_warn "Forkert disk [$_W_volname] indsat. Indsæt venligst disken [$_W_expected_volname]" ;; de*) w_warn "Falsche Disk [$_W_volname] eingelegt. Bitte legen Sie Disk [$_W_expected_volname] ein!" ;; pl*) w_warn "Włożono zły dysk [$_W_volname]. Proszę włożyć dysk [$_W_expected_volname]" ;; + uk*) w_warn "Неправильний диск [$_W_volname]. Будь ласка, вставте диск [$_W_expected_volname]" ;; *) w_warn "Wrong disc [$_W_volname] inserted. Please insert disc [$_W_expected_volname]" ;; esac @@ -3199,6 +3297,7 @@ winetricks_mount_real_volume() da*)_W_mountmsg="Indsæt venligst disken '$_W_expected_volname' (krævet af pakken '$_PACKAGE')" ;; de*)_W_mountmsg="Disc '$_W_expected_volname' bitte einlegen (für Pakete '$W_PACKAGE')" ;; pl*) _W_mountmsg="Proszę włożyć dysk '$_W_expected_volname' (potrzebny paczce '$W_PACKAGE')" ;; + uk*) _W_mountmsg="Будь ласка, вставте том '$_W_expected_volname' (потрібний для пакунка '$W_PACKAGE')" ;; *) _W_mountmsg="Please insert volume '$_W_expected_volname' (needed for package '$W_PACKAGE')" ;; esac @@ -3378,6 +3477,8 @@ winetricks_set_wineprefix() W_SYSTEM32_DLLS="$W_WINDIR_UNIX/syswow64" W_SYSTEM32_DLLS_WIN="C:\\windows\\syswow64" W_SYSTEM64_DLLS="$W_WINDIR_UNIX/system32" + # 64-bit prefixes still have plenty of issues: + w_warn "You are using a 64-bit WINEPREFIX. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug." else W_ARCH=win32 W_SYSTEM32_DLLS="$W_WINDIR_UNIX/system32" @@ -3394,15 +3495,15 @@ winetricks_annihilate_wineprefix() rm -rf "$WINEPREFIX" # Also remove menu items. - find ~/.local/share/applications/wine -type f -name '*.desktop' -exec grep -q -l "$WINEPREFIX" '{}' ';' -exec rm '{}' ';' + find $XDG_DATA_HOME/applications/wine -type f -name '*.desktop' -exec grep -q -l "$WINEPREFIX" '{}' ';' -exec rm '{}' ';' # Also remove desktop items. # Desktop might be synonym for home directory, so only go one level # deep to avoid extreme slowdown if user has lots of files ( - if ! test "$XDG_DESKTOP_DIR" && test -f ~/.config/user-dirs.dirs + if ! test "$XDG_DESKTOP_DIR" && test -f $XDG_CONFIG_HOME/user-dirs.dirs then - . ~/.config/user-dirs.dirs + . $XDG_CONFIG_HOME/user-dirs.dirs fi find "$XDG_DESKTOP_DIR" -maxdepth 1 -type f -name '*.desktop' -exec grep -q -l "$WINEPREFIX" '{}' ';' -exec rm '{}' ';' ) @@ -3492,11 +3593,10 @@ winetricks_init() WINETRICKS_POST="${WINETRICKS_POST:-$WINETRICKS_DIR/postinstall}" else W_CACHE="${W_CACHE:-$XDG_CACHE_HOME/winetricks}" - # FIXME: maybe obey XDG_DATA_HOME - WINETRICKS_POST="${WINETRICKS_POST:-$HOME/.local/share/winetricks/postinstall}" + WINETRICKS_POST="${WINETRICKS_POST:-$XDG_DATA_HOME/winetricks/postinstall}" fi test -d "$W_CACHE" || mkdir -p "$W_CACHE" - WINETRICKS_AUTH="${WINETRICKS_AUTH:-$HOME/.local/share/winetricks/auth}" + WINETRICKS_AUTH="${WINETRICKS_AUTH:-$XDG_DATA_HOME/winetricks/auth}" # System-specific variables case "$OS" in @@ -3516,9 +3616,13 @@ winetricks_init() "`which wineserver 2> /dev/null`" \ /usr/lib*/wine-unstable/wineserver \ /usr/lib*/wine/wineserver \ + /usr/lib*/wine/bin/wineserver \ /usr/lib/*/wine-unstable/wineserver \ + /usr/lib/*/wine-unstable/bin/wineserver \ /usr/lib/*/wine-unstable/wine/wineserver \ + /usr/lib/*/wine-unstable/wine/bin/wineserver \ /usr/lib/*/wine/wineserver \ + /usr/lib/*/wine/bin/wineserver \ "`dirname $WINE`/server/wineserver" \ file-not-found do @@ -3544,14 +3648,14 @@ winetricks_init() else WINETRICKS_ORIGINAL_WINEPREFIX="$HOME/.wine" fi - _abswine="`which $WINE 2>/dev/null`" + _abswine="`which "$WINE" 2>/dev/null`" if ! test -x "$_abswine" || ! test -f "$_abswine" then w_die "WINE is $WINE, which is neither on the path nor an executable file" fi case "$WINETRICKS_OPT_VERBOSE" in "1") echo -n "Wine is '$WINE'; Wine version is " - $WINE --version || w_die "Can't get wine version" + "$WINE" --version || w_die "Can't get wine version" ;; esac unset _abswine @@ -3709,6 +3813,7 @@ winetricks_install_app() da*) fail_msg="Installationen af pakken $1 fejlede" ;; de*) fail_msg="Installieren von Pakete $1 gescheitert" ;; pl*) fail_msg="Niepowodzenie przy instalacji paczki $1" ;; + uk*) fail_msg="Помилка встановлення пакунка $1" ;; *) fail_msg="Failed to install package $1" ;; esac @@ -3813,7 +3918,7 @@ load_adobeair() # 2011-10-26: 2.7 sha1sum dfa337d4b53e9d924356febc116450190fa183dd w_download http://airdownload.adobe.com/air/win/download/2.7/AdobeAIRInstaller.exe dfa337d4b53e9d924356febc116450190fa183dd cd "$W_CACHE"/adobeair - w_try $WINE AdobeAIRInstaller.exe $W_UNATTENDED_DASH_SILENT + w_try "$WINE" AdobeAIRInstaller.exe $W_UNATTENDED_DASH_SILENT } #---------------------------------------------------------------- @@ -3853,7 +3958,7 @@ load_art2kmin() # See http://www.microsoft.com/downloads/details.aspx?familyid=d9ae78d9-9dc6-4b38-9fa6-2c745a175aed&displaylang=en w_download http://download.microsoft.com/download/D/2/A/D2A2FC8B-0447-491C-A5EF-E8AA3A74FB98/AccessRuntime.exe 571811b7536e97cf4e4e53bbf8260cddd69f9b2d cd "$W_CACHE"/art2kmin - w_try $WINE AccessRuntime.exe $W_UNATTENDED_SLASH_Q + w_try "$WINE" AccessRuntime.exe $W_UNATTENDED_SLASH_Q } #---------------------------------------------------------------- @@ -3874,6 +3979,24 @@ load_atmlib() #---------------------------------------------------------------- +w_metadata avifil32 dlls \ + title="MS avifil32" \ + publisher="Microsoft" \ + year="2004" \ + media="download" \ + file1="../xpsp2/WindowsXP-KB835935-SP2-ENU.exe" \ + installed_file1="$W_SYSTEM32_DLLS_WIN/avifil32.dll" + +load_avifil32() +{ + helper_xpsp2 i386/avifil32.dl_ + w_try_cabextract --directory="$W_SYSTEM32_DLLS" "$W_TMP"/i386/avifil32.dl_ + + w_override_dlls native avifil32 +} + +#---------------------------------------------------------------- + w_metadata cabinet dlls \ title="Microsoft cabinet.dll" \ publisher="Microsoft" \ @@ -3926,9 +4049,9 @@ load_comctl32() #w_download http://download.microsoft.com/download/platformsdk/redist/5.80.2614.3600/w9xnt4/en-us/cc32inst.exe 94c3c494258cc54bd65d2f0153815737644bffde w_download $WINETRICKS_SOURCEFORGE/pocmin/Win%2095_98%20Controls/Win%2095_98%20Controls/CC32inst.exe 94c3c494258cc54bd65d2f0153815737644bffde cc32inst.exe - w_try $WINE "$W_CACHE"/comctl32/cc32inst.exe "/T:$W_TMP_WIN" /c $W_UNATTENDED_SLASH_Q + w_try "$WINE" "$W_CACHE"/comctl32/cc32inst.exe "/T:$W_TMP_WIN" /c $W_UNATTENDED_SLASH_Q w_try_unzip -d "$W_TMP" "$W_TMP"/comctl32.exe - w_try $WINE "$W_TMP"/x86/50ComUpd.Exe "/T:$W_TMP_WIN" /c $W_UNATTENDED_SLASH_Q + w_try "$WINE" "$W_TMP"/x86/50ComUpd.Exe "/T:$W_TMP_WIN" /c $W_UNATTENDED_SLASH_Q w_try cp "$W_TMP"/comcnt.dll "$W_SYSTEM32_DLLS"/comctl32.dll w_override_dlls native,builtin comctl32 @@ -3947,18 +4070,25 @@ w_metadata comctl32ocx dlls \ year="2009" \ media="download" \ file1="VisualBasic6-KB896559-v1-ENU.exe" \ - installed_file1="$W_SYSTEM32_DLLS_WIN/comctl32.ocx" + file2="mscomct2.cab" \ + installed_file1="$W_SYSTEM32_DLLS_WIN/mscomctl.ocx" load_comctl32ocx() { # http://www.microsoft.com/downloads/details.aspx?FamilyID=25437D98-51D0-41C1-BB14-64662F5F62FE w_download http://download.microsoft.com/download/3/a/5/3a5925ac-e779-4b1c-bb01-af67dc2f96fc/VisualBasic6-KB896559-v1-ENU.exe f52cf2034488235b37a1da837d1c40eb2a1bad84 + # More ActiveX controls. See https://support.microsoft.com/kb/297381 + w_download http://activex.microsoft.com/controls/vb6/mscomct2.cab 766f9ccf8849a04d757faee379da54d635c8ac71 w_try_cabextract --directory="$W_TMP" "$W_CACHE"/comctl32ocx/VisualBasic6-KB896559-v1-ENU.exe w_try cp "$W_TMP"/mscomctl.ocx "$W_SYSTEM32_DLLS"/mscomctl.ocx w_try cp "$W_TMP"/comctl32.ocx "$W_SYSTEM32_DLLS"/comctl32.ocx w_try_regsvr comctl32.ocx w_try_regsvr mscomctl.ocx + + w_try_cabextract --directory="$W_TMP" "$W_CACHE"/comctl32ocx/mscomct2.cab + w_try cp "$W_TMP"/mscomct2.ocx "$W_SYSTEM32_DLLS"/mscomct2.ocx + w_try_regsvr mscomct2.ocx } #---------------------------------------------------------------- @@ -4256,7 +4386,7 @@ load_d3dx10() # For now, not needed, but when Wine starts preferring our builtin dll over native it will be. w_override_dlls native d3dx10_33 d3dx10_34 d3dx10_35 d3dx10_36 d3dx10_37 - w_override_dlls native d3dx10_38 d3dx10_39 d3dx10_40 d3dx10_41 d3dx10_42 + w_override_dlls native d3dx10_38 d3dx10_39 d3dx10_40 d3dx10_41 d3dx10_42 d3dx10_43 } #---------------------------------------------------------------- @@ -4408,11 +4538,11 @@ load_directplay() w_try_cabextract -d "$W_SYSTEM32_DLLS" -L -F 'dpnhpast.dll' "$W_TMP/dxnt.cab" w_try_cabextract -d "$W_SYSTEM32_DLLS" -L -F 'dpwsockx.dll' "$W_TMP/dxnt.cab" + w_override_dlls native dplayx dpnet dpnhpast dpwsockx + w_try_regsvr dplayx.dll w_try_regsvr dpnet.dll w_try_regsvr dpnhpast.dll - - w_override_dlls native dplayx dpnet dpnhpast dpwsockx } #---------------------------------------------------------------- @@ -4445,7 +4575,7 @@ load_directx9() cd "$W_CACHE"/directx9 WINEDLLOVERRIDES="wintrust=b,mscoree=,ddraw,d3d8,d3d9,dsound,dinput=n" \ - w_try $WINE $DIRECTX_NAME /t:"$W_TMP_WIN" $W_UNATTENDED_SLASH_Q + w_try "$WINE" $DIRECTX_NAME /t:"$W_TMP_WIN" $W_UNATTENDED_SLASH_Q # How many of these do we really need? # We should probably remove most of these...? @@ -4458,7 +4588,29 @@ load_directx9() w_override_dlls native dxdiag.exe w_override_dlls builtin d3d8 d3d9 dinput dinput8 dsound - w_try $WINE "$W_TMP_WIN"\\DXSETUP.exe $W_UNATTENDED_SLASH_SILENT + w_try "$WINE" "$W_TMP_WIN"\\DXSETUP.exe $W_UNATTENDED_SLASH_SILENT +} + +#---------------------------------------------------------------- + +w_metadata dsdmo dlls \ + title="MS dsdmo.dll" \ + publisher="Microsoft" \ + year="2010" \ + media="download" \ + file1="../directx9/directx_feb2010_redist.exe" \ + installed_file1="$W_SYSTEM32_DLLS_WIN/dsdmo.dll" + +load_dsdmo() +{ + helper_directx_dl + mkdir "$W_CACHE"/dsdmo # kludge so test -f $file1 works + + w_try_cabextract -d "$W_TMP" -L -F dxnt.cab "$W_CACHE"/directx9/$DIRECTX_NAME + w_try_cabextract -d "$W_SYSTEM32_DLLS" -L -F 'dsdmo.dll' "$W_TMP/dxnt.cab" + w_try_cabextract -d "$W_SYSTEM32_DLLS" -L -F 'dsdmoprp.dll' "$W_TMP/dxnt.cab" + w_try_regsvr dsdmo.dll + w_try_regsvr dsdmoprp.dll } #---------------------------------------------------------------- @@ -4479,7 +4631,7 @@ load_dx8sdk() cd "$W_TMP" w_try_unzip "$W_CACHE"/dx8sdk/dx81sdk_full.exe cd DXF - w_try $WINE setup.exe # /S/v/qn for silent mode, but it's broken? + w_try "$WINE" setup.exe # /S/v/qn for silent mode, but it's broken? } #---------------------------------------------------------------- @@ -4502,7 +4654,7 @@ load_dxsdk_nov2006() cd "$W_TMP" w_try_cabextract "$W_CACHE"/dxsdk_nov2006/dxsdk_aug2006.exe w_try_unzip dxsdk.exe - w_try $WINE msiexec /i Microsoft_DirectX_SDK.msi $W_UNATTENDED_SLASH_Q + w_try "$WINE" msiexec /i Microsoft_DirectX_SDK.msi $W_UNATTENDED_SLASH_Q } #---------------------------------------------------------------- @@ -4523,7 +4675,7 @@ load_dxsdk_jun2010() w_call dotnet20 cd "$W_TMP" - w_try $WINE "$W_CACHE"/dxsdk_jun2010/DXSDK_Jun10.exe ${W_OPT_UNATTENDED:+/U} + w_try "$WINE" "$W_CACHE"/dxsdk_jun2010/DXSDK_Jun10.exe ${W_OPT_UNATTENDED:+/U} } #---------------------------------------------------------------- @@ -4573,18 +4725,38 @@ load_dotnet11() # Remove bits of Wine that conflict with native .net 11 rm -rf "$W_WINDIR_UNIX/Microsoft.NET/Framework/v1.1.4322" - $WINE reg delete "HKLM\Software\Microsoft\.NETFramework\policy\v2.0" /f || true - $WINE reg delete "HKLM\Software\Microsoft\.NETFramework" /v InstallRoot /f || true + "$WINE" reg delete "HKLM\Software\Microsoft\.NETFramework\policy\v2.0" /f || true + "$WINE" reg delete "HKLM\Software\Microsoft\.NETFramework" /v InstallRoot /f || true # need corefonts, else installer crashes w_call corefonts + w_try cd "$W_CACHE/dotnet11" # Use builtin regsvcs.exe to work around http://bugs.winehq.org/show_bug.cgi?id=25120 if test $W_OPT_UNATTENDED then - WINEDLLOVERRIDES="regsvcs.exe=b" w_try $WINE "$W_CACHE"/dotnet11/dotnetfx.exe /q /C:"install /q" + WINEDLLOVERRIDES="regsvcs.exe=b" w_ahk_do " + SetTitleMatchMode, 2 + run, dotnetfx.exe /q /C:\"install /q\" + + Loop + { + sleep 1000 + ifwinexist, Fatal error, Failed to delay load library + { + WinClose, Fatal error, Failed to delay load library + continue + } + Process, exist, dotnetfx.exe + dotnet_pid = %ErrorLevel% ; Save the value immediately since ErrorLevel is often changed. + if dotnet_pid = 0 + { + break + } + } + " else - WINEDLLOVERRIDES="regsvcs.exe=b" w_try $WINE "$W_CACHE"/dotnet11/dotnetfx.exe + WINEDLLOVERRIDES="regsvcs.exe=b" w_try "$WINE" dotnetfx.exe fi } @@ -4609,9 +4781,9 @@ load_dotnet11sp1() if test $W_OPT_UNATTENDED then - WINEDLLOVERRIDES="regsvcs.exe=b" $WINE "$W_CACHE"/dotnet11sp1/NDP1.1sp1-KB867460-X86.exe /q /C:"install /q" + WINEDLLOVERRIDES="regsvcs.exe=b" "$WINE" "$W_CACHE"/dotnet11sp1/NDP1.1sp1-KB867460-X86.exe /q /C:"install /q" else - WINEDLLOVERRIDES="regsvcs.exe=b" $WINE "$W_CACHE"/dotnet11sp1/NDP1.1sp1-KB867460-X86.exe + WINEDLLOVERRIDES="regsvcs.exe=b" "$WINE" "$W_CACHE"/dotnet11sp1/NDP1.1sp1-KB867460-X86.exe fi status=$? @@ -4635,7 +4807,9 @@ w_metadata dotnet_verifier dlls \ load_dotnet_verifier() { # http://blogs.msdn.com/b/astebner/archive/2008/10/13/8999004.aspx - w_download http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Components-PostAttachments/00-08-99-90-04/netfx_5F00_setupverifier_5F00_new.zip 0eba832a0733cd47b7639463dd5a22a41e95ee6e + # 2013/03/28: sha1sum 0eba832a0733cd47b7639463dd5a22a41e95ee6e + # 2014/01/23: sha1sum 8818f3460826145e2a66bb91727afa7cd531037b + w_download http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Components-PostAttachments/00-08-99-90-04/netfx_5F00_setupverifier_5F00_new.zip 8818f3460826145e2a66bb91727afa7cd531037b cd "$W_CACHE"/dotnet_verifier @@ -4661,39 +4835,15 @@ load_dotnet20() # and http://bugs.winehq.org/show_bug.cgi?id=30845#c10 w_set_winver win2k - if test ! -f "$W_CACHE"/dotnet20/l_intl.nls && w_workaround_wine_bug 10467 "Install l_intl.nls" 1.1.44, - then - # See http://kegel.com/wine/l_intl-sh.txt for how l_intl.nls was generated - # Use zip rather than naked file to get past strange web proxies - w_download http://kegel.com/wine/l_intl.zip 5cc2665e9a518a2e560d3aeac6758d0cd8ec3a2a - # FIXME: w_download changes current directory - cd "$W_CACHE"/dotnet20 - - w_try_unzip -d "$W_SYSTEM32_DLLS" l_intl.zip - fi - - # Hans' workaround to avoid winehq nonbug 26464, crash in servicemodelreg.exe - if test -d "$W_WINDIR_UNIX"/Microsoft.NET/Framework/v2.0.50727 - then - rm -rf "$W_WINDIR_UNIX"/Microsoft.NET/Framework/v2.0.50727 - fi - # http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5 w_download http://download.lenovo.com/ibmdl/pub/pc/pccbbs/thinkvantage_en/dotnetfx.exe a3625c59d7a2995fb60877b5f5324892a1693b2a - # A bug that popped up in 1.5.3 was fixed in 1.5.7; until then a - # crappy workaround helps - if w_workaround_wine_bug 30845 "Adding .NETFramework registry key. Ignore fatal error dialog if it pops up." ,1.5.3 1.5.7, - then - $WINE reg add 'HKLM\Software\Microsoft\.NETFramework' /v InstallRoot /d 'C:\Windows\Microsoft.NET\Framework\' /f - fi - cd "$W_CACHE"/dotnet20 if w_workaround_wine_bug 30845 "Using native fusion while installing..." 1.5.8, then - w_try env WINEDLLOVERRIDES=mscoree,fusion=n $WINE dotnetfx.exe ${W_OPT_UNATTENDED:+/q /c:"install.exe /q"} + w_try env WINEDLLOVERRIDES=mscoree,fusion=n "$WINE" dotnetfx.exe ${W_OPT_UNATTENDED:+/q /c:"install.exe /q"} else - w_try $WINE dotnetfx.exe ${W_OPT_UNATTENDED:+/q /c:"install.exe /q"} + w_try "$WINE" dotnetfx.exe ${W_OPT_UNATTENDED:+/q /c:"install.exe /q"} fi w_unset_winver @@ -4713,6 +4863,72 @@ load_dotnet20() #---------------------------------------------------------------- +w_metadata dotnet20sdk dlls \ + title="MS .NET 2.0 SDK" \ + publisher="Microsoft" \ + year="2006" \ + media="download" \ + file1="setup.exe" \ + installed_file1="$W_PROGRAMS_X86_WIN/Microsoft.NET/SDK/v2.0/Bin/cordbg.exe" + +load_dotnet20sdk() +{ + w_call dotnet20 + + # http://www.microsoft.com/en-us/download/details.aspx?id=19988 + w_download http://download.microsoft.com/download/c/4/b/c4b15d7d-6f37-4d5a-b9c6-8f07e7d46635/setup.exe 4e4b1072b5e65e855358e2028403f2dc52a62ab4 + + cd "$W_CACHE"/dotnet20sdk + w_ahk_do " + SetTitleMatchMode, 2 + run, setup.exe ${W_OPT_UNATTENDED:+/q /c:"install.exe /q"} + + Loop + { + sleep 1000 + ifwinexist, Microsoft Document Explorer, Application Data folder + { + WinClose, Microsoft Document Explorer, Application Data folder + continue + } + ifwinexist, Microsoft CLR Debugger, Application Data folder + { + WinClose, Microsoft CLR Debugger, Application Data folder + continue + } + ; FIXME: only appears if dotnet30sp1 is run first? + ifwinexist, Microsoft .NET Framework 2.0 SDK Setup, This wizard will guide + { + ControlClick, Button22, Microsoft .NET Framework 2.0 SDK Setup + Winwait, Microsoft .NET Framework 2.0 SDK Setup, By clicking + sleep 100 + ControlClick, Button21 + sleep 100 + ControlClick, Button18 + WinWait, Microsoft .NET Framework 2.0 SDK Setup, Select from + sleep 100 + ControlClick, Button12 + WinWait, Microsoft .NET Framework 2.0 SDK Setup, Type the path + sleep 100 + ControlClick, Button8 + WinWait, Microsoft .NET Framework 2.0 SDK Setup, successfully installed + sleep 100 + ControlClick, Button2 + sleep 100 + } + Process, exist, setup.exe + dotnet_pid = %ErrorLevel% + if dotnet_pid = 0 + { + break + } + } + " + +} + +#---------------------------------------------------------------- + w_metadata dotnet20sp1 dlls \ title="MS .NET 2.0 SP1 (experimental)" \ publisher="Microsoft" \ @@ -4742,11 +4958,11 @@ load_dotnet20sp1() export WINEDLLOVERRIDES # Workaround Wine/Mono integration: - $WINE reg add "HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP\\v2.0.50727" /v Version /t REG_SZ /d "2.0.50727" /f + "$WINE" reg add "HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP\\v2.0.50727" /v Version /t REG_SZ /d "2.0.50727" /f w_download http://download.microsoft.com/download/0/8/c/08c19fa4-4c4f-4ffb-9d6c-150906578c9e/NetFx20SP1_x86.exe eef5a36924cdf0c02598ccf96aa4f60887a49840 cd "$W_CACHE"/dotnet20sp1 - $WINE NetFx20SP1_x86.exe ${W_OPT_UNATTENDED:+/q} + "$WINE" NetFx20SP1_x86.exe ${W_OPT_UNATTENDED:+/q} status=$? case $status in @@ -4778,18 +4994,13 @@ w_metadata dotnet20sp2 dlls \ load_dotnet20sp2() { - if w_workaround_wine_bug 22521 "wine version too old" 1.3.18, - then - w_die "wine-1.3.18 or later required to install dotnet20sp2" - fi - w_call dotnet20 WINEDLLOVERRIDES= if w_workaround_wine_bug 22521 "Adding registry key, setting windows version so installer works" then # Recipe from http://bugs.winehq.org/show_bug.cgi?id=22521 - $WINE reg add "HKLM\Software\Microsoft\Net Framework Setup\NDP\v2.0.50727" /v Version /d "2.0.50727" /f + "$WINE" reg add "HKLM\Software\Microsoft\Net Framework Setup\NDP\v2.0.50727" /v Version /d "2.0.50727" /f # Stop services # Recipe from http://bugs.winehq.org/show_bug.cgi?id=16956 $WINESERVER -k @@ -4803,7 +5014,26 @@ load_dotnet20sp2() # http://www.microsoft.com/downloads/details.aspx?familyid=5B2C0358-915B-4EB5-9B1D-10E506DA9D0F w_download http://download.microsoft.com/download/c/6/e/c6e88215-0178-4c6c-b5f3-158ff77b1f38/NetFx20SP2_x86.exe 22d776d4d204863105a5db99e8b8888be23c61a7 cd "$W_CACHE"/dotnet20sp2 - $WINE NetFx20SP2_x86.exe ${W_OPT_UNATTENDED:+ /q /c:"install.exe /q"} + w_ahk_do " + SetTitleMatchMode, 2 + run, NetFx20SP2_x86.exe ${W_OPT_UNATTENDED:+ /q /c:"install.exe /q"} + + Loop + { + sleep 1000 + ifwinexist, Error, cannot be uninstalled + { + WinClose, Error, cannot be uninstalled + continue + } + Process, exist, NetFx20SP2_x86.exe + dotnet_pid = %ErrorLevel% + if dotnet_pid = 0 + { + break + } + } + " status=$? case $status in @@ -4871,7 +5101,7 @@ load_dotnet30() # Delete FontCache 3.0 service, it's in Wine for Mono, breaks native .NET # OK if this fails, that just means you have an older wine. - $WINE sc delete "FontCache3.0.0.0" + "$WINE" sc delete "FontCache3.0.0.0" if w_workaround_wine_bug 30845 "Using native fusion..." ,1.5.6 then @@ -4885,7 +5115,7 @@ load_dotnet30() WINEDLLOVERRIDES="ngen.exe,mscorsvw.exe=b;$WINEDLLOVERRIDES" cd "$W_CACHE"/dotnet30 - w_try $WINE $file1 ${W_OPT_UNATTENDED:+ /q /c:"install.exe /q"} + w_try "$WINE" $file1 ${W_OPT_UNATTENDED:+ /q /c:"install.exe /q"} } #---------------------------------------------------------------- @@ -4915,15 +5145,15 @@ load_dotnet30sp1() w_download http://download.microsoft.com/download/8/F/E/8FEEE89D-9E4F-4BA3-993E-0FFEA8E21E1B/NetFx30SP1_x86.exe 8d779e337920b097aa0c01859912950606e9fc12 cd "$W_CACHE/$W_PACKAGE" - $WINE reg add "HKLM\\Software\\Microsoft\\Net Framework Setup\\NDP\\v3.0" /v Version /t REG_SZ /d "3.0" /f - $WINE reg add "HKLM\\Software\\Microsoft-\\Net Framework Setup\\NDP\\v3.0" /v SP /t REG_DWORD /d 0001 /f + "$WINE" reg add "HKLM\\Software\\Microsoft\\Net Framework Setup\\NDP\\v3.0" /v Version /t REG_SZ /d "3.0" /f + "$WINE" reg add "HKLM\\Software\\Microsoft-\\Net Framework Setup\\NDP\\v3.0" /v SP /t REG_DWORD /d 0001 /f # Recipe from http://bugs.winehq.org/show_bug.cgi?id=25060#c10 - w_download http://download.microsoft.com/download/2/5/2/2526f55d-32bc-410f-be18-164ba67ae07d/XPSEP%20XP%20and%20Server%202003%2032%20bit.msi 5d332ebd1025e294adafe72030fe33db707b2c82 - w_try $WINE msiexec /i "XPSEP XP and Server 2003 32 bit.msi" ${W_OPT_UNATTENDED:+/qb} - $WINE sc delete FontCache3.0.0.0 + w_download http://download.microsoft.com/download/2/5/2/2526f55d-32bc-410f-be18-164ba67ae07d/XPSEP%20XP%20and%20Server%202003%2032%20bit.msi 5d332ebd1025e294adafe72030fe33db707b2c82 "XPSEP XP and Server 2003 32 bit.msi" + w_try "$WINE" msiexec /i "XPSEP XP and Server 2003 32 bit.msi" ${W_OPT_UNATTENDED:+/qb} + "$WINE" sc delete FontCache3.0.0.0 - $WINE $file1 ${W_OPT_UNATTENDED:+/q} + "$WINE" $file1 ${W_OPT_UNATTENDED:+/q} status=$? w_info $file1 exited with status $status } @@ -4956,13 +5186,13 @@ load_dotnet35() # http://www.microsoft.com/downloads/details.aspx?FamilyId=333325FD-AE52-4E35-B531-508D977D32A6 w_download http://download.microsoft.com/download/6/0/f/60fc5854-3cb8-4892-b6db-bd4f42510f28/dotnetfx35.exe 0a271bb44531aadef902829f98dfad66e4a57586 - $WINE reg delete "HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP\\v3.5" + "$WINE" reg delete "HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP\\v3.5" # See also http://blogs.msdn.com/astebner/archive/2008/07/17/8745415.aspx cd "$W_TMP" w_try_cabextract $W_UNATTENDED_DASH_Q "$W_CACHE"/dotnet35/dotnetfx35.exe cd wcu/dotNetFramework - $WINE dotNetFx35setup.exe /lang:ENU $W_UNATTENDED_SLASH_Q + "$WINE" dotNetFx35setup.exe /lang:ENU $W_UNATTENDED_SLASH_Q } #---------------------------------------------------------------- @@ -4995,7 +5225,26 @@ load_dotnet35sp1() export WINEDLLOVERRIDES cd "$W_CACHE"/dotnet35sp1 - $WINE dotnetfx35.exe /lang:ENU $W_UNATTENDED_SLASH_Q + w_ahk_do " + SetTitleMatchMode, 2 + run, dotnetfx35.exe /lang:ENU $W_UNATTENDED_SLASH_Q + + Loop + { + sleep 1000 + ifwinexist, Error, cannot be uninstalled + { + WinClose, Error, cannot be uninstalled + continue + } + Process, exist, dotnetfx35.exe + dotnet_pid = %ErrorLevel% + if dotnet_pid = 0 + { + break + } + } + " } #---------------------------------------------------------------- @@ -5010,6 +5259,11 @@ w_metadata dotnet40 dlls \ load_dotnet40() { + if [ $W_ARCH = win64 ] + then + w_die "This package does not work on a 64-bit installation" + fi + case "$OS" in "Windows_NT") ;; *) w_warn "dotnet40 does not yet fully work or install on wine. Caveat emptor." ;; @@ -5026,18 +5280,18 @@ load_dotnet40() w_call remove_mono # Remove Mono registry entry: - $WINE reg delete "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4" /f + "$WINE" reg delete "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4" /f w_try rm -f "$W_WINDIR_UNIX/system32/mscoree.dll" cd "$W_CACHE/$W_PACKAGE" - WINEDLLOVERRIDES=fusion=b $WINE dotNetFx40_Full_x86_x64.exe ${W_OPT_UNATTENDED:+/q /c:"install.exe /q"} || true + WINEDLLOVERRIDES=fusion=b "$WINE" dotNetFx40_Full_x86_x64.exe ${W_OPT_UNATTENDED:+/q /c:"install.exe /q"} || true w_override_dlls native mscoree - $WINE reg add "HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP\\v4\\Full" /v Install /t REG_DWORD /d 0001 /f - $WINE reg add "HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP\\v4\\Full" /v Version /t REG_SZ /d "4.0.30319" /f + "$WINE" reg add "HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP\\v4\\Full" /v Install /t REG_DWORD /d 0001 /f + "$WINE" reg add "HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP\\v4\\Full" /v Version /t REG_SZ /d "4.0.30319" /f if w_workaround_wine_bug 30707 "Manually registering assemblies" 1.5.5, then @@ -5046,13 +5300,13 @@ load_dotnet40() for assembly in $W_WINDIR_UNIX/Microsoft.NET/Framework/v4.0.30319/*.[dD]ll do - $WINE "$W_TMP/gacutil.exe" /i "$(w_pathconv -w $assembly)" /f + "$WINE" "$W_TMP/gacutil.exe" /i "$(w_pathconv -w $assembly)" /f done for assembly in $W_WINDIR_UNIX/Microsoft.NET/Framework/v4.0.30319/WPF/*.[dD]ll do # Some of the dlls aren't assemblies. FIXME: Should filter them based on that.. - $WINE "$W_TMP/gacutil.exe" /i "$(w_pathconv -w $assembly)" /f || true + "$WINE" "$W_TMP/gacutil.exe" /i "$(w_pathconv -w $assembly)" /f || true done mkdir -p "$W_WINDIR_UNIX/Microsoft.NET/assembly/GAC_32/System.EnterpriseServices/v4.0_4.0.0.0__b03f5f7f11d50a3a" @@ -5060,6 +5314,55 @@ load_dotnet40() fi } +#---------------------------------------------------------------- + +w_metadata dotnet45 dlls \ + title="MS .NET 4.5" \ + publisher="Microsoft" \ + year="2012" \ + media="download" \ + file1="dotnetfx45_full_x86_x64.exe" #\ + #installed_file1="c:/windows/Microsoft.NET/Framework/v4.0.30319/ngen.exe" + +load_dotnet45() +{ + if [ $W_ARCH = win64 ] + then + w_warn "This package may not work on a 64-bit installation" + fi + + # http://www.microsoft.com/download/en/details.aspx?id=17718 + w_download http://download.microsoft.com/download/b/a/4/ba4a7e71-2906-4b2d-a0e1-80cf16844f5f/dotnetfx45_full_x86_x64.exe b2ff712ca0947040ca0b8e9bd7436a3c3524bb5d + + w_call remove_mono + + # Remove Mono registry entry: + "$WINE" reg delete "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4" /f + + w_try rm -f "$W_WINDIR_UNIX/system32/mscoree.dll" + + # See https://appdb.winehq.org/objectManager.php?sClass=version&iId=25478 for Focht's recipe + w_call dotnet35 + w_call dotnet40 + w_set_winver win7 + + cd "$W_CACHE/$W_PACKAGE" + + WINEDLLOVERRIDES=fusion=b "$WINE" dotnetfx45_full_x86_x64.exe ${W_OPT_UNATTENDED:+/q /c:"install.exe /q"} + status=$? + + case $status in + 0) ;; + 105) echo "exit status $status - normal, user selected 'restart now'" ;; + 194) echo "exit status $status - normal, user selected 'restart later'" ;; + *) w_die "exit status $status - $W_PACKAGE installation failed" ;; + esac + + w_override_dlls native mscoree + + w_warn "Setting Windows version to 2003, otherwise applications using .NET 4.5 will subtly fail" + w_set_winver win2k3 +} #---------------------------------------------------------------- @@ -5106,14 +5409,14 @@ load_dsound() # FIXME: update winetricks_is_installed to look at installed_file2 w_metadata flash dlls \ - title="Flash Player 11" \ + title="Flash Player 12" \ publisher="Adobe" \ - year="2011" \ + year="2014" \ media="download" \ file1="install_flash_player.exe" \ file2="install_flash_player_ax.exe" \ - installed_file1="$W_SYSTEM32_DLLS_WIN/Macromed/Flash/FlashUtil32_11_7_700_224_Plugin.exe" \ - installed_file2="$W_SYSTEM32_DLLS_WIN/Macromed/Flash/FlashUtil32_11_7_700_224_ActiveX.exe" \ + installed_file1="$W_SYSTEM32_DLLS_WIN/Macromed/Flash/FlashUtil32_12_0_0_43_Plugin.exe" \ + installed_file2="$W_SYSTEM32_DLLS_WIN/Macromed/Flash/FlashUtil32_12_0_0_38_ActiveX.exe" \ homepage="http://www.adobe.com/products/flashplayer/" load_flash() @@ -5132,19 +5435,23 @@ load_flash() # Active X plugin # 2013-03-28 #w_download http://fpdownload.macromedia.com/get/flashplayer/pdc/11.6.602.180/install_flash_player_ax.exe 359f231d7007c17b419f777125e0f28fffc2e6a1 - # 2003-06-24 - w_download http://fpdownload.macromedia.com/get/flashplayer/pdc/11.7.700.224/install_flash_player_ax.exe fdadce901fc7da7a175f71cc8f1f2dd0db78ec8e + # 2013-06-24 + # w_download http://fpdownload.macromedia.com/get/flashplayer/pdc/11.7.700.224/install_flash_player_ax.exe fdadce901fc7da7a175f71cc8f1f2dd0db78ec8e + # 2014-01-21 + w_download http://fpdownload.macromedia.com/get/flashplayer/pdc/12.0.0.38/install_flash_player_ax.exe 8deb33bcbbbbecfcbcbeb0f861d2c7492599da2b cd "$W_CACHE"/flash - w_try $WINE install_flash_player_ax.exe ${W_OPT_UNATTENDED:+ /install} + w_try "$WINE" install_flash_player_ax.exe ${W_OPT_UNATTENDED:+ /install} # Mozilla / Firefox plugin # 2013-03-28 #w_download http://fpdownload.macromedia.com/get/flashplayer/pdc/11.6.602.180/install_flash_player.exe bf44990ade52aa92078495ec39035d8489ff6e05 - # 2003-06-24 - w_download http://fpdownload.macromedia.com/get/flashplayer/pdc/11.7.700.224/install_flash_player.exe 9c519fd5a7202c43b5713f9f6b083d970810112e + # 2013-06-24 + #w_download http://fpdownload.macromedia.com/get/flashplayer/pdc/11.7.700.224/install_flash_player.exe 9c519fd5a7202c43b5713f9f6b083d970810112e + # 2014-01-21 + w_download http://fpdownload.macromedia.com/get/flashplayer/pdc/12.0.0.43/install_flash_player.exe 5a68f7aa21c4217cf801a46616fe724d601f773a - w_try $WINE install_flash_player.exe ${W_OPT_UNATTENDED:+ /install} + w_try "$WINE" install_flash_player.exe ${W_OPT_UNATTENDED:+ /install} if w_workaround_wine_bug 25966 "Flash11 still needs native visual c++ 2005 runtimes" 1.5.7, then @@ -5230,7 +5537,7 @@ load_glidewrapper() w_download http://www.zeckensack.de/glide/archive/GlideWrapper084c.exe 7a9d60a18b660473742b476465e9aea7bd5ab6f8 cd "$W_CACHE/$W_PACKAGE" # NSIS installer - w_try $WINE $file1 ${W_OPT_UNATTENDED:+ /S} + w_try "$WINE" $file1 ${W_OPT_UNATTENDED:+ /S} } #---------------------------------------------------------------- @@ -5310,7 +5617,7 @@ load_gecko120() w_download http://downloads.sourceforge.net/project/wine/Wine%20Gecko/1.2.0/wine_gecko-1.2.0-x86.msi 6964d1877668ab7da07a60f6dcf23fb0e261a808 - w_try $WINE msiexec /i "$W_CACHE"/gecko120/wine_gecko-1.2.0-x86.msi $W_UNATTENDED_SLASH_Q + w_try "$WINE" msiexec /i "$W_CACHE"/gecko120/wine_gecko-1.2.0-x86.msi $W_UNATTENDED_SLASH_Q } @@ -5332,7 +5639,7 @@ load_gfw() # FIXME: Depends on .Net 20, but is it really needed? For now, skip it. cd "$W_CACHE"/gfw - w_try $WINE gfwlivesetupmin.exe /nodotnet $W_UNATTENDED_SLASH_Q + w_try "$WINE" gfwlivesetupmin.exe /nodotnet $W_UNATTENDED_SLASH_Q w_call msasn1 } @@ -5427,7 +5734,7 @@ load_ffdshow() { w_download $WINETRICKS_SOURCEFORGE/ffdshow-tryout/ffdshow_beta7_rev3154_20091209.exe 8534c31489e51df70ee9583438d6211e6f0696d0 cd "$W_CACHE"/ffdshow - w_try $WINE ffdshow_beta7_rev3154_20091209.exe $W_UNATTENDED_SLASH_SILENT + w_try "$WINE" ffdshow_beta7_rev3154_20091209.exe $W_UNATTENDED_SLASH_SILENT } #---------------------------------------------------------------- @@ -5511,7 +5818,7 @@ load_jet40() # FIXME: "failed with error 2" w_download http://www.autoxplorer.com/exe/Jet40SP8_9xNT.exe 8cd25342030857969ede2d8fcc34f3f7bcc2d6d4 cd "$W_CACHE"/jet40 - w_try $WINE jet40sp8_9xnt.exe $W_UNATTENDED_SLASH_Q + w_try "$WINE" jet40sp8_9xnt.exe $W_UNATTENDED_SLASH_Q } #---------------------------------------------------------------- @@ -5535,7 +5842,7 @@ load_kde() cd "$W_PROGRAMS_UNIX/kde" # There's no unattended option, probably because there are so many choices, # it's like cygwin - w_try $WINE kdewin-installer-gui-0.9.8-1.exe + w_try "$WINE" kdewin-installer-gui-0.9.8-1.exe } #---------------------------------------------------------------- @@ -5553,7 +5860,7 @@ load_kindle() { w_download http://kindleforpc.amazon.com/36154/KindleForPC-installer.exe aca576086de7abd1d82c211dbeeb810387e046f5 cd "$W_CACHE"/kindle - w_try $WINE $file1 ${W_OPT_UNATTENDED:+ /S} + w_try "$WINE" $file1 ${W_OPT_UNATTENDED:+ /S} w_declare_exe "$W_PROGRAMS_WIN\\Amazon\\Kindle" Kindle.exe } @@ -5593,11 +5900,16 @@ w_metadata mdac27 dlls \ load_mdac27() { + if test $W_ARCH = win64 + then + w_die "Installer doesn't support 64-bit architecture." + fi + # http://www.microsoft.com/downloads/en/details.aspx?FamilyId=9AD000F2-CAE7-493D-B0F3-AE36C570ADE8&displaylang=en w_download_manual http://download.cnet.com/Microsoft-Data-Access-Components-MDAC-2-7-Service-Pack-1-Refresh/3000-10250_4-10729498.html mdac_typ.exe f68594d1f578c3b47bf0639c46c11c5da161feee load_native_mdac w_set_winver nt40 - w_try $WINE "$W_CACHE"/mdac27/mdac_typ.exe ${W_OPT_UNATTENDED:+ /q /C:"setup /QNT"} + w_try "$WINE" "$W_CACHE"/mdac27/mdac_typ.exe ${W_OPT_UNATTENDED:+ /q /C:"setup /QNT"} w_unset_winver } @@ -5620,9 +5932,9 @@ load_mdac28() cd "$W_CACHE"/mdac28 if [ $W_UNATTENDED_SLASH_Q ] then - w_try $WINE mdac_typ.exe /q /C:"setup /QNT" + w_try "$WINE" mdac_typ.exe /q /C:"setup /QNT" else - w_try $WINE mdac_typ.exe + w_try "$WINE" mdac_typ.exe fi w_unset_winver } @@ -5659,7 +5971,7 @@ load_mozillabuild() { w_download http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/MozillaBuildSetup-1.5.1.exe 216c52eafe42df7559e8451f4e40a28e9c0f8133 cd "$W_CACHE/$W_PACKAGE" - w_try $WINE MozillaBuildSetup-1.5.1.exe $W_UNATTENDED_SLASH_S + w_try "$WINE" MozillaBuildSetup-1.5.1.exe $W_UNATTENDED_SLASH_S } #---------------------------------------------------------------- @@ -5834,6 +6146,24 @@ load_msmask() w_try_regsvr msmask32.ocx } + #---------------------------------------------------------------- + +w_metadata msftedit dlls \ + title="Microsoft RichEdit Control" \ + publisher="Microsoft" \ + year="2011" \ + media="download" \ + file1="../win7sp1/windows6.1-KB976932-X86.exe" \ + installed_file1="$W_SYSTEM32_DLLS_WIN/msftedit.dll" + +load_msftedit() +{ + helper_win7sp1 x86_microsoft-windows-msftedit_31bf3856ad364e35_6.1.7601.17514_none_d7d862f19573a5ff/msftedit.dll + w_try cp "$W_TMP/x86_microsoft-windows-msftedit_31bf3856ad364e35_6.1.7601.17514_none_d7d862f19573a5ff/msftedit.dll" "$W_SYSTEM32_DLLS/msftedit.dll" + + w_override_dlls native,builtin mstfedit +} + #---------------------------------------------------------------- w_metadata msxml3 dlls \ @@ -5857,7 +6187,7 @@ load_msxml3() rm "$W_SYSTEM32_DLLS"/msxml3.dll w_override_dlls native msxml3 cd "$W_CACHE"/msxml3 - w_try $WINE msiexec /i msxml3.msi $W_UNATTENDED_SLASH_Q + w_try "$WINE" msiexec /i msxml3.msi $W_UNATTENDED_SLASH_Q } #---------------------------------------------------------------- @@ -5880,7 +6210,7 @@ load_msxml4() w_download http://download.microsoft.com/download/A/2/D/A2D8587D-0027-4217-9DAD-38AFDB0A177E/msxml.msi aa70c5c1a7a069af824947bcda1d9893a895318b w_override_dlls native,builtin msxml4 cd "$W_CACHE"/msxml4 - w_try $WINE msiexec /i msxml.msi $W_UNATTENDED_SLASH_Q + w_try "$WINE" msiexec /i msxml.msi $W_UNATTENDED_SLASH_Q } #---------------------------------------------------------------- @@ -5900,7 +6230,26 @@ load_msxml6() w_download http://download.microsoft.com/download/e/a/f/eafb8ee7-667d-4e30-bb39-4694b5b3006f/msxml6_x86.msi 5125220e985b33c946bbf9f60e2b222c7570bfa2 w_override_dlls native,builtin msxml6 rm -f "$W_SYSTEM32_DLLS/msxml6.dll" - w_try $WINE msiexec /i "$W_CACHE"/msxml6/msxml6_x86.msi $W_UNATTENDED_SLASH_Q + w_try "$WINE" msiexec /i "$W_CACHE"/msxml6/msxml6_x86.msi $W_UNATTENDED_SLASH_Q +} + +#---------------------------------------------------------------- + +w_metadata nuget dlls \ + title="NuGet Package manager" \ + publisher="Outercurve Foundation" \ + year="2013" \ + media="download" \ + file1="nuget.exe" \ + installed_file1="$W_SYSTEM32_DLLS_WIN/nuget.exe" \ + homepage="https://nuget.org" + +load_nuget() +{ + w_call dotnet40 + w_download https://nuget.org/nuget.exe d4082afc4f89df195fa1e83ee1cf02bce3dd2f13 + w_try cp "$W_CACHE/$W_PACKAGE"/nuget.exe "$W_SYSTEM32_DLLS" + w_warn "To run nuget, use the commandline \"$WINE nuget\"." } #---------------------------------------------------------------- @@ -5918,7 +6267,7 @@ load_ogg() { w_download http://downloads.xiph.org/releases/oggdsf/opencodecs_0.85.17777.exe 386cf7cd29ffcbf8705eff8c8233de448ecf33ab cd "$W_CACHE"/ogg - w_try $WINE $file1 $W_UNATTENDED_SLASH_S + w_try "$WINE" $file1 $W_UNATTENDED_SLASH_S } #---------------------------------------------------------------- @@ -5946,10 +6295,10 @@ load_openwatcom() w_try_unzip open-watcom-c-win32-1.9.exe setup.inf sed -i 's/tools16=.*/tools16=true/' setup.inf w_try zip -f open-watcom-c-win32-1.9.exe - w_try $WINE open-watcom-c-win32-1.9.exe -s + w_try "$WINE" open-watcom-c-win32-1.9.exe -s else cd "$W_CACHE/$W_PACKAGE" - w_try $WINE open-watcom-c-win32-1.9.exe + w_try "$WINE" open-watcom-c-win32-1.9.exe fi if test ! -f "$W_DRIVE_C"/WATCOM/binnt/wcc.exe @@ -5983,19 +6332,17 @@ load_pdh() w_metadata physx dlls \ title="PhysX" \ publisher="NVidia" \ - year="2010" \ + year="2013" \ media="download" \ - file1="PhysX_9.10.0129_SystemSoftware.exe" \ + file1="PhysX-9.13.0604-SystemSoftware.msi" \ installed_file1="$W_PROGRAMS_WIN/NVIDIA Corporation/PhysX/Engine/v2.8.3/PhysXCore.dll" load_physx() { - # http://www.nvidia.com/object/physx_9.09.0814.html - # w_download http://us.download.nvidia.com/Windows/9.09.0814/PhysX_9.09.0814_SystemSoftware.exe e19f7c3385a4a68e7acb85301bb4d2d0d1eaa1e2 - # http://www.nvidia.com/object/physx_9.10.0129.html - w_download http://us.download.nvidia.com/Windows/9.10.0129/PhysX_9.10.0129_SystemSoftware.exe 33a8b54d842c7246946de15b1a48209c386c9c4b + # Has a minor issue, see bug report http://bugs.winehq.org/show_bug.cgi?id=34167 + w_download http://uk.download.nvidia.com/Windows/9.13.0604/PhysX-9.13.0604-SystemSoftware.msi c2aac1635bfc474de82b5aad6571d15b4ccb84b5 cd "$W_CACHE"/physx - w_try $WINE PhysX_9.10.0129_SystemSoftware.exe $W_UNATTENDED_SLASH_Q + w_try "$WINE" msiexec /i PhysX-9.13.0604-SystemSoftware.msi $W_UNATTENDED_SLASH_Q } #---------------------------------------------------------------- @@ -6073,7 +6420,7 @@ load_quicktime72() fi cd "$W_CACHE"/quicktime72 - w_try $WINE quicktimeplayer72.exe ALLUSERS=1 DESKTOP_SHORTCUTS=0 QTTaskRunFlags=0 QTINFO.BISQTPRO=1 SCHEDULE_ASUW=0 REBOOT_REQUIRED=No $QUICKTIME_QUIET > /dev/null 2>&1 + w_try "$WINE" quicktimeplayer72.exe ALLUSERS=1 DESKTOP_SHORTCUTS=0 QTTaskRunFlags=0 QTINFO.BISQTPRO=1 SCHEDULE_ASUW=0 REBOOT_REQUIRED=No $QUICKTIME_QUIET > /dev/null 2>&1 if w_workaround_wine_bug 11681 then @@ -6084,7 +6431,7 @@ load_quicktime72() w_warn "In Quicktime preferences, check Advanced / Safe Mode (gdi), or movies won't play." if test "$W_UNATTENDED_SLASH_Q" = "" then - w_try $WINE control "$W_PROGRAMS_WIN\\QuickTime\\QTSystem\\QuickTime.cpl" + w_try "$WINE" control "$W_PROGRAMS_WIN\\QuickTime\\QTSystem\\QuickTime.cpl" else # FIXME: script the control panel with autohotkey? # We could probably also overwrite QuickTime.qtp but @@ -6128,7 +6475,7 @@ load_quicktime76() fi cd "$W_CACHE"/quicktime76 - w_try $WINE QuickTimeInstaller.exe ALLUSERS=1 DESKTOP_SHORTCUTS=0 QTTaskRunFlags=0 QTINFO.BISQTPRO=1 SCHEDULE_ASUW=0 REBOOT_REQUIRED=No $QUICKTIME_QUIET > /dev/null 2>&1 + w_try "$WINE" QuickTimeInstaller.exe ALLUSERS=1 DESKTOP_SHORTCUTS=0 QTTaskRunFlags=0 QTINFO.BISQTPRO=1 SCHEDULE_ASUW=0 REBOOT_REQUIRED=No $QUICKTIME_QUIET > /dev/null 2>&1 if w_workaround_wine_bug 11681 then @@ -6139,7 +6486,7 @@ load_quicktime76() w_warn "In Quicktime preferences, check Advanced / Safe Mode (gdi), or movies won't play." if test "$W_UNATTENDED_SLASH_Q" = "" then - w_try $WINE control "$W_PROGRAMS_WIN\\QuickTime\\QTSystem\\QuickTime.cpl" + w_try "$WINE" control "$W_PROGRAMS_WIN\\QuickTime\\QTSystem\\QuickTime.cpl" else # FIXME: script the control panel with autohotkey? # We could probably also overwrite QuickTime.qtp but @@ -6161,7 +6508,7 @@ load_remove_mono() mono_uuid="`$WINE uninstaller --list | grep Mono | cut -f1 -d\|`" if test "$mono_uuid" then - $WINE uninstaller --remove $mono_uuid + "$WINE" uninstaller --remove $mono_uuid else w_warn "Mono does not appear to be installed." fi @@ -6282,7 +6629,7 @@ w_metadata shockwave dlls \ load_shockwave() { # Not silent enough, use msi instead #w_download http://fpdownload.macromedia.com/get/shockwave/default/english/win95nt/latest/Shockwave_Installer_Full.exe 840e34e9b067cf247bfa9092665b8966158f38e3 - #w_try $WINE "$W_CACHE"/Shockwave_Installer_Full.exe $W_UNATTENDED_SLASH_S + #w_try "$WINE" "$W_CACHE"/Shockwave_Installer_Full.exe $W_UNATTENDED_SLASH_S # old sha1sum: 6a91a9da4b54c3fdc97130a15e1a173117e5f4ff # 2009-07-31 sha1sum: 0bb506ef67a268e8d3fb6c7ce556320ee10b9da5 # 2009-12-13 sha1sum: d35649883bf13cb1a86f5650e1050d15533ac0f4 @@ -6297,10 +6644,10 @@ load_shockwave() { # 2012-04-26 sha1sum: 48b1a44b2c12c486916d641f3b4e20abffb3d6e4 # 2012-08-08 sha1sum: 3c4d531ccf0bb5788f1c197c63e9c0aa89885ee6 # 2013-06-15 sha1sum: 9c02499deaf567bde7d827493705e5680833d02e - - w_download http://fpdownload.macromedia.com/get/shockwave/default/english/win95nt/latest/sw_lic_full_installer.msi 9c02499deaf567bde7d827493705e5680833d02e + # 2014-01-22 sha1sum: c8f1b2c137a1373d591f7c1d48db9c6baa961caf + w_download http://fpdownload.macromedia.com/get/shockwave/default/english/win95nt/latest/sw_lic_full_installer.msi c8f1b2c137a1373d591f7c1d48db9c6baa961caf cd "$W_CACHE"/shockwave - w_try $WINE msiexec /i sw_lic_full_installer.msi $W_UNATTENDED_SLASH_Q + w_try "$WINE" msiexec /i sw_lic_full_installer.msi $W_UNATTENDED_SLASH_Q } #---------------------------------------------------------------- @@ -6324,7 +6671,7 @@ load_speechsdk() w_set_winver win2k cd "$W_TMP" - w_try $WINE msiexec /i "Microsoft Speech SDK 5.1.msi" $W_UNATTENDED_SLASH_Q + w_try "$WINE" msiexec /i "Microsoft Speech SDK 5.1.msi" $W_UNATTENDED_SLASH_Q w_unset_winver } @@ -6440,7 +6787,7 @@ load_vb5run() { w_download http://download.microsoft.com/download/vb50pro/utility/1/win98/en-us/msvbvm50.exe 28bfaf09b8ac32cf5ffa81252f3e2fadcb3a8f27 cd "$W_CACHE"/vb5run - w_try $WINE msvbvm50.exe $W_UNATTENDED_SLASH_Q + w_try "$WINE" msvbvm50.exe $W_UNATTENDED_SLASH_Q } #---------------------------------------------------------------- @@ -6449,7 +6796,7 @@ w_metadata vb6run dlls \ title="MS Visual Basic 6 runtime sp6" \ publisher="Microsoft" \ year="2004" \ - media="manual_download" \ + media="download" \ file1="vbrun60sp6.exe" \ installed_file1="$W_SYSTEM32_DLLS_WIN/MSVBVM60.DLL" @@ -6458,9 +6805,9 @@ load_vb6run() # http://support.microsoft.com/kb/290887 if test ! -f "$W_CACHE"/vb6run/vbrun60sp6.exe then - w_download_manual "http://download.cnet.com/Service-Pack-6-for-Visual-Basic-6-0-Run-Time-Redistribution-Pack-vbrun60sp6-exe/3000-2206_4-10726557.html?tag=downloadRatingModule;summaryRatings" VB6.0-KB290887-X86.exe 73ef177008005675134d2f02c6f580515ab0d842 + w_download http://download.microsoft.com/download/5/a/d/5ad868a0-8ecd-4bb0-a882-fe53eb7ef348/VB6.0-KB290887-X86.exe 73ef177008005675134d2f02c6f580515ab0d842 - w_try $WINE "$W_CACHE"/vb6run/VB6.0-KB290887-X86.exe "/T:$W_TMP_WIN" /c $W_UNATTENDED_SLASH_Q + w_try "$WINE" "$W_CACHE"/vb6run/VB6.0-KB290887-X86.exe "/T:$W_TMP_WIN" /c $W_UNATTENDED_SLASH_Q if test ! -f "$W_TMP"/vbrun60sp6.exe then w_die vbrun60sp6.exe not found @@ -6476,7 +6823,7 @@ load_vb6run() cd "$W_CACHE"/vb6run # Exits with status 43 for some reason? - $WINE vbrun60sp6.exe $W_UNATTENDED_SLASH_Q + "$WINE" vbrun60sp6.exe $W_UNATTENDED_SLASH_Q status=$? case $status in @@ -6492,7 +6839,7 @@ winetricks_vcrun6_helper() { then w_download_to vcrun6 http://download.microsoft.com/download/vc60pro/Update/2/W9XNT4/EN-US/VC6RedistSetup_deu.exe a8c4dd33e281c166488846a10edf97ff0ce37044 - w_try $WINE "$W_CACHE"/vcrun6/vc6redistsetup_deu.exe "/T:$W_TMP_WIN" /c $W_UNATTENDED_SLASH_Q + w_try "$WINE" "$W_CACHE"/vcrun6/vc6redistsetup_deu.exe "/T:$W_TMP_WIN" /c $W_UNATTENDED_SLASH_Q if test ! -f "$W_TMP"/vcredist.exe then w_die vcredist.exe not found @@ -6520,7 +6867,7 @@ load_vcrun6() rm -f "$W_SYSTEM32_DLLS"/oleaut32.dll rm -f "$W_SYSTEM32_DLLS"/olepro32.dll rm -f "$W_SYSTEM32_DLLS"/stdole2.tlb - $WINE "$W_CACHE"/vcrun6/vcredist.exe + "$WINE" "$W_CACHE"/vcrun6/vcredist.exe status=$? case $status in @@ -6573,13 +6920,13 @@ w_metadata vcrun6sp6 dlls \ title="Visual C++ 6 sp6 libraries (with fixes in atl and mfc)" \ publisher="Microsoft" \ year="2004" \ - media="manual_download" \ + media="download" \ file1="Vs6sp6.exe" \ installed_file1="$W_SYSTEM32_DLLS_WIN/mfc42.dll" load_vcrun6sp6() { - w_download_manual "http://download.cnet.com/Service-Pack-6-for-Visual-Basic-6-0-Visual-C-6-0-with-Visual-Source-Safe-6-0d/3000-2206_4-10726553.html?tag=rb_content;contentBody" Vs6sp6.exe 2292437a8967349261c810ae8b456592eeb76620 + w_download http://download.microsoft.com/download/1/9/f/19fe4660-5792-4683-99e0-8d48c22eed74/Vs6sp6.exe 2292437a8967349261c810ae8b456592eeb76620 # No EULA is presented when passing command-line extraction arguments, # so we'll simplify extraction with cabextract. @@ -6593,7 +6940,7 @@ load_vcrun6sp6() w_try rm -f "$W_SYSTEM32_DLLS"/olepro32.dll w_try rm -f "$W_SYSTEM32_DLLS"/stdole2.tlb # vcredist still exits with status 43. Anyone know why? - $WINE vcredist.exe + "$WINE" vcredist.exe status=$? case $status in @@ -6623,7 +6970,7 @@ load_vcrun2003() # Sadly, I know of no Microsoft URL for these echo "Installing BZFlag (which comes with the Visual C++ 2003 runtimes)" w_download $WINETRICKS_SOURCEFORGE/bzflag/BZEditW32_1.6.5_Installer.exe bdd1b32c4202fd77e6513fd507c8236888b09121 - w_try $WINE "$W_CACHE"/vcrun2003/BZEditW32_1.6.5_Installer.exe $W_UNATTENDED_SLASH_S + w_try "$WINE" "$W_CACHE"/vcrun2003/BZEditW32_1.6.5_Installer.exe $W_UNATTENDED_SLASH_S w_try cp "$W_PROGRAMS_X86_UNIX/BZEdit1.6.5"/m*71* "$W_SYSTEM32_DLLS" } @@ -6653,7 +7000,7 @@ load_vcrun2005() cd "$W_CACHE"/vcrun2005 w_override_dlls native,builtin atl80 msvcm80 msvcp80 msvcr80 vcomp - w_try $WINE $file1 $W_UNATTENDED_SLASH_Q + w_try "$WINE" $file1 $W_UNATTENDED_SLASH_Q } #---------------------------------------------------------------- @@ -6672,9 +7019,9 @@ load_vcrun2008() # http://www.microsoft.com/technet/security/bulletin/MS11-025.mspx or # http://support.microsoft.com/kb/2538242 w_download http://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x86.exe 470640aa4bb7db8e69196b5edb0010933569e98d - w_override_dlls native,builtin msvcm90 msvcp90 msvcr90 vcomp90 + w_override_dlls native,builtin atl90 msvcm90 msvcp90 msvcr90 vcomp90 cd "$W_CACHE"/vcrun2008 - w_try $WINE $file1 $W_UNATTENDED_SLASH_Q + w_try "$WINE" $file1 $W_UNATTENDED_SLASH_Q } #---------------------------------------------------------------- @@ -6699,22 +7046,26 @@ load_vcrun2010() w_override_dlls native,builtin msvcp100 msvcr100 vcomp100 atl100 cd "$W_CACHE"/vcrun2010 - w_try $WINE vcredist_x86.exe $W_UNATTENDED_SLASH_Q + w_try "$WINE" vcredist_x86.exe $W_UNATTENDED_SLASH_Q case "$W_ARCH" in win64) - # See http://bugs.winehq.org/show_bug.cgi?id=30713 # Also install the 64 bit version # http://www.microsoft.com/en-us/download/details.aspx?id=13523 w_download http://download.microsoft.com/download/A/8/0/A80747C3-41BD-45DF-B505-E9710D2744E0/vcredist_x64.exe 027d0c2749ec5eb21b031f46aee14c905206f482 - w_try_cabextract --directory="$W_TMP" vcredist_x64.exe -F '*.cab' - w_try_cabextract --directory="$W_TMP" "$W_TMP"/vc_red.cab - cp "$W_TMP"/F_CENTRAL_mfc100_x64 "$W_SYSTEM64_DLLS"/mfc100.dll - cp "$W_TMP"/F_CENTRAL_mfc100u_x64 "$W_SYSTEM64_DLLS"/mfc100u.dll - cp "$W_TMP"/F_CENTRAL_msvcr100_x64 "$W_SYSTEM64_DLLS"/msvcr100.dll - cp "$W_TMP"/F_CENTRAL_msvcp100_x64 "$W_SYSTEM64_DLLS"/msvcp100.dll - cp "$W_TMP"/F_CENTRAL_vcomp100_x64 "$W_SYSTEM64_DLLS"/vcomp100.dll - cp "$W_TMP"/F_CENTRAL_atl100_x64 "$W_SYSTEM64_DLLS"/atl100.dll + if w_workaround_wine_bug 30713 "Manually extracting the 64-bit dlls" + then + w_try_cabextract --directory="$W_TMP" vcredist_x64.exe -F '*.cab' + w_try_cabextract --directory="$W_TMP" "$W_TMP"/vc_red.cab + cp "$W_TMP"/F_CENTRAL_mfc100_x64 "$W_SYSTEM64_DLLS"/mfc100.dll + cp "$W_TMP"/F_CENTRAL_mfc100u_x64 "$W_SYSTEM64_DLLS"/mfc100u.dll + cp "$W_TMP"/F_CENTRAL_msvcr100_x64 "$W_SYSTEM64_DLLS"/msvcr100.dll + cp "$W_TMP"/F_CENTRAL_msvcp100_x64 "$W_SYSTEM64_DLLS"/msvcp100.dll + cp "$W_TMP"/F_CENTRAL_vcomp100_x64 "$W_SYSTEM64_DLLS"/vcomp100.dll + cp "$W_TMP"/F_CENTRAL_atl100_x64 "$W_SYSTEM64_DLLS"/atl100.dll + else + w_try "$WINE" vcredist_x64.exe $W_UNATTENDED_SLASH_Q + fi ;; esac } @@ -6744,9 +7095,9 @@ load_vjrun20() if [ $W_UNATTENDED_SLASH_Q ] then - w_try $WINE "$W_CACHE"/vjrun20/vjredist.exe /q /C:"install /QNT" + w_try "$WINE" "$W_CACHE"/vjrun20/vjredist.exe /q /C:"install /QNT" else - w_try $WINE "$W_CACHE"/vjrun20/vjredist.exe + w_try "$WINE" "$W_CACHE"/vjrun20/vjredist.exe fi } @@ -6780,7 +7131,7 @@ load_windowscodecs() else TASKSET="" fi - w_try $TASKSET $WINE wic_x86_enu.exe /passive + w_try $TASKSET "$WINE" wic_x86_enu.exe /passive } #---------------------------------------------------------------- @@ -6842,7 +7193,7 @@ load_wmi() w_override_dlls native,builtin wbemprox wmiutils # Note: there is a crash in the background towards the end, doesn't seem to hurt; see http://bugs.winehq.org/show_bug.cgi?id=7920 cd "$W_CACHE"/wmi - w_try $WINE wmi9x.exe $W_UNATTENDED_SLASH_S + w_try "$WINE" wmi9x.exe $W_UNATTENDED_SLASH_S w_unset_winver } @@ -6866,7 +7217,7 @@ load_wsh56js() w_override_dlls native,builtin jscript # setupapi looks at the versions in new and original jscript.dll, and wine's original is newer than wsh56js's, so have to nuke the original w_try rm "$W_SYSTEM32_DLLS/jscript.dll" - w_try $WINE Windows2000-KB917344-56-x86-enu.exe $W_UNATTENDED_SLASH_Q + w_try "$WINE" Windows2000-KB917344-56-x86-enu.exe $W_UNATTENDED_SLASH_Q } #---------------------------------------------------------------- @@ -6889,7 +7240,7 @@ load_wsh56vb() w_override_dlls native,builtin vbscript # setupapi looks at the versions in new and original vbscript.dll, and wine's original is newer than wsh56vb's, so have to nuke the original w_try rm "$W_SYSTEM32_DLLS/vbscript.dll" - w_try $WINE vbs56men.exe $W_UNATTENDED_SLASH_Q + w_try "$WINE" vbs56men.exe $W_UNATTENDED_SLASH_Q } #---------------------------------------------------------------- @@ -7024,6 +7375,7 @@ load_xmllite() case $LANG in en*) w_download http://download.microsoft.com/download/f/9/6/f964059a-3747-4ed8-9326-ba1e639031b1/WindowsXP-KB915865-v11-x86-ENU.exe 226d246a1c64e693791de5c727509002d089b0d5 ;; fr*) w_download http://download.microsoft.com/download/4/1/d/41de58a0-6715-4d3e-99e7-ff0c11283d1b/WindowsXP-KB915865-v11-x86-FRA.exe abb70b6a96be7dce453b00877739e90c6f3efba0 ;; + de*) w_download http://download.microsoft.com/download/9/b/6/9b67efdb-cce3-4247-a2e0-386673859a1b/WindowsXP-KB915865-v11-x86-DEU.exe a03a325815acf9d624db58ab94a140a5586e64c8 ;; *) w_die "sorry, xmllite install not yet implemented for language $LANG" ;; esac @@ -7043,8 +7395,9 @@ load_xmllite() cd "$W_CACHE"/xmllite w_override_dlls native xmllite case $LANG in - en*) w_try $WINE WindowsXP-KB915865-v11-x86-ENU.exe $W_UNATTENDED_SLASH_Q ;; - fr*) w_try $WINE WindowsXP-KB915865-v11-x86-FRA.exe $W_UNATTENDED_SLASH_Q ;; + en*) w_try "$WINE" WindowsXP-KB915865-v11-x86-ENU.exe $W_UNATTENDED_SLASH_Q ;; + fr*) w_try "$WINE" WindowsXP-KB915865-v11-x86-FRA.exe $W_UNATTENDED_SLASH_Q ;; + de*) w_try "$WINE" WindowsXP-KB915865-v11-x86-DEU.exe $W_UNATTENDED_SLASH_Q ;; esac } @@ -7063,7 +7416,7 @@ load_xna31() w_call dotnet20sp2 w_download http://download.microsoft.com/download/5/9/1/5912526C-B950-4662-99B6-119A83E60E5C/xnafx31_redist.msi bdd33b677c9576a63ff2a6f65e12c0563cc116e6 cd "$W_CACHE"/xna31 - w_try $WINE msiexec ${W_OPT_UNATTENDED:+/quiet} /i $file1 + w_try "$WINE" msiexec ${W_OPT_UNATTENDED:+/quiet} /i $file1 } #---------------------------------------------------------------- @@ -7083,7 +7436,7 @@ load_xna40() # http://www.microsoft.com/en-us/download/details.aspx?id=20914 w_download http://download.microsoft.com/download/A/C/2/AC2C903B-E6E8-42C2-9FD7-BEBAC362A930/xnafx40_redist.msi 49efdc29f65fc8263c196338552c7009fc96c5de cd "$W_CACHE"/xna40 - w_try $WINE msiexec ${W_OPT_UNATTENDED:+/quiet} /i $file1 + w_try "$WINE" msiexec ${W_OPT_UNATTENDED:+/quiet} /i $file1 } #---------------------------------------------------------------- @@ -7105,7 +7458,7 @@ load_xvid() then w_call vcrun2008 fi - w_try $WINE $file1 ${W_OPT_UNATTENDED:+ --mode unattended --decode_divx 1 --decode_3ivx 1 --decode_other 1} + w_try "$WINE" $file1 ${W_OPT_UNATTENDED:+ --mode unattended --decode_divx 1 --decode_3ivx 1 --decode_other 1} } #---------------------------------------------------------------- @@ -7152,6 +7505,50 @@ load_cjkfonts() #---------------------------------------------------------------- +w_metadata cambria fonts \ + title="MS Cambria font" \ + publisher="Microsoft" \ + year="2009" \ + media="download" \ + file1="PowerPointViewer.exe" \ + installed_file1="$W_FONTSDIR_WIN/cambria.ttc" + +load_cambria() +{ + # http://www.microsoft.com/en-us/download/details.aspx?id=13 + w_download_to consolas http://download.microsoft.com/download/E/6/7/E675FFFC-2A6D-4AB0-B3EB-27C9F8C8F696/PowerPointViewer.exe ab48a8ebac88219c84f293c6c1e81f1a0f420da6 + w_try_cabextract -d "$W_TMP" -L -F ppviewer.cab "$W_CACHE"/consolas/PowerPointViewer.exe + w_try_cabextract -d "$W_FONTSDIR_UNIX" -L -F 'CAMBRIA*.TT*' "$W_TMP"/ppviewer.cab + w_register_font cambria.ttc "Cambria" + w_register_font cambriab.ttf "Cambria Bold" + w_register_font cambriai.ttf "Cambria Italic" + w_register_font cambriaz.ttf "Cambria Bold Italic" +} + +#---------------------------------------------------------------- + +w_metadata constantia fonts \ + title="MS Constantia font" \ + publisher="Microsoft" \ + year="2009" \ + media="download" \ + file1="PowerPointViewer.exe" \ + installed_file1="$W_FONTSDIR_WIN/constan.ttf" + +load_constantia() +{ + # http://www.microsoft.com/en-us/download/details.aspx?id=13 + w_download_to consolas http://download.microsoft.com/download/E/6/7/E675FFFC-2A6D-4AB0-B3EB-27C9F8C8F696/PowerPointViewer.exe ab48a8ebac88219c84f293c6c1e81f1a0f420da6 + w_try_cabextract -d "$W_TMP" -L -F ppviewer.cab "$W_CACHE"/consolas/PowerPointViewer.exe + w_try_cabextract -d "$W_FONTSDIR_UNIX" -L -F 'CONSTAN*.TTF' "$W_TMP"/ppviewer.cab + w_register_font constan.ttf "Constantia" + w_register_font constanb.ttf "Constantia Bold" + w_register_font constani.ttf "Constantia Italic" + w_register_font constanz.ttf "Constantia Bold Italic" +} + +#---------------------------------------------------------------- + w_metadata consolas fonts \ title="MS Consolas Console font" \ publisher="Microsoft" \ @@ -7213,7 +7610,7 @@ load_corefonts() # w_try_cabextract --directory="$W_TMP" "$W_CACHE"/corefonts/andale32.exe # Display EULA - test x"$W_UNATTENDED_SLASH_Q" = x"" || w_try $WINE "$W_CACHE"/corefonts/arial32.exe $W_UNATTENDED_SLASH_Q + test x"$W_UNATTENDED_SLASH_Q" = x"" || w_try "$WINE" "$W_CACHE"/corefonts/arial32.exe $W_UNATTENDED_SLASH_Q w_try_cabextract -q --directory="$W_TMP" "$W_CACHE"/corefonts/arial32.exe w_try cp -f "$W_TMP"/Arial*.TTF "$W_FONTSDIR_UNIX" @@ -7302,10 +7699,10 @@ load_droid() do_droid DroidSansJapanese.ttf "Droid Sans Japanese" b3a248c11692aa88a30eb25df425b8910fe05dc5 do_droid DroidSansMono.ttf "Droid Sans Mono" 133fb6cf26ea073b456fb557b94ce8c46143b117 do_droid DroidSans.ttf "Droid Sans" 62f2841f61e4be66a0303cd1567ed2d300b4e31c - do_droid DroidSerif-BoldItalic.ttf "Droid Serif Bold Italic" b7f2d37c3a062be671774ff52f4fd95cbef813ce - do_droid DroidSerif-Bold.ttf "Droid Serif Bold" 294fa99ceaf6077ab633b5a7c7db761e2f76cf8c - do_droid DroidSerif-Italic.ttf "Droid Serif Italic" bdd8aad5e6ac546d11e7378bdfabeac7ccbdadfc - do_droid DroidSerif-Regular.ttf "Droid Serif" 805c5f975e02f488fa1dd1dd0d44ed4f93b0fab4 + do_droid DroidSerif-BoldItalic.ttf "Droid Serif Bold Italic" 41ce5fef1bd0164caed6958885d7285c841c95f1 + do_droid DroidSerif-Bold.ttf "Droid Serif Bold" 2775e9b8e96a3e9593acb5cf6923abb2e6008187 + do_droid DroidSerif-Italic.ttf "Droid Serif Italic" e91cc6c1ae9a6699683bcee024551cb58d1be790 + do_droid DroidSerif-Regular.ttf "Droid Serif" a689ce25a4063cf501c12d616f832f2235b5b93b } #---------------------------------------------------------------- @@ -7353,14 +7750,19 @@ load_fakechinese() { w_call wenquanyi # Loads Wenquanyi fonts and sets aliases for Microsoft Chinese fonts - # Aliases to set: - # Microsoft JhengHei --> WenQuanYi Micro Hei - # Microsoft YaHei --> WenQuanYi Micro Hei - # SimHei --> WenQuanYi Micro Hei + # Reference : http://en.wikipedia.org/wiki/List_of_Microsoft_Windows_fonts w_register_font_replacement "Microsoft JhengHei" "WenQuanYi Micro Hei" w_register_font_replacement "Microsoft YaHei" "WenQuanYi Micro Hei" w_register_font_replacement "SimHei" "WenQuanYi Micro Hei" + w_register_font_replacement "DFKai-SB" "WenQuanYi Micro Hei" + w_register_font_replacement "FangSong" "WenQuanYi Micro Hei" + w_register_font_replacement "KaiTi" "WenQuanYi Micro Hei" + w_register_font_replacement "PMingLiU" "WenQuanYi Micro Hei" + w_register_font_replacement "MingLiU" "WenQuanYi Micro Hei" + w_register_font_replacement "NSimSun" "WenQuanYi Micro Hei" + w_register_font_replacement "SimKai" "WenQuanYi Micro Hei" + w_register_font_replacement "SimSun" "WenQuanYi Micro Hei" } #---------------------------------------------------------------- @@ -7694,18 +8096,17 @@ load_allfonts() w_metadata 7zip apps \ title="7-Zip" \ publisher="Igor Pavlov" \ - year="1999" \ + year="2010" \ media="download" \ - file1="7z465.exe" \ - installed_exe1="$W_PROGRAMS_X86_WIN/7-Zip/7z.exe" + file1="7z920.exe" \ + installed_exe1="$W_PROGRAMS_X86_WIN/7-Zip/7zFM.exe" load_7zip() { - # FIXME: use more up to date version - w_download http://downloads.sourceforge.net/project/sevenzip/7-Zip/4.65/7z465.exe c36012e960fa3932cd23f30ac5b0fe722740243a - cd "$W_CACHE"/7zip - w_try $WINE 7z465.exe $W_UNATTENDED_SLASH_S - w_declare_exe "$W_PROGRAMS_X86_WIN\\7-Zip" "7z.exe" + w_download http://downloads.sourceforge.net/project/sevenzip/7-Zip/9.20/7z920.exe 55283ad59439134673fc32fc097bdd9ae920fbc6 + cd "$W_CACHE/$W_PACKAGE" + w_try "$WINE" 7z920.exe $W_UNATTENDED_SLASH_S + w_declare_exe "$W_PROGRAMS_X86_WIN\\7-Zip" "7zFM.exe" } #---------------------------------------------------------------- @@ -7722,7 +8123,7 @@ load_abiword() { w_download http://www.abisource.com/downloads/abiword/2.8.6/Windows/abiword-setup-2.8.6.exe a91acd3f60e842d23556032d34f1600602768318 cd "$W_CACHE"/abiword - w_try $WINE abiword-setup-2.8.6.exe $W_UNATTENDED_SLASH_S + w_try "$WINE" abiword-setup-2.8.6.exe $W_UNATTENDED_SLASH_S w_declare_exe "$W_PROGRAMS_X86_WIN\\AbiWord\\bin" AbiWord.exe } @@ -7741,7 +8142,7 @@ load_adobe_diged() { w_download http://kb2.adobe.com/cps/403/kb403051/attachments/setup.exe 4c79685408fa6ca12ef8bb0e0eaa4a846e21f915 # NSIS installer - w_try $WINE "$W_CACHE"/$W_PACKAGE/setup.exe ${W_OPT_UNATTENDED:+ /S} + w_try "$WINE" "$W_CACHE"/$W_PACKAGE/setup.exe ${W_OPT_UNATTENDED:+ /S} w_declare_exe "$W_PROGRAMS_X86_WIN\\Adobe\\Adobe Digital Editions" \ digitaleditions.exe } @@ -7827,7 +8228,7 @@ load_autohotkey() W_BROWSERAGENT=1 \ w_download http://www.autohotkey.com/download/AutoHotkey104805_Install.exe 13e5a9ca6d5b7705f1cd02560c3af4d38b1904fc cd "$W_CACHE"/autohotkey - w_try $WINE AutoHotkey104805_Install.exe $W_UNATTENDED_SLASH_S + w_try "$WINE" AutoHotkey104805_Install.exe $W_UNATTENDED_SLASH_S } #---------------------------------------------------------------- @@ -7845,7 +8246,7 @@ load_kobo() { w_download http://download.kobobooks.com/desktop/1/KoboSetup.exe 31a5f5583edf4b716b9feacb857d2170104cabd9 cd "$W_CACHE"/kobo - w_try $WINE $file1 ${W_OPT_UNATTENDED:+ /S} + w_try "$WINE" $file1 ${W_OPT_UNATTENDED:+ /S} w_declare_exe "$W_PROGRAMS_X86_WIN\\Kobo" "Kobo.exe" } @@ -7854,16 +8255,16 @@ load_kobo() w_metadata cmake apps \ title="CMake 2.8" \ publisher="Kitware" \ - year="2011" \ + year="2013" \ media="download" \ - file1="cmake-2.8.6-win32-x86.exe" \ + file1="cmake-2.8.11.2-win32-x86.exe" \ installed_exe1="$W_PROGRAMS_X86_WIN/CMake 2.8/bin/cmake-gui.exe" load_cmake() { - w_download http://www.cmake.org/files/v2.8/cmake-2.8.6-win32-x86.exe 47172b78e5d5f99cf5dc623db309781234153d56 + w_download http://www.cmake.org/files/v2.8/cmake-2.8.11.2-win32-x86.exe d79af5715c0ad48d78bb731cce93b5ad89b16512 cd "$W_CACHE"/cmake - w_try $WINE cmake-2.8.6-win32-x86.exe $W_UNATTENDED_SLASH_S + w_try "$WINE" cmake-2.8.11.2-win32-x86.exe $W_UNATTENDED_SLASH_S w_declare_exe "$W_PROGRAMS_X86_WIN\\CMake 2.8\\bin" "cmake-gui.exe" } @@ -7912,7 +8313,7 @@ load_controlpad() "") quiet="" ;; *) quiet="/qt" esac - w_try $WINE setup $quiet + w_try "$WINE" setup $quiet if ! test -f "$W_SYSTEM32_DLLS"/FM20.DLL then @@ -7924,40 +8325,6 @@ load_controlpad() #---------------------------------------------------------------- -w_metadata cygwin apps \ - title="cygwin" \ - publisher="Red Hat" \ - year="2009" \ - media="download" \ - file1="setup.exe" \ - installed_exe1="C:/cygwin/bin/sh.exe" - -load_cygwin() -{ - if w_workaround_wine_bug 24018 - then - # Wine can't handle current cygwin, so use some random verison of cygwin's setup from mid-2009 - w_download http://kegel.com/cygwin/1.5/setup.exe 5cfb8ebe4f385b0fcffa04d22d607ec75ea05180 - w_warn "Paste in ftp://www.fruitbat.org/pub/cygwin/circa/2009/09/08/111037 as the repo url for now, until bug 21206 is fixed" - # -X option is insecure, but we have to use it because fruitbat.org didn't archive .sig files :-( - _W_cygopts="-X" - else - w_download http://cygwin.com/setup.exe 9a24bcbcf58d8ab25d9e915399c9be51ac1837c3 - _W_cygopts= - fi - - mkdir -p "$W_DRIVE_C"/cygpkgs - # If you happen to have saved your cygpkgs directory, unpack it now - test -f "$W_CACHE/cygwin/cygpkgs.tgz" && (cd "$W_DRIVE_C"; gunzip -dc "$W_CACHE/cygwin/cygpkgs.tgz" | tar -xf -) - # FIXME: automate the base installation - cp "$W_CACHE/cygwin/setup.exe" "$W_DRIVE_C"/cygpkgs - cd "$W_DRIVE_C"/cygpkgs - w_try $WINE setup.exe $_W_cygopts - unset _W_cygopts -} - -#---------------------------------------------------------------- - # dxdiag is a system component that one usually adds to an existing wineprefix, # so it belongs in 'dlls', not apps. w_metadata dxdiag dlls \ @@ -7994,101 +8361,43 @@ load_dxdiag() #---------------------------------------------------------------- -w_metadata firefox35 apps \ - title="Firefox 3.5" \ - publisher="Mozilla" \ - year="2011" \ +w_metadata emu8086 apps \ + title="emu8086" \ + publisher="emu8086.com" \ + year="2013" \ media="download" \ - file1="Firefox Setup 3.5.19.exe" \ - installed_exe1="$W_PROGRAMS_X86_WIN/Mozilla Firefox/firefox.exe" + file1="emu8086.zip" \ + installed_exe1="c:/emu8086/emu8086.exe" -load_firefox35() +load_emu8086() { - w_download "ftp://archive.mozilla.org/pub/mozilla.org/firefox/releases/3.5.19/win32/en-US/Firefox%20Setup%203.5.19.exe" 14c3852e9693b5f17982fa01a0d29f9d1422be79 "$file1" - cd "$W_CACHE"/firefox35 - w_try $WINE "$file1" ${W_OPT_UNATTENDED:+ -ms} - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Mozilla Firefox" firefox.exe -} - -#---------------------------------------------------------------- - -w_metadata firefox36 apps \ - title="Firefox 3.6" \ - publisher="Mozilla" \ - year="2012" \ - media="download" \ - file1="Firefox Setup 3.6.28.exe" \ - installed_exe1="$W_PROGRAMS_X86_WIN/Mozilla Firefox/firefox.exe" - -load_firefox36() -{ - w_download "ftp://ftp.mozilla.org/pub/firefox/releases/3.6.28/win32/en-US/Firefox%20Setup%203.6.28.exe" 3657287c2cff34f5edc237de954a9cc6f2ca465a "$file1" - cd "$W_CACHE"/firefox36 - w_try $WINE "$file1" ${W_OPT_UNATTENDED:+ -ms} - - if w_workaround_wine_bug 29077 - then - w_warn "Visit about:config, search for dom.ipc, and set those booleans false if you want to use flash." - fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Mozilla Firefox" firefox.exe -} - -#---------------------------------------------------------------- - -w_metadata firefox5 apps \ - title="Firefox 5" \ - publisher="Mozilla" \ - year="2011" \ - media="download" \ - file1="Firefox Setup 5.0.exe" \ - installed_exe1="$W_PROGRAMS_X86_WIN/Mozilla Firefox/firefox.exe" - -load_firefox5() -{ - if w_workaround_wine_bug 22972 "" 1.3.0, - then - w_die "Requires wine-1.3.0 or later to install" - fi - - if w_workaround_wine_bug 29077 - then - w_warn "Visit about:config, search for dom.ipc, and set those booleans false if you want to use flash." - fi - - w_download "ftp://ftp.mozilla.org/pub/firefox/releases/5.0/win32/en-US/Firefox%20Setup%205.0.exe" 288895db0a58b91801c5c1dfc0017131300dba00 "$file1" - cd "$W_CACHE"/firefox5 - w_try $WINE "$file1" ${W_OPT_UNATTENDED:+ -ms} - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Mozilla Firefox" firefox.exe + w_download http://emu8086.com/emu8086.zip fa3b2451cbc46fd2e3aa2670fa4d81ae8e75c7db + cd "$W_CACHE/$W_PACKAGE" + w_try_unzip $file1 -d "$W_TMP" + w_try "$WINE" "$W_TMP/Setup.exe" $W_UNATTENDED_SLASH_SILENT + w_declare_exe "c:\\emu8086" "emu8086.exe" } #---------------------------------------------------------------- w_metadata firefox apps \ - title="Firefox 11" \ + title="Firefox 24" \ publisher="Mozilla" \ - year="2012" \ + year="2013" \ media="download" \ - file1="Firefox Setup 11.0.exe" \ + file1="Firefox Setup 24.0.exe" \ installed_exe1="$W_PROGRAMS_X86_WIN/Mozilla Firefox/firefox.exe" load_firefox() { - if w_workaround_wine_bug 22972 "" 1.3.0, - then - w_die "Requires wine-1.3.0 or later to install" - fi - if w_workaround_wine_bug 29077 then w_warn "Visit about:config, search for dom.ipc, and set those booleans false if you want to use flash." fi - w_download "http://download.mozilla.org/?product=firefox-11.0&os=win&lang=en-US" f6b5d4dfa6f9f16758c6aee0dcb0a20ba0bb27e9 "$file1" + w_download "http://download.mozilla.org/?product=firefox-24.0&os=win&lang=en-US" d6213601b69a606f4537c394dfa0dd7968b17b93 "$file1" cd "$W_CACHE"/firefox - w_try $WINE "$file1" ${W_OPT_UNATTENDED:+ -ms} + w_try "$WINE" "$file1" ${W_OPT_UNATTENDED:+ -ms} w_declare_exe "$W_PROGRAMS_X86_WIN\\Mozilla Firefox" firefox.exe } @@ -8109,7 +8418,7 @@ load_fontxplorer() w_download http://www.moonsoftware.com/files/legacy/Font_Xplorer_122_Free.exe 22feb63be28730cbfad5458b139464490a25a68d cd "$W_CACHE/fontxplorer" - w_try $WINE Font_Xplorer_122_Free.exe $W_UNATTENDED_SLASH_S + w_try "$WINE" Font_Xplorer_122_Free.exe $W_UNATTENDED_SLASH_S w_declare_exe "$W_PROGRAMS_X86_WIN\\Font Xplorer" "FXplorer.exe" } @@ -8205,22 +8514,22 @@ load_ie6() w_download_manual http://www.oldversion.com/download-Internet-Explorer-6.0.html msie60.exe 8e483db28ff01a7cabd39147ab6c59753ea1f533 cd "$W_TMP" - $WINE "$W_CACHE"/ie6/$file1 + "$WINE" "$W_CACHE"/ie6/$file1 w_call msls31 # Unregister Wine IE if [ ! -f "$W_SYSTEM32_DLLS"/plugin.ocx ] then - w_try $WINE iexplore -unregserver + w_try "$WINE" iexplore -unregserver fi # Change the override to the native so we are sure we use and register them - w_override_dlls native,builtin iexplore.exe inetcpl.cpl itircl itss jscript mlang mshtml msimtf shdoclc shdocvw shlwapi urlmon + w_override_dlls native,builtin iexplore.exe inetcpl.cpl itircl itss jscript mlang mshtml msimtf shdoclc shdocvw shlwapi # Remove the fake dlls, if any mv "$W_PROGRAMS_UNIX"/"Internet Explorer"/iexplore.exe "$W_PROGRAMS_UNIX"/"Internet Explorer"/iexplore.exe.bak - for dll in itircl itss jscript mlang mshtml msimtf shdoclc shdocvw shlwapi urlmon + for dll in itircl itss jscript mlang mshtml msimtf shdoclc shdocvw shlwapi do test -f "$W_SYSTEM32_DLLS"/$dll.dll && mv "$W_SYSTEM32_DLLS"/$dll.dll "$W_SYSTEM32_DLLS"/$dll.dll.bak @@ -8244,9 +8553,9 @@ load_ie6() cd "$W_TMP/IE 6.0 Full" if [ $W_UNATTENDED_SLASH_Q ] then - $WINE IE6SETUP.EXE /q:a /r:n /c:"ie6wzd /S:""#e"" /q:a /r:n" + "$WINE" IE6SETUP.EXE /q:a /r:n /c:"ie6wzd /S:""#e"" /q:a /r:n" else - $WINE IE6SETUP.EXE + "$WINE" IE6SETUP.EXE fi # IE6 exits with 194 to signal a reboot @@ -8266,11 +8575,11 @@ load_ie6() msoeacct.dll msrating.dll mstime.dll msxml3.dll occache.dll \ ole32.dll oleaut32.dll olepro32.dll pngfilt.dll quartz.dll \ rpcrt4.dll rsabase.dll rsaenh.dll scrobj.dll scrrun.dll \ - shdocvw.dll shell32.dll urlmon.dll vbscript.dll webcheck.dll \ + shdocvw.dll shell32.dll vbscript.dll webcheck.dll \ wshcon.dll wshext.dll asctrls.ocx hhctrl.ocx mscomct2.ocx \ plugin.ocx proctexe.ocx tdc.ocx webcheck.dll wshom.ocx do - $WINE regsvr32 /i $i > /dev/null 2>&1 + "$WINE" regsvr32 /i $i > /dev/null 2>&1 done # Set windows version back to user's default. Leave at win2k for better rendering (is there a bug for that?) @@ -8292,14 +8601,16 @@ w_metadata ie7 dlls \ load_ie7() { + echo "This fails in about 1 of 30 runs (see bug 26016), just retry if that happens" + # Unregister Wine IE if grep -q -i "wine placeholder" "$W_PROGRAMS_X86_UNIX/Internet Explorer/iexplore.exe" then - w_try $WINE iexplore -unregserver + w_try "$WINE" iexplore -unregserver fi # Change the override to the native so we are sure we use and register them - w_override_dlls native,builtin iexplore.exe itircl itss jscript mshtml msimtf shdoclc shdocvw shlwapi urlmon xmllite + w_override_dlls native,builtin iexplore.exe itircl itss jscript mshtml msimtf shdoclc shdocvw shlwapi urlmon wininet xmllite # Bundled updspapi cannot work on wine w_override_dlls builtin updspapi @@ -8329,21 +8640,27 @@ load_ie7() fi cd "$W_CACHE"/ie7 - # KLUDGE: if / is writable, having a z: mapping to it causes ie7 to put temporary directories on Z:\ + # KLUDGE: if / is writable (as on MacOSX?), having a z: mapping to it + # causes ie7 to put temporary directories on Z:\ # so hide it temporarily. This is not very robust! - rm -f "$WINEPREFIX/dosdevices/z:.bak_wt" - mv "$WINEPREFIX/dosdevices/z:" "$WINEPREFIX/dosdevices/z:.bak_wt" - - # FIXME: can't check status, as it always reports failure on wine? - if w_workaround_wine_bug 21947 + if test -w / then - WINEDEBUG=warn+heap $WINE IE7-WindowsXP-x86-enu.exe $quiet - else - $WINE IE7-WindowsXP-x86-enu.exe $quiet + rm -f "$WINEPREFIX/dosdevices/z:.bak_wt" + mv "$WINEPREFIX/dosdevices/z:" "$WINEPREFIX/dosdevices/z:.bak_wt" fi - # END KLUDGE: restore z:, assuming user didn't kill us - mv "$WINEPREFIX/dosdevices/z:.bak_wt" "$WINEPREFIX/dosdevices/z:" + if w_workaround_wine_bug 21947 "Working around heap corruption (see also bug 26016)" + then + WINEDEBUG=warn+heap "$WINE" IE7-WindowsXP-x86-enu.exe $quiet + else + "$WINE" IE7-WindowsXP-x86-enu.exe $quiet + fi + + if test -w / + then + # END KLUDGE: restore z:, assuming user didn't kill us + mv "$WINEPREFIX/dosdevices/z:.bak_wt" "$WINEPREFIX/dosdevices/z:" + fi # Work around DLL registration bug until ierunonce/RunOnce/wineboot is fixed # FIXME: whittle down this list @@ -8359,17 +8676,17 @@ load_ie7() wshcon.dll wshext.dll asctrls.ocx hhctrl.ocx mscomct2.ocx \ plugin.ocx proctexe.ocx tdc.ocx webcheck.dll wshom.ocx do - $WINE regsvr32 /i $i > /dev/null 2>&1 + "$WINE" regsvr32 /i $i > /dev/null 2>&1 done # Seeing is believing case $WINETRICKS_GUI in none) - w_warn "To start ie7, use the command $WINE '${W_PROGRAMS_WIN}\\\\Internet Explorer\\\\iexplore'" + w_warn "To start ie7, use the command "$WINE" '${W_PROGRAMS_WIN}\\\\Internet Explorer\\\\iexplore'" ;; *) - w_warn "Starting ie7. To start it later, use the command $WINE '${W_PROGRAMS_WIN}\\\\Internet Explorer\\\\iexplore'" - $WINE "${W_PROGRAMS_WIN}\\Internet Explorer\\iexplore" http://www.microsoft.com/windows/internet-explorer/ie7/ > /dev/null 2>&1 & + w_warn "Starting ie7. To start it later, use the command "$WINE" '${W_PROGRAMS_WIN}\\\\Internet Explorer\\\\iexplore'" + "$WINE" "${W_PROGRAMS_WIN}\\Internet Explorer\\iexplore" http://www.microsoft.com/windows/internet-explorer/ie7/ > /dev/null 2>&1 & ;; esac } @@ -8390,19 +8707,19 @@ load_ie8() if grep -q -i "wine placeholder" "$W_PROGRAMS_X86_UNIX/Internet Explorer/iexplore.exe" #if [ ! -f "$W_SYSTEM32_DLLS"/plugin.ocx ] then - w_try $WINE iexplore -unregserver + w_try "$WINE" iexplore -unregserver fi w_call msls31 # Change the override to the native so we are sure we use and register them - w_override_dlls native,builtin iexplore.exe itircl itss jscript msctf mshtml shdoclc shdocvw shlwapi urlmon xmllite + w_override_dlls native,builtin iexplore.exe itircl itss jscript msctf mshtml shdoclc shdocvw shlwapi urlmon wininet xmllite # Bundled updspapi cannot work on wine w_override_dlls builtin updspapi # Remove the fake dlls from the existing WINEPREFIX - for dll in browseui.dll inseng.dll itircl itss jscript msctf mshtml shdoclc shdocvw shlwapi urlmon + for dll in browseui.dll inseng.dll itircl itss jscript msctf mshtml shdoclc shdocvw shlwapi urlmon do test -f "$W_SYSTEM32_DLLS"/$dll.dll && mv "$W_SYSTEM32_DLLS"/$dll.dll "$W_SYSTEM32_DLLS"/$dll.dll.bak @@ -8433,7 +8750,7 @@ load_ie8() # FIXME: There's an option for /updates-noupdates to disable checking for updates, but that # forces the install to fail on Wine. Not sure if it's an IE8 or Wine bug... # FIXME: can't check status, as it always reports failure on wine? - $WINE IE8-WindowsXP-x86-ENU.exe $quiet + "$WINE" IE8-WindowsXP-x86-ENU.exe $quiet # END KLUDGE: restore z:, assuming user didn't kill us mv "$WINEPREFIX/dosdevices/z:.bak_wt" "$WINEPREFIX/dosdevices/z:" @@ -8451,7 +8768,7 @@ load_ie8() wshcon.dll wshext.dll asctrls.ocx hhctrl.ocx mscomct2.ocx \ plugin.ocx proctexe.ocx tdc.ocx uxtheme.dll webcheck.dll wshom.ocx do - $WINE regsvr32 /i $i > /dev/null 2>&1 + "$WINE" regsvr32 /i $i > /dev/null 2>&1 done if w_workaround_wine_bug 25648 "Setting TabProcGrowth=0 to avoid hang" @@ -8469,11 +8786,11 @@ _EOF_ # Seeing is believing case $WINETRICKS_GUI in none) - w_warn "To start ie8, use the command $WINE '${W_PROGRAMS_WIN}\\\\Internet Explorer\\\\iexplore'" + w_warn "To start ie8, use the command "$WINE" '${W_PROGRAMS_WIN}\\\\Internet Explorer\\\\iexplore'" ;; *) - w_warn "Starting ie8. To start it later, use the command $WINE '${W_PROGRAMS_WIN}\\\\Internet Explorer\\\\iexplore'" - $WINE "${W_PROGRAMS_WIN}\\Internet Explorer\\iexplore" http://www.microsoft.com/windows/internet-explorer > /dev/null 2>&1 & + w_warn "Starting ie8. To start it later, use the command "$WINE" '${W_PROGRAMS_WIN}\\\\Internet Explorer\\\\iexplore'" + "$WINE" "${W_PROGRAMS_WIN}\\Internet Explorer\\iexplore" http://www.microsoft.com/windows/internet-explorer > /dev/null 2>&1 & ;; esac } @@ -8483,43 +8800,21 @@ _EOF_ w_metadata mingw apps \ title="Minimalist GNU for Windows, including GCC for Windows" \ publisher="GNU" \ - year="2010-2011" \ + year="2013" \ media="download" \ - file1="binutils-2.21-2-mingw32-bin.tar.lzma" \ + file1="mingw-get-0.6.2-mingw32-beta-20131004-1-bin.tar.xz" \ installed_exe1="c:/MinGW/bin/gcc.exe" \ homepage="http://mingw.org/wiki/Getting_Started" load_mingw() { - w_download $WINETRICKS_SOURCEFORGE/mingw/files/binutils-2.21-2-mingw32-bin.tar.lzma - w_download $WINETRICKS_SOURCEFORGE/mingw/files/gcc-core-4.5.2-1-mingw32-bin.tar.lzma - w_download $WINETRICKS_SOURCEFORGE/mingw/files/libgcc-4.5.2-1-mingw32-dll-1.tar.lzma - w_download $WINETRICKS_SOURCEFORGE/mingw/files/libgmpxx-5.0.1-1-mingw32-dll-4.tar.lzma - w_download $WINETRICKS_SOURCEFORGE/mingw/files/libgmp-5.0.1-1-mingw32-dll-10.tar.lzma - w_download $WINETRICKS_SOURCEFORGE/mingw/files/libmpc-0.8.1-1-mingw32-dll-2.tar.lzma - w_download $WINETRICKS_SOURCEFORGE/mingw/files/libiconv-1.13.1-1-mingw32-dll-2.tar.lzma - w_download $WINETRICKS_SOURCEFORGE/mingw/files/mingwrt-3.18-mingw32-dev.tar.gz - w_download $WINETRICKS_SOURCEFORGE/mingw/files/mingwrt-3.18-mingw32-dll.tar.gz - w_download $WINETRICKS_SOURCEFORGE/mingw/files/libmpfr-2.4.1-1-mingw32-dll-1.tar.lzma - w_download $WINETRICKS_SOURCEFORGE/mingw/files/libpthread-2.8.0-3-mingw32-dll-2.tar.lzma - w_download $WINETRICKS_SOURCEFORGE/mingw/files/w32api-3.15-1-mingw32-dev.tar.lzma - - mkdir "$W_DRIVE_C"/MinGW - cd "$W_DRIVE_C"/MinGW - lzma -d -c "$W_CACHE"/mingw/binutils-2.21-2-mingw32-bin.tar.lzma | tar xf - - gzip -d -c "$W_CACHE"/mingw/mingwrt-3.18-mingw32-dev.tar.gz | tar xf - - gzip -d -c "$W_CACHE"/mingw/mingwrt-3.18-mingw32-dll.tar.gz | tar xf - - lzma -d -c "$W_CACHE"/mingw/w32api-3.15-1-mingw32-dev.tar.lzma | tar xf - - lzma -d -c "$W_CACHE"/mingw/libgmp-5.0.1-1-mingw32-dll-10.tar.lzma | tar xf - - lzma -d -c "$W_CACHE"/mingw/libmpc-0.8.1-1-mingw32-dll-2.tar.lzma | tar xf - - lzma -d -c "$W_CACHE"/mingw/libgmpxx-5.0.1-1-mingw32-dll-4.tar.lzma | tar xf - - lzma -d -c "$W_CACHE"/mingw/libiconv-1.13.1-1-mingw32-dll-2.tar.lzma | tar xf - - lzma -d -c "$W_CACHE"/mingw/libmpfr-2.4.1-1-mingw32-dll-1.tar.lzma | tar xf - - lzma -d -c "$W_CACHE"/mingw/libpthread-2.8.0-3-mingw32-dll-2.tar.lzma | tar xf - - lzma -d -c "$W_CACHE"/mingw/libgcc-4.5.2-1-mingw32-dll-1.tar.lzma | tar xf - - lzma -d -c "$W_CACHE"/mingw/gcc-core-4.5.2-1-mingw32-bin.tar.lzma | tar xf - - + w_download "$WINETRICKS_SOURCEFORGE/mingw/files/$file1" + + w_try mkdir -p "$W_DRIVE_C/MinGW" + w_try tar -C "$W_DRIVE_C/MinGW" -Jxvf "$W_CACHE/mingw/$file1" w_append_path 'C:\MinGW\bin' + w_try "$WINE" mingw-get update + w_try "$WINE" mingw-get install gcc msys-base } #---------------------------------------------------------------- @@ -8582,7 +8877,7 @@ load_nook() # 7 Mar 2012 sha1sum e7060a63b9b303ddd820de762d9df254e1c931bc w_download http://images.barnesandnoble.com/PResources/download/eReader2/bndr2_setup_latest.exe e7060a63b9b303ddd820de762d9df254e1c931bc cd "$W_CACHE"/nook - $WINE $file1 ${W_OPT_UNATTENDED:+ /S} + "$WINE" $file1 ${W_OPT_UNATTENDED:+ /S} # normally has exit status 199? w_declare_exe "$W_PROGRAMS_WIN\\Barnes & Noble\\BNDesktopReader" "BNDReader.exe" } @@ -8681,7 +8976,7 @@ load_office2007pro() __EOF__ - $WINE ${W_ISO_MOUNT_LETTER}:setup.exe /config "$W_TMP_WIN"\\config.xml + "$WINE" ${W_ISO_MOUNT_LETTER}:setup.exe /config "$W_TMP_WIN"\\config.xml status=$? case $status in @@ -8697,7 +8992,7 @@ $W_CACHE/$W_PACKAGE/key.txt and rerun." esac else - w_try $WINE ${W_ISO_MOUNT_LETTER}:setup.exe + w_try "$WINE" ${W_ISO_MOUNT_LETTER}:setup.exe fi w_declare_exe "$W_PROGRAMS_X86_WIN\\Microsoft Office\\Office12" WINWORD.EXE word2007 @@ -8723,7 +9018,7 @@ load_opera() { w_download ftp://ftp.opera.com/pub/opera/win/1150/en/Opera_1150_en_Setup.exe df50c7aed50e92af858e8834f833dd0543014b46 cd "$W_CACHE"/$W_PACKAGE - w_try $WINE $file1 ${W_OPT_UNATTENDED:+ /silent /launchopera 0 /allusers} + w_try "$WINE" $file1 ${W_OPT_UNATTENDED:+ /silent /launchopera 0 /allusers} w_declare_exe "$W_PROGRAMS_X86_WIN\\Opera" opera.exe } @@ -8748,14 +9043,14 @@ load_psdk2003() # Only the windows version of 7z can handle .img files? WINETRICKS_OPT_SHAREDPREFIX=1 w_call 7zip cd "$W_PROGRAMS_X86_UNIX"/7-Zip - w_try $WINE 7z.exe x -y -o"$W_TMP_WIN" "$W_CACHE_WIN\\psdk2003\\5.2.3790.1830.15.PlatformSDK_Svr2003SP1_rtm.img" + w_try "$WINE" 7z.exe x -y -o"$W_TMP_WIN" "$W_CACHE_WIN\\psdk2003\\5.2.3790.1830.15.PlatformSDK_Svr2003SP1_rtm.img" cd "$W_TMP/Setup" # Sanity check... w_verify_sha1sum 6376ab5394226f426366d0646bf244d26156697b PSDK-x86.msi - w_try $WINE msiexec /i PSDK-x86.msi ${W_OPT_UNATTENDED:+/qb} + w_try "$WINE" msiexec /i PSDK-x86.msi ${W_OPT_UNATTENDED:+/qb} } #---------------------------------------------------------------- @@ -8786,7 +9081,7 @@ load_psdkwin7() then w_warn "When given a choice, select only C++ compilers and headers, the other options don't work yet. See http://bugs.winehq.org/show_bug.cgi?id=21596" fi - w_try $WINE winsdk_web.exe + w_try "$WINE" winsdk_web.exe if w_workaround_wine_bug 21362 then @@ -8811,7 +9106,7 @@ _EOF_ #---------------------------------------------------------------- -w_metadata python26 apps \ +w_metadata python26 dlls \ title="Python Interpreter, version 2.6.2" \ publisher="Python Software Foundaton" \ year="2009" \ @@ -8823,8 +9118,14 @@ load_python26() { w_download http://www.python.org/ftp/python/2.6.2/python-2.6.2.msi 2d1503b0e8b7e4c72a276d4d9027cf4856b208b8 w_download $WINETRICKS_SOURCEFORGE/project/pywin32/pywin32/Build%20214/pywin32-214.win32-py2.6.exe eca58f29b810d8e3e7951277ebb3e35ac35794a3 + + if [ "$WINETRICKS_WINE_VERSION" = "wine-1.4.1" ] + then + w_die "This installer is broken under $WINETRICKS_WINE_VERSION. Please upgrade Wine. See https://code.google.com/p/winetricks/issues/detail?id=347 for more info." + fi + cd "$W_CACHE"/python26 - w_try $WINE msiexec /i python-2.6.2.msi ALLUSERS=1 $W_UNATTENDED_SLASH_Q + w_try "$WINE" msiexec /i python-2.6.2.msi ALLUSERS=1 $W_UNATTENDED_SLASH_Q w_ahk_do " SetTitleMatchMode, 2 @@ -8845,7 +9146,7 @@ load_python26() #---------------------------------------------------------------- -w_metadata python26_comtypes apps \ +w_metadata python26_comtypes dlls \ title="Comtypes 0.6.2 for Python 2.6" \ publisher="theller" \ year="2010" \ @@ -8863,7 +9164,7 @@ load_python26_comtypes() cd "$W_TMP" w_try_unzip "$W_CACHE/$W_PACKAGE"/comtypes-0.6.2.zip cd comtypes-0.6.2 - w_try $WINE "C:\Python26\python.exe" setup.py install + w_try "$WINE" "C:\Python26\python.exe" setup.py install } #---------------------------------------------------------------- @@ -8952,9 +9253,9 @@ _EOF_ if test $W_OPT_UNATTENDED then w_warn "Safari's silent install is broken under wine. See http://bugs.winehq.org/show_bug.cgi?id=23493. You should do a regular install if you want to use Safari." - w_try $WINE SafariSetup.exe /qn + w_try "$WINE" SafariSetup.exe /qn else - w_try $WINE SafariSetup.exe + w_try "$WINE" SafariSetup.exe fi w_declare_exe "$W_PROGRAMS_X86_WIN\\Safari" "Safari.exe" @@ -9034,7 +9335,7 @@ load_songbird() http://getsongbird.com/system-requirements.php Songbird_1.10.1-2160_windows-i686-msvc8.exe \ 3939988180e1bfba3f28ff5720942cbbc20b7fbf cd "$W_CACHE/songbird" - w_try $WINE $file1 ${W_OPT_UNATTENDED:+ /S} + w_try "$WINE" $file1 ${W_OPT_UNATTENDED:+ /S} w_declare_exe "$W_PROGRAMS_X86_WIN\\Songbird" songbird.exe } @@ -9063,7 +9364,7 @@ load_steam() w_call corefonts fi - w_try $WINE msiexec /i SteamInstall.msi $W_UNATTENDED_SLASH_Q + w_try "$WINE" msiexec /i SteamInstall.msi $W_UNATTENDED_SLASH_Q # Not all users need this disabled, but let's play it safe for now if w_workaround_wine_bug 22053 "Disabling gameoverlayrenderer to prevent game crashes on some machines." @@ -9093,11 +9394,15 @@ load_uplay() { # 4 June 2013 3.0.1 sha1sum fdb9e736b5b2211fb23b35d30d52deae6f4b32a4 # 1 July 2013 3.1.0 sha1sum 21a7f469534dd1463eaaab6b2be2fa9084bceea2 - w_download http://static3.cdn.ubi.com/orbit/launcher_installer/UplayInstaller.exe 21a7f469534dd1463eaaab6b2be2fa9084bceea2 + # 11 Nov 2013 4.0 sha1sum 52e287f9f78313e4713d2f070b15734410da0c5a + # 26 Dec 2013 4.2 sha1sum ada2c11ee62eee19f8b1661bd974862e336623c6 + # 16 Feb 2014 ? sha1sum 19f98632ad1ff330c647f8ff1a3a15b44238c709 + # Changes too frequently, don't check anymore + w_download http://static3.cdn.ubi.com/orbit/launcher_installer/UplayInstaller.exe cd "$W_CACHE"/uplay # NSIS installer - w_try $WINE UplayInstaller.exe ${W_OPT_UNATTENDED:+ /S} + w_try "$WINE" UplayInstaller.exe ${W_OPT_UNATTENDED:+ /S} if w_workaround_wine_bug 33742 "Using native crypt32 so uplay's autoupdater doesn't abort" then @@ -9168,7 +9473,7 @@ load_utorrent3() cd "$W_CACHE/$W_PACKAGE" # If you don't use /PERFORMINSTALL, it just runs uTorrent # FIXME: That's no longer a quiet option, though.. - $WINE $file1 /PERFORMINSTALL /NORUN + "$WINE" $file1 /PERFORMINSTALL /NORUN # dang installer exits with status 1 on success status=$? @@ -9212,14 +9517,14 @@ load_vc2005express() chmod +x Ixpvc.exe # Add /qn after ReallySuppress for a really silent install (but then you won't see any errors) - w_try $WINE Ixpvc.exe /t:"$W_TMP_WIN" /q:a /c:"msiexec /i vcsetup.msi VSEXTUI=1 ADDLOCAL=ALL REBOOT=ReallySuppress" + w_try "$WINE" Ixpvc.exe /t:"$W_TMP_WIN" /q:a /c:"msiexec /i vcsetup.msi VSEXTUI=1 ADDLOCAL=ALL REBOOT=ReallySuppress" else if w_workaround_wine_bug 25331 then w_warn "Install fails with wine older than 1.1.35. With wine-1.3.5 or higher, interactive install fails, but quiet mode (-q option) may work." fi - w_try $WINE setup.exe + w_try "$WINE" setup.exe w_ahk_do " SetTitleMatchMode, 2 WinWait, Visual C++ 2005 Express Edition Setup @@ -9268,7 +9573,7 @@ load_vc2005trial() # Only the windows version of 7z can handle .img files? WINETRICKS_OPT_SHAREDPREFIX=1 w_call 7zip cd "$W_PROGRAMS_X86_UNIX"/7-Zip - w_try $WINE 7z.exe x -y -o"$W_TMP_WIN" "$W_CACHE_WIN\\vc2005trial\\En_vs_2005_vsts_180_Trial.img" + w_try "$WINE" 7z.exe x -y -o"$W_TMP_WIN" "$W_CACHE_WIN\\vc2005trial\\En_vs_2005_vsts_180_Trial.img" cd "$W_TMP" @@ -9324,13 +9629,61 @@ load_vc2008express() cd VCExpress # See also http://blogs.msdn.com/b/astebner/archive/2008/04/25/8425198.aspx - w_try $WINE setup.exe $W_UNATTENDED_SLASH_Q + w_try "$WINE" setup.exe $W_UNATTENDED_SLASH_Q w_declare_exe "$W_PROGRAMS_X86_WIN\\Microsoft Visual Studio 9.0\\Common7\\IDE" "VCExpress.exe" } #---------------------------------------------------------------- +w_metadata vc2010express apps \ + title="MS Visual C++ 2010 Express" \ + publisher="Microsoft" \ + year="2010" \ + media="download" \ + file1="VS2010Express1.iso" \ + installed_exe1="$W_PROGRAMS_X86_WIN/Microsoft Visual Studio 10.0/Common7/IDE/VCExpress.exe" + +load_vc2010express() +{ + if w_workaround_wine_bug 32654 "Installing windows codecs to work around startup crash" + then + w_call windowscodecs + fi + if w_workaround_wine_bug 32280 "Replacing mono with dotnet40 to avoid fatal 'Unknown Error'" + then + # "w_call remove_mono" might suffice + w_call dotnet40 + fi + + w_download http://download.microsoft.com/download/1/E/5/1E5F1C0A-0D5B-426A-A603-1798B951DDAE/VS2010Express1.iso adef5e361a1f64374f520b9a2d03c54ee43721c6 + + # Unpack ISO + cd "$W_TMP" + w_try_7z x "$W_CACHE"/vc2010express/VS2010Express1.iso + cd VCExpress + + # dotnet40 leaves winver at win2k, which causes vc2010 to abort on + # start because it looks for c:\users\$LOGNAME\Application Data + w_set_winver winxp + + if w_workaround_wine_bug 12501 "Installing mspatcha to work around bug in SQL Server install" + then + w_call mspatcha + fi + + if w_workaround_wine_bug 34627 "Installing Visual C++ 2005 managed runtime to work around bug in SQL Server install" + then + w_call vcrun2005 + fi + + w_try $WINE setup.exe $W_UNATTENDED_SLASH_Q + + w_declare_exe "$W_PROGRAMS_X86_WIN\\Microsoft Visual Studio 10.0\\Common7\\IDE" "VCExpress.exe" +} + +#---------------------------------------------------------------- + w_metadata vlc apps \ title="VLC media player" \ publisher="videolan.org" \ @@ -9344,7 +9697,7 @@ load_vlc() { w_download $WINETRICKS_SOURCEFORGE/vlc/vlc-1.1.9-win32.exe 7128f6e43d6550fcc2574b9c82c5153ff47efcf6 cd "$W_CACHE"/vlc - w_try $WINE $file1 ${W_OPT_UNATTENDED:+ /S} + w_try "$WINE" $file1 ${W_OPT_UNATTENDED:+ /S} w_declare_exe "$W_PROGRAMS_X86_WIN\\VideoLAN\\VLC" vlc.exe } @@ -9441,7 +9794,7 @@ load_wme9() w_download http://download.microsoft.com/download/8/1/f/81f9402f-efdd-439d-b2a4-089563199d47/WMEncoder.exe 7a3f8781f3e5705651992ef0150ee30bc1295116 cd "$W_CACHE"/wme9 - w_try $WINE WMEncoder.exe $W_UNATTENDED_SLASH_Q + w_try "$WINE" WMEncoder.exe $W_UNATTENDED_SLASH_Q w_declare_exe "$W_PROGRAMS_X86_WIN\\Windows Media Components\\Encoder" "wmenc.exe" } @@ -9459,7 +9812,7 @@ load_wm9codecs() w_download_to wm9codecs http://birds.camden.rutgers.edu/WM9Codecs9x.exe 8b76bdcbea0057eb12b7966edab4b942ddacc253 cd "$W_CACHE/wm9codecs" w_set_winver win2k - w_try $WINE WM9Codecs9x.exe $W_UNATTENDED_SLASH_Q + w_try "$WINE" WM9Codecs9x.exe $W_UNATTENDED_SLASH_Q } w_metadata wmp9 dlls \ @@ -9503,11 +9856,11 @@ load_wmp9() # Have to run twice; see http://bugs.winehq.org/show_bug.cgi?id=1886 cd "$W_CACHE"/wmp9 - w_try $WINE MPSetup.exe $W_UNATTENDED_SLASH_Q + w_try "$WINE" MPSetup.exe $W_UNATTENDED_SLASH_Q if w_workaround_wine_bug 1886 "Re-installing since it does not work on the first try." 1.5.23, then - w_try $WINE MPSetup.exe $W_UNATTENDED_SLASH_Q + w_try "$WINE" MPSetup.exe $W_UNATTENDED_SLASH_Q fi load_wm9codecs @@ -9529,6 +9882,11 @@ w_metadata wmp10 dlls \ load_wmp10() { + if [ $W_ARCH = win64 ] + then + w_die "Installer doesn't support 64-bit architecture. Use a 32-bit WINEPREFIX instead." + fi + # FIXME: what versions of windows are really bundled with wmp10? w_skip_windows wmp10 && return @@ -9540,7 +9898,7 @@ load_wmp10() # Crashes on exit, but otherwise ok; see http://bugs.winehq.org/show_bug.cgi?id=12633 cd "$W_CACHE"/wmp10 - w_try $WINE MP10Setup.exe $W_UNATTENDED_SLASH_Q + w_try "$WINE" MP10Setup.exe $W_UNATTENDED_SLASH_Q # Disable WMP's services, since they depend on unimplemented stuff, they trigger the GUI debugger several times w_try_regedit /D "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Cdr4_2K" @@ -10232,7 +10590,7 @@ load_acreedbro() then sed -i "s,Exec=.*,$myexec," "$mymenu" fi - mymenu="$HOME/.local/share/applications/wine/Programs/Ubisoft/Assassin's Creed Brotherhood/Assassin's Creed Brotherhood.desktop" + mymenu="$XDG_DATA_HOME/applications/wine/Programs/Ubisoft/Assassin's Creed Brotherhood/Assassin's Creed Brotherhood.desktop" if test -f "$mymenu" then sed -i "s,Exec=.*,$myexec," "$mymenu" @@ -10933,7 +11291,7 @@ load_cim_demo() #w_download http://www.pcgamestore.com/games/cities-in-motion-nbsp/trial/cim-demo-1-0-8.exe d40408b59bc0e6e33b564e9bbb55dbab6c44c630 w_download_manual http://www.fileplanet.com/218762/210000/fileinfo/Cities-in-Motion-Demo cim-demo-1-0-8.exe d40408b59bc0e6e33b564e9bbb55dbab6c44c630 cd "$W_CACHE/$W_PACKAGE" - w_try $WINE cim-demo-1-0-8.exe ${W_OPT_UNATTENDED:+ /sp- /silent /norestart} + w_try "$WINE" cim-demo-1-0-8.exe ${W_OPT_UNATTENDED:+ /sp- /silent /norestart} w_declare_exe "$W_PROGRAMS_X86_WIN\\Cities In Motion Demo" "Cities In Motion.exe" } @@ -11045,7 +11403,7 @@ load_cod1() WinWait, Insert CD, Please insert the Call of Duty CD 2 " - $WINE eject ${W_ISO_MOUNT_LETTER}: + "$WINE" eject ${W_ISO_MOUNT_LETTER}: w_mount CoD2 w_ahk_do " @@ -11056,7 +11414,7 @@ load_cod1() WinWait, Insert CD, Please insert the Call of Duty CD 1 " - $WINE eject ${W_ISO_MOUNT_LETTER}: + "$WINE" eject ${W_ISO_MOUNT_LETTER}: w_mount CoD1 w_ahk_do " @@ -11078,7 +11436,7 @@ load_cod1() } WinWaitClose " - $WINE eject ${W_ISO_MOUNT_LETTER}: + "$WINE" eject ${W_ISO_MOUNT_LETTER}: if w_workaround_wine_bug 21558 then @@ -11337,7 +11695,7 @@ load_crayonphysics_demo() http://crayonphysicsdeluxe.s3.amazonaws.com/$file1 \ 4ffd64c630f69e7cf024ef946c2c64c8c4ce4eac # Inno Setup installer - w_try $WINE "$W_CACHE/$W_PACKAGE/$file1" ${W_OPT_UNATTENDED:+ /sp- /silent /norestart} + w_try "$WINE" "$W_CACHE/$W_PACKAGE/$file1" ${W_OPT_UNATTENDED:+ /sp- /silent /norestart} w_declare_exe "$W_PROGRAMS_X86_WIN\\Crayon Physics Deluxe Demo" crayon.exe } @@ -13071,7 +13429,7 @@ load_gta_vc() w_declare_exe "$W_PROGRAMS_X86_WIN\\Rockstar Games\\Grand Theft Auto Vice City" gta-vc.exe myexec="Exec=env WINEPREFIX=\"$WINEPREFIX\" wine cmd /c 'C:\\\\\\\\Run-gta_vc.bat'" - mymenu="$HOME/.local/share/applications/wine/Programs/Rockstar Games/Grand Theft Auto Vice City/Play GTA Vice City.desktop" + mymenu="$XDG_DATA_HOME/applications/wine/Programs/Rockstar Games/Grand Theft Auto Vice City/Play GTA Vice City.desktop" if test -f "$mymenu" && w_workaround_wine_bug 26304 "Fixing system menu" then # this is a hack, hopefully the wine bug will be fixed soon @@ -14037,7 +14395,7 @@ load_masseffect2_demo() if w_workaround_wine_bug 6971 "Pointing menu and icon at wine-hotfix-6971 so mouse will work, assuming your X supports XInput2" then w_declare_exe "$W_PROGRAMS_X86_WIN\\Mass Effect 2 Demo\\Binaries" "MassEffect2.EXE" - myexec="Exec=env WINEPREFIX=\"$HOME/.local/share/wineprefixes/masseffect2_demo\" wine-hotfix-6971 cmd /c 'C:\\\\\\Run-masseffect2_demo.bat'" + myexec="Exec=env WINEPREFIX=\"$XDG_DATA_HOME/wineprefixes/masseffect2_demo\" wine-hotfix-6971 cmd /c 'C:\\\\\\Run-masseffect2_demo.bat'" mymenu="$HOME/Desktop/Mass Effect 2 Demo.desktop" me2tries=0 @@ -14057,7 +14415,7 @@ load_masseffect2_demo() # this is a hack, hopefully the wine bug will be fixed soon sed -i "s,Exec=.*,$myexec," "$mymenu" fi - mymenu="$HOME/.local/share/applications/wine/Programs/Mass Effect 2 Demo/Mass Effect 2 Demo.desktop" + mymenu="$XDG_DATA_HOME/applications/wine/Programs/Mass Effect 2 Demo/Mass Effect 2 Demo.desktop" if test -f "$mymenu" then # this is a hack, hopefully the wine bug will be fixed soon @@ -14564,7 +14922,7 @@ load_njcwp_trial() WinWaitClose " else - w_try $WINE $file1 + w_try "$WINE" $file1 fi w_declare_exe "$W_PROGRAMS_X86_WIN\\NJStar Chinese WP" "njstar.exe" } @@ -14601,7 +14959,7 @@ load_njjwp_trial() WinWaitClose " else - w_try $WINE $file1 + w_try "$WINE" $file1 fi w_declare_exe "$W_PROGRAMS_X86_WIN\\NJStar Japanese WP" "njstarj.exe" } @@ -14673,7 +15031,7 @@ load_osmos_demo() w_download http://www.hemispheregames.com/blog/wp-content/uploads/2010/01/OsmosDemo_Installer_1.6.0.exe 4880eb20ff850bf337bbae20455ee90f614e507e cd "$W_CACHE/$W_PACKAGE" - w_try $WINE $file1 ${W_OPT_UNATTENDED:+ /S} + w_try "$WINE" $file1 ${W_OPT_UNATTENDED:+ /S} if w_workaround_wine_bug 24416 "installing C runtime library" 1.3.8, then @@ -14699,7 +15057,7 @@ load_penpenxmas() w_download http://retrospec.sgn.net/download/files/PenPenXmasOlympics100.exe 36ec83cffa0ad3cc19dea33193b54bdaaea6db5b cd "$W_CACHE/$W_PACKAGE" - $WINE PenPenXmasOlympics100.exe $W_UNATTENDED_SLASH_S + "$WINE" PenPenXmasOlympics100.exe $W_UNATTENDED_SLASH_S w_declare_exe "$W_PROGRAMS_X86_WIN\\PPO" "PPO.exe" } @@ -14850,6 +15208,68 @@ load_puzzleagent_demo() #---------------------------------------------------------------- +w_metadata qq2012 apps \ + title="QQ 2012 (Chinese chat app)" \ + publisher="Tencent" \ + year="2012" \ + media="download" \ + file1="QQ2012.exe" \ + installed_exe1="$W_PROGRAMS_X86_WIN/Tencent/QQ/Bin/QQ.exe" \ + homepage="http://www.qq.com" \ + unattended="no" + +load_qq2012() +{ + w_download http://dl_dir.qq.com/qqfile/qq/QQ2012/QQ2012.exe ea20cd09390588ea0943e0d0f9af56544a4cac4f + cd "$W_CACHE/$W_PACKAGE" + if w_workaround_wine_bug 29636 "Installing native riched20 to work around crash bug" + then + w_call riched20 + fi + if w_workaround_wine_bug 34567 "Installing vcrun2005 to avoid installer crash" + then + w_call vcrun2005 + fi + # Make sure chinese fonts are available + w_call cjkfonts + w_try "$WINE" "$file1" + w_declare_exe "$W_PROGRAMS_X86_WIN\\Tencent\\QQ\\Bin" QQ.exe +} + +#---------------------------------------------------------------- + +w_metadata qqintl apps \ + title="QQ International Instant Messenger 2.0" \ + publisher="Tencent" \ + year="2013" \ + media="download" \ + file1="QQIntl2.0.exe" \ + installed_exe1="$W_PROGRAMS_X86_WIN/Tencent/QQIntl/Bin/QQ.exe" \ + homepage="http://www.imqq.com" \ + unattended="no" + +load_qqintl() +{ + w_download http://proxy.imqq.com/QQIntl2.0.exe e9a335b265544a77ae470d6f3a3fca0de25a6cb5 + cd "$W_CACHE/$W_PACKAGE" + if w_workaround_wine_bug 33086 "Installing native riched20 to allow typing in username" + then + w_call riched20 + fi + if w_workaround_wine_bug 34566 "Installing native ctf to work around crash" + then + w_call msctf + fi + if w_workaround_wine_bug 30083 "Installing native ie7 to avoid crash in settings and other dialogs" + then + w_call ie7 + fi + w_try "$WINE" "$file1" + w_declare_exe "$W_PROGRAMS_X86_WIN\\Tencent\\QQIntl\\Bin" QQ.exe +} + +#---------------------------------------------------------------- + w_metadata ragnarok games \ title="Ragnarok" \ publisher="GRAVITY" \ @@ -15018,7 +15438,7 @@ load_rayman2_demo() # this is a hack, hopefully the wine bug will be fixed soon sed -i "s,Exec=.*,$myexec," "$mymenu" fi - mymenu="$HOME/.local/share/applications/wine/Programs/Ubi Soft Games/Rayman 2 Demo/1 To Play Rayman 2 Demo.desktop" + mymenu="$XDG_DATA_HOME/applications/wine/Programs/Ubi Soft Games/Rayman 2 Demo/1 To Play Rayman 2 Demo.desktop" if test -f "$mymenu" && w_workaround_wine_bug 26304 "Fixing system menu" then # this is a hack, hopefully the wine bug will be fixed soon @@ -15285,7 +15705,7 @@ load_simsmed() if w_workaround_wine_bug 25535 ".net 4 doesn't install on Wine, fixing menu to run game directly" then myexec="Exec=env WINEPREFIX=\"$WINEPREFIX\" wine cmd /c 'C:\\\\\\\\Run-$W_PACKAGE.bat'" - mymenu="$HOME/.local/share/applications/wine/Programs/Electronic Arts/The Sims Medieval/The Sims™ Medieval.desktop" + mymenu="$XDG_DATA_HOME/applications/wine/Programs/Electronic Arts/The Sims Medieval/The Sims™ Medieval.desktop" if test -f "$mymenu" then sed -i "s,Exec=.*,$myexec," "$mymenu" @@ -17342,41 +17762,32 @@ load_nt40() #---------------------------------------------------------------- w_metadata sandbox settings \ - title="Sandbox the wineprefix - remove links to HOME" + title="Sandbox the wineprefix - remove links to \$HOME" load_sandbox() { w_skip_windows sandbox && return # Unmap drive Z - # Might want to unpack gecko first, since Wine won't be able to get to /usr/lib/wine after this rm -f "$WINEPREFIX/dosdevices/z:" - if test -d "$WINEPREFIX/drive_c/users/$USER/Documents" - then - for dir in Desktop Documents Music Pictures Videos - do - rm -f "$WINEPREFIX/drive_c/users/$USER/$dir" > /dev/null 2>&1 - mkdir -p "$WINEPREFIX/drive_c/users/$USER/$dir" - done - elif test -d "$WINEPREFIX/drive_c/users/$USER/My Documents" - then - for dir in Desktop "My Documents" "My Music" "My Pictures" "My Videos" - do - rm -f "$WINEPREFIX/drive_c/users/$USER/$dir" > /dev/null 2>&1 - mkdir -p "$WINEPREFIX/drive_c/users/$USER/$dir" - done - else - w_die "don't know name of My Documents folder, can't sandbox" - fi - + pushd "$WINEPREFIX/drive_c/users/$USER" + for x in * + do + if test -h "$x" && test -d "$x" + then + rm -f "$x" + mkdir -p "$x" + fi + done + popd # Disable unixfs - # Unfortunately, when you run with a different version of wine, wine will recreate this key. + # Unfortunately, when you run with a different version of Wine, Wine will recreate this key. # See http://bugs.winehq.org/show_bug.cgi?id=22450 - $WINE regedit /d 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\Namespace\{9D20AAE8-0625-44B0-9CA7-71889C2254D9}' + "$WINE" regedit /d 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\Namespace\{9D20AAE8-0625-44B0-9CA7-71889C2254D9}' - # Disable recreation of the above key - or any updating of the regisry - when running with new version of wine. + # Disable recreation of the above key - or any updating of the registry - when running with a newer version of Wine. echo disable > "$WINEPREFIX/.update-timestamp" } @@ -17503,34 +17914,6 @@ load_vista() #---------------------------------------------------------------- -w_metadata volnum settings \ - title="Rename drive_c to harddiskvolume0 (needed by some installers)" - -load_volnum() { - w_skip_windows "volnum" && return - - # 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 -} - -#---------------------------------------------------------------- - w_metadata vsm=hardware settings \ title="Set VertexShaderMode to hardware" @@ -17551,6 +17934,16 @@ load_win2k() #---------------------------------------------------------------- +w_metadata win2k3 settings \ + title="Set windows version to Windows 2003" + +load_win2k3() +{ + w_set_winver win2k3 +} + +#---------------------------------------------------------------- + w_metadata win31 settings \ title="Set windows version to Windows 3.1" @@ -17690,8 +18083,6 @@ for data in \ farmsim2011_demo:size_MB=48,time_sec=4 \ ffdshow:size_MB=53,time_sec=4 \ fifa11_demo:size_MB=4932,time_sec=845 \ - firefox:size_MB=113,time_sec=7 \ - firefox4:size_MB=147,time_sec=36 \ flash:size_MB=57,time_sec=3 \ fontfix:size_MB=47,time_sec=0 \ fontxplorer:size_MB=51,time_sec=5 \ @@ -18001,10 +18392,10 @@ execute_command() hidebroken) W_OPT_SHOWBROKEN=0 ;; prefix=*) winetricks_set_wineprefix "$arg" ;; annihilate) winetricks_annihilate_wineprefix ;; - folder) xdg-open "$WINEPREFIX" ;; - winecfg) $WINE winecfg ;; - regedit) $WINE regedit ;; - taskmgr) $WINE taskmgr & ;; + folder) w_open_folder "$WINEPREFIX" ;; + winecfg) "$WINE" winecfg ;; + regedit) "$WINE" regedit ;; + taskmgr) "$WINE" taskmgr & ;; shell) winetricks_shell ;; # These have to come before *=disabled to avoid looking like dlls @@ -18024,13 +18415,13 @@ execute_command() *=builtin) w_do_call builtin $cmd;; *=default) w_do_call default $cmd;; *=disabled) w_do_call disabled $cmd;; + vd=*) w_do_call $cmd;; # Hacks for backwards compatibility cc580) w_call comctl32 ;; comdlg32.ocx) w_call comdlg32ocx ;; dotnet1) w_call dotnet11 ;; dotnet2) w_call dotnet20 ;; - firefox3) w_call firefox35 ;; # the one that works flash11) w_call flash ;; fm20) w_call controlpad ;; # art2kmin also comes with fm20.dll fontsmooth-bgr) w_call fontsmooth=bgr ;; diff --git a/winetricks.1 b/winetricks.1 new file mode 100644 index 0000000..ca02cbc --- /dev/null +++ b/winetricks.1 @@ -0,0 +1,170 @@ +.\" -*- nroff -*- +.TH WINETRICKS 1 "June 2013" "Winetricks 20130615" "Wine package manager" +.SH NAME +winetricks \- manage virtual windows environments using wine +.SH SYNOPSIS +.BI "winetricks " +[options] [verb ... ] +.SH DESCRIPTION +.B winetricks +is an easy way to work around common problems in Wine. +.PP +It provides simple commands to +tweak Wine settings, +download and install missing Windows DLLs and fonts, +or install various games or apps with appropriate workarounds for the current version of wine. +.PP +It can be used via gui or commandline. The commandline mode is intended both for interactive use and as a building block in fancier wine frontends and in automated regression testing. + +.B winetricks +with no arguments displays a GUI using either Zenity or Kdialog. + +.SH OPTIONS +.TP +.B +\-\-force +Don't check whether packages were already installed +.TP +.B +\-\-gui +Show gui diagnostics even when driven by commandline +.TP +.B +\-k, \-\-keep_isos +Cache isos (allows later installation without disc) +.TP +.B +\-\-no\-clean +Don't delete temp directories (useful during debugging) +.TP +.B +\-\-no\-isolate +Don't install each app or game in its own bottle +.TP +.B +\-q, \-\-unattended +Don't ask any questions, just install automatically +.TP +.B +\-r, \-\-ddrescue +Retry hard when caching scratched discs +.TP +.B +\-\-showbroken +Even show verbs that are currently broken in wine +.TP +.B +\-v, \-\-verbose +Echo all commands as they are executed +.TP +.B +\-h, \-\-help +Display this message and exit +.TP +.B +\-V, \-\-version +Display version and exit + +.SH COMMANDS +.TP +.B +apps list +list verbs in category 'applications' +.TP +.B +benchmarks list +list verbs in category 'benchmarks' +.TP +.B +dlls list +list verbs in category 'dlls' +.TP +.B +games list +list verbs in category 'games' +.TP +.B +list +list categories +.TP +.B +list-cached +list cached-and-ready-to-install verbs +.TP +.B +list-download +list verbs which download automatically +.TP +.B +list-manual-download +list verbs which download with some help from the user +.TP +.B +list-installed +list already-installed verbs +.TP +.B +prefix=foobar +select WINEPREFIX=$HOME/.local/share/wineprefixes/foobar +.TP +.B +settings list +list verbs in category 'settings' + +.PP +.SH EXAMPLES + +.TP +To see list of available packages to install: +winetricks list-download +.TP +To install a package: +winetricks 7zip + +.SH ENVIRONMENT VARIABLES +Wine checks several environment variables on startup: +.TP +.I WINE +If set, this specifies which wine binary to use by default +.TP +.I WINEPREFIX +If set, this specifies the location of the default .wine directory ( usually +.IR $HOME/.wine +). +.TP +.I XDG_CACHE_HOME +If set, this is path to system's user data cache (default: $HOME/.cache) +.I W_CACHE +path to Winetricks' user data cache (default: $XDG_CACHE_HOME/winetricks} + +.SH AUTHORS +Dan Kegel, Austin English, and many others. For a complete list, +please see the "Copyright" section in the file 'winetricks'. + +.SH COPYRIGHT +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. +See . +.SH BUGS +.PP +Bugs may be reported at +.I http://winetricks.org +.PP +.SH AVAILABILITY +The most recent version of +.B winetricks +can be downloaded from +.I http://winetricks.org/download/releases/ +.PP +The latest snapshot of the code may be obtained via svn; see +.I http://code.google.com/p/winetricks/source/checkout +.PP +For further information about +.B winetricks +see +.I http://winetricks.org + +.SH "SEE ALSO" +.BR wine (1)