From 3a710fe52b0a40e8f12ca5096da381e85ee69917 Mon Sep 17 00:00:00 2001 From: Alzim Date: Tue, 20 Sep 2016 18:20:45 +0300 Subject: [PATCH] Updated to 1.9.19 --- .abf.yml | 6 +- wine.spec | 2 +- winetricks | 3386 +++++++++++++++++++++------------------------------- 3 files changed, 1389 insertions(+), 2005 deletions(-) diff --git a/.abf.yml b/.abf.yml index 868e77d..cca01e1 100644 --- a/.abf.yml +++ b/.abf.yml @@ -1,5 +1,5 @@ sources: - wine-1.9.18.tar.bz2: 738ef272b3faf898c47dfb64b93b80fcde7a0c24 - wine-1.9.18.tar.bz2.sign: 18ca5dcd849f1144dbeb86de533f1c1f146f6d6f + wine-1.9.19.tar.bz2: bc14e74430a360a208bbb959e9d2d6867b2791db + wine-1.9.19.tar.bz2.sign: 1d1dbf06e05dccf777b7a6dbe991875b0cdd15db wine-d3d9-patches-wine-d3d9-1.9.8.tar.bz2: 3c91f74106ff08f084f4b77516dfd06c06580819 - wine-staging-1.9.18.tar.gz: 92de66af6d0b87cd5871d29b7a4a72fe25146640 + wine-staging-1.9.19.tar.gz: ecc6ce2a84b4daa1b4149677ce5473b264a00254 diff --git a/wine.spec b/wine.spec index ce71537..5012623 100644 --- a/wine.spec +++ b/wine.spec @@ -21,7 +21,7 @@ Summary: WINE Is Not An Emulator - runs MS Windows programs Name: wine -Version: 1.9.18 +Version: 1.9.19 Release: 1 Epoch: 2 License: LGPLv2+ diff --git a/winetricks b/winetricks index 0e3f833..a722b5b 100644 --- a/winetricks +++ b/winetricks @@ -2,35 +2,35 @@ # Name of this version of winetricks (YYYYMMDD) # (This doesn't change often, use the sha1sum of the file when reporting problems) -WINETRICKS_VERSION=20151227 +WINETRICKS_VERSION=20160724 -# This is a utf-8 file +# This is a UTF-8 file # You should see an o with two dots over it here [ö] # You should see a micro (u with a tail) here [µ] # You should see a trademark symbol here [™] #-------------------------------------------------------------------- # -# Winetricks is a package manager for win32 dlls and applications on posix. +# Winetricks is a package manager for Win32 dlls and applications on POSIX. # Features: # - Consists of a single shell script - no installation required # - Downloads packages automatically from original trusted sources # - Points out and works around known wine bugs automatically -# - Both commandline and GUI operation +# - Both command-line and GUI operation # - Can install many packages in silent (unattended) mode -# - Multiplatform; written for Linux, but supports MacOSX and Cygwin, too +# - Multiplatform; written for Linux, but supports OS X and Cygwin too # -# Uses the following non-Posix system tools: -# - wine is used to execute win32 apps except on cygwin. +# 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. # - 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) or open (for Mac OSX) is used to open download pages +# - xdg-open (if present) or open (for OS X) 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: +# On Ubuntu, the following lines can be used to install all the prerequisites: # sudo add-apt-repository ppa:ubuntu-wine/ppa # sudo apt-get update # sudo apt-get install cabextract p7zip unrar unzip wget wine1.7 zenity @@ -42,7 +42,7 @@ WINETRICKS_VERSION=20151227 # # Copyright # Copyright (C) 2007-2014 Dan Kegel -# Copyright (C) 2008-2015 Austin English +# Copyright (C) 2008-2016 Austin English # Copyright (C) 2010-2011 Phil Blankenship # Copyright (C) 2010-2015 Shannon VanWagner # Copyright (C) 2010 Belhorma Bendebiche @@ -60,8 +60,9 @@ WINETRICKS_VERSION=20151227 # 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-2016 Andrey Gusev # Copyright (C) 2013-2015 Hillwood Yang +# Copyright (C) 2013,2016 André Hentschel # # License # This program is free software; you can redistribute it and/or @@ -82,7 +83,7 @@ WINETRICKS_VERSION=20151227 # Portability: # - Portability matters, as this script is run on many operating systems # - No bash, zsh, or csh extensions; only use features from -# the Posix standard shell and utilities; see +# the POSIX standard shell and utilities; see # http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html # - 'checkbashisms -p -x winetricks' should show no warnings (per Debian policy) # - Prefer classic sh idioms as described in e.g. @@ -91,11 +92,11 @@ WINETRICKS_VERSION=20151227 # support the two most frequently available programs. # e.g. fall back to wget if curl is not available; likewise, support # both sha1sum and openssl. -# - When using unix commands like cp, put options before filenames so it will -# work on systems like MacOSX. e.g. "rm -f foo.dat", not "rm foo.dat -f" +# - When using Unix commands like cp, put options before filenames so it will +# work on systems like OS X. e.g. "rm -f foo.dat", not "rm foo.dat -f" # # Formatting: -# - Your terminal and editor must be configured for utf-8 +# - Your terminal and editor must be configured for UTF-8 # If you do not see an o with two dots over it here [ö], stop! # - Do not use tabs in this file or any verbs. # - Indent 4 spaces. @@ -143,9 +144,9 @@ XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}" W_PREFIXES_ROOT="${WINE_PREFIXES:-$XDG_DATA_HOME/wineprefixes}" # For temp files before $WINEPREFIX is available: -if [ -x "`which mktemp 2>/dev/null`" ] +if [ -x "$(which mktemp 2>/dev/null)" ] then - W_TMP_EARLY="`mktemp -d "${TMPDIR:-/tmp}/winetricks.XXXXXXXX"`" + W_TMP_EARLY="$(mktemp -d "${TMPDIR:-/tmp}/winetricks.XXXXXXXX")" W_TMP_EARLY_CLEAN=1 elif [ -w "$TMPDIR" ] then @@ -169,14 +170,17 @@ w_askpermission() fi case $WINETRICKS_GUI in - zenity) $WINETRICKS_GUI $_W_timeout --question --title=winetricks --text="`echo $@ | sed 's,\\\\,\\\\\\\\,g'`" --no-wrap;; + zenity) $WINETRICKS_GUI $_W_timeout --question --title=winetricks --text="$(echo $@ | sed 's,\\\\,\\\\\\\\,g')" --no-wrap;; kdialog) $WINETRICKS_GUI --title winetricks --warningcontinuecancel "$@" ;; none) printf %s "Press Y or N, then Enter: " ; read response ; test "$response" = Y || test "$response" = y;; esac if test $? -ne 0 then - w_die "Operation cancelled, quitting." + case $LANG in + uk*) w_die "Операція скасована." ;; + *) w_die "Operation cancelled, quitting." ;; + esac exec false fi @@ -193,7 +197,7 @@ w_info() _W_timeout="--timeout 3" case $WINETRICKS_GUI in - zenity) $WINETRICKS_GUI $_W_timeout --info --title=winetricks --text="`echo $@ | sed 's,\\\\,\\\\\\\\,g'`" --no-wrap;; + zenity) $WINETRICKS_GUI $_W_timeout --info --title=winetricks --text="$(echo $@ | sed 's,\\\\,\\\\\\\\,g')" --no-wrap;; kdialog) $WINETRICKS_GUI --title winetricks --msgbox "$@" ;; none) ;; esac @@ -214,7 +218,7 @@ w_warn() fi case $WINETRICKS_GUI in - zenity) $WINETRICKS_GUI $_W_timeout --error --title=winetricks --text="`echo $@ | sed 's,\\\\,\\\\\\\\,g'`";; + zenity) $WINETRICKS_GUI $_W_timeout --error --title=winetricks --text="$(echo $@ | sed 's,\\\\,\\\\\\\\,g')";; kdialog) $WINETRICKS_GUI --title winetricks --error "$@" ;; none) ;; esac @@ -238,7 +242,7 @@ w_warn_cancel() # Zenity has no cancel button, but will set status to 1 if you click the go-away X case $WINETRICKS_GUI in - zenity) $WINETRICKS_GUI $_W_timeout --error --title=winetricks --text="`echo $@ | sed 's,\\\\,\\\\\\\\,g'`";; + zenity) $WINETRICKS_GUI $_W_timeout --error --title=winetricks --text="$(echo $@ | sed 's,\\\\,\\\\\\\\,g')";; kdialog) $WINETRICKS_GUI --title winetricks --warningcontinuecancel "$@" ;; none) ;; esac @@ -257,7 +261,7 @@ w_die() # Kill all instances of a process in a safe way (Solaris killall kills _everything_) w_killall() { - kill -s KILL `pgrep $1` + kill -s KILL $(pgrep $1) } # Execute with error checking @@ -271,10 +275,10 @@ w_try() export WINEDLLOVERRIDES printf '%s\n' "Executing $*" - # On Vista, we need to jump through a few hoops to run commands in cygwin. + # On Vista, we need to jump through a few hoops to run commands in Cygwin. # First, .exe's need to have the executable bit set. # Second, only cmd can run setup programs (presumably for security). - # If $1 ends in .exe, we know we're running on real windows, otherwise + # If $1 ends in .exe, we know we're running on real Windows, otherwise # $1 would be 'wine'. case "$1" in *.exe) @@ -296,22 +300,41 @@ w_try_7z() { # $1 - directory to extract to # $2 - file to extract - # Not always installed, use Windows 7-zip as a fallback: - if test -x "`which 7z 2>/dev/null`" + # Not always installed, use Windows 7-Zip as a fallback: + if test -x "$(which 7z 2>/dev/null)" then w_try 7z x "$2" -o"$1" else - w_warn "Cannot find 7z. Using Windows 7-zip instead. (You can avoid this by installing 7z, e.g. 'sudo apt-get install p7zip-full' or 'sudo yum install p7zip p7zip-plugins')." + w_warn "Cannot find 7z. Using Windows 7-Zip instead. (You can avoid this by installing 7z, e.g. 'sudo apt-get install p7zip-full' or 'sudo yum install p7zip p7zip-plugins')." WINETRICKS_OPT_SHAREDPREFIX=1 w_call 7zip # errors out if there is a space between -o and path - w_try "$WINE" "$W_PROGRAMS_X86_WIN\\7-Zip\\7z.exe" x "`w_pathconv -w $2`" -o"`w_pathconv -w $1`" + w_try "$WINE" "$W_PROGRAMS_X86_WIN\\7-Zip\\7z.exe" x "$(w_pathconv -w $2)" -o"$(w_pathconv -w $1)" + fi +} + +w_try_ar() +{ + # $1 - ar file (.deb) to extract (keeping internal paths, in cwd) + # $2 - file to extract (optional) + + # Not always installed, use Windows 7-zip as a fallback: + if test -x "$(which ar 2>/dev/null)" + then + w_try ar x "$@" + else + w_warn "Cannot find ar. Using Windows 7-zip instead. (You can avoid this by installing binutils, e.g. 'sudo apt-get install binutils' or 'sudo yum install binutils')." + WINETRICKS_OPT_SHAREDPREFIX=1 w_call 7zip + + # -t* prevents 7-zip from decompressing .tar.xz to .tar, see + # https://sourceforge.net/p/sevenzip/discussion/45798/thread/8cd16946/?limit=25 + w_try "$WINE" "$W_PROGRAMS_X86_WIN\\7-Zip\\7z.exe" -t* x "$(w_pathconv -w $1)" fi } w_try_cabextract() { # Not always installed, but shouldn't be fatal unless it's being used - if test ! -x "`which cabextract 2>/dev/null`" + if test ! -x "$(which cabextract 2>/dev/null)" then w_die "Cannot find cabextract. Please install it (e.g. 'sudo apt-get install cabextract' or 'sudo yum install cabextract')." fi @@ -332,8 +355,8 @@ w_try_msiexec64() w_try_regedit() { # on windows, doesn't work without cmd /c - case "$OS" in - "Windows_NT") cmdc="cmd /c";; + case "$W_PLATFORM" in + windows_cmd|wine_cmd) cmdc="cmd /c";; *) unset cmdc ;; esac @@ -349,14 +372,14 @@ w_try_unrar() { # $1 - zipfile to extract (keeping internal paths, in cwd) - # Not always installed, use Windows 7-zip as a fallback: - if test -x "`which unrar 2>/dev/null`" + # Not always installed, use Windows 7-Zip as a fallback: + if test -x "$(which unrar 2>/dev/null)" then w_try unrar x "$@" else - w_warn "Cannot find unrar. Using Windows 7-zip instead. (You can avoid this by installing unrar, e.g. 'sudo apt-get install unrar' or 'sudo yum install unrar')." + w_warn "Cannot find unrar. Using Windows 7-Zip instead. (You can avoid this by installing unrar, e.g. 'sudo apt-get install unrar' or 'sudo yum install unrar')." WINETRICKS_OPT_SHAREDPREFIX=1 w_call 7zip - w_try "$WINE" "$W_PROGRAMS_X86_WIN\\7-Zip\\7z.exe" x "`w_pathconv -w $1`" + w_try "$WINE" "$W_PROGRAMS_X86_WIN\\7-Zip\\7z.exe" x "$(w_pathconv -w $1)" fi } @@ -370,24 +393,24 @@ w_try_unzip() zipfile="$2" shift 2 - # Not always installed, use Windows 7-zip as a fallback: - if test -x "`which unzip 2>/dev/null`" + # Not always installed, use Windows 7-Zip as a fallback: + if test -x "$(which unzip 2>/dev/null)" then - # FreeBSD ships unzip, but it doesn't support self compressed executables - # If it fails ,fall back to 7-zip: + # FreeBSD ships unzip, but it doesn't support self-compressed executables + # If it fails, fall back to 7-Zip: unzip -o -q -d"$destdir" "$zipfile" "$@" ret=$? case $ret in 0) return ;; - 1|*) w_warn "Unzip failed, trying Windows 7-zip instead." ;; + 1|*) w_warn "Unzip failed, trying Windows 7-Zip instead." ;; esac else - w_warn "Cannot find unzip. Using Windows 7-zip instead. (You can avoid this by installing unzip, e.g. 'sudo apt-get install unzip' or 'sudo yum install unzip')." + w_warn "Cannot find unzip. Using Windows 7-Zip instead. (You can avoid this by installing unzip, e.g. 'sudo apt-get install unzip' or 'sudo yum install unzip')." fi WINETRICKS_OPT_SHAREDPREFIX=1 w_call 7zip # errors out if there is a space between -o and path - w_try "$WINE" "$W_PROGRAMS_X86_WIN\\7-Zip\\7z.exe" x "`w_pathconv -w $zipfile`" -o"`w_pathconv -w $destdir`" "$@" + w_try "$WINE" "$W_PROGRAMS_X86_WIN\\7-Zip\\7z.exe" x "$(w_pathconv -w $zipfile)" -o"$(w_pathconv -w $destdir)" "$@" } w_read_key() @@ -400,7 +423,7 @@ w_read_key() mkdir -p "$W_CACHE/$W_PACKAGE" - # backwards compatibile location + # backwards compatible location # Auth doesn't belong in cache, since restoring it requires user input _W_keyfile="$W_CACHE/$W_PACKAGE/key.txt" if ! test -f "$_W_keyfile" @@ -414,12 +437,15 @@ w_read_key() da*) _W_keymsg="Angiv venligst registrerings-nøglen for pakken '$_PACKAGE'" _W_nokeymsg="Ingen nøgle angivet" ;; - de*) _W_keymsg="Bitte einen Key für Pakete '$W_PACKAGE' eingeben" + de*) _W_keymsg="Bitte einen Key für Paket '$W_PACKAGE' eingeben" _W_nokeymsg="Keinen Key eingegeben?" ;; pl*) _W_keymsg="Proszę podać klucz dla programu '$W_PACKAGE'" _W_nokeymsg="Nie podano klucza" ;; + ru*) _W_keymsg="Пожалуйста, введите ключ для приложения '$W_PACKAGE'" + _W_nokeymsg="Ключ не введён" + ;; uk*) _W_keymsg="Будь ласка, введіть ключ для додатка '$W_PACKAGE'" _W_nokeymsg="Ключ не надано" ;; @@ -434,9 +460,9 @@ w_read_key() ;; esac case $WINETRICKS_GUI in - *zenity) W_KEY=`zenity --entry --text "$_W_keymsg"` ;; - *kdialog) W_KEY=`kdialog --inputbox "$_W_keymsg"` ;; - *xmessage) w_die "sorry, can't read key from gui with xmessage" ;; + *zenity) W_KEY=$(zenity --entry --text "$_W_keymsg") ;; + *kdialog) W_KEY=$(kdialog --inputbox "$_W_keymsg") ;; + *xmessage) w_die "sorry, can't read key from GUI with xmessage" ;; none) printf %s "$_W_keymsg": ; read W_KEY ;; esac if test "$W_KEY" = "" @@ -445,8 +471,8 @@ w_read_key() fi echo "$W_KEY" > "$_W_keyfile" fi - W_RAW_KEY=`cat "$_W_keyfile"` - W_KEY=`echo $W_RAW_KEY | tr -d '[:blank:][=-=]'` + W_RAW_KEY=$(cat "$_W_keyfile") + W_KEY=$(echo $W_RAW_KEY | tr -d '[:blank:][=-=]') unset _W_keyfile _W_keymsg _W_nokeymsg } @@ -467,11 +493,11 @@ winetricks_wintounix() # Convert between Unix path and Windows path # Usage is lowest common denominator of cygpath/winepath -# so -u to convert to unix, and -w to convert to windows +# so -u to convert to Unix, and -w to convert to Windows w_pathconv() { - case "$OS" in - "Windows_NT") + case "$W_PLATFORM" in + windows_cmd) # for some reason, cygpath turns some spaces into newlines?! cygpath "$@" | tr '\012' '\040' | sed 's/ $//' ;; @@ -494,7 +520,16 @@ w_expand_env() w_get_sha1sum() { local _W_file="$1" - _W_gotsum=`$WINETRICKS_SHA1SUM < "$_W_file" | sed 's/(stdin)= //;s/ .*//'` + + # See https://github.com/Winetricks/winetricks/issues/645 + # User is running winetricks from /dev/stdin + if [ -f "$_W_file" ] || [ -h "$_W_file" ] + then + _W_gotsum=$($WINETRICKS_SHA1SUM < "$_W_file" | sed 's/(stdin)= //;s/ .*//') + else + w_warn "$_W_file is not a regular file, not checking sha1sum" + return + fi } # verify an sha1sum @@ -527,7 +562,7 @@ winetricks_parse_wget_progress() '$| = 1; s/^.* +([0-9]+%) +([0-9,.]+[GMKB]) +([0-9hms,.]+).*$/\1\n# Downloading... \2 (\3)/' } -# Execute wget, and if in gui mode, also show a graphical progress bar +# Execute wget, and if in GUI mode, also show a graphical progress bar winetricks_wget_progress() { case $WINETRICKS_GUI in @@ -535,7 +570,7 @@ winetricks_wget_progress() # Usa a subshell so if the user clicks 'Cancel', # the --auto-kill kills the subshell, not the current shell ( - wget "$@" 2>&1 | + ${torify} wget "$@" 2>&1 | winetricks_parse_wget_progress | \ $WINETRICKS_GUI --progress --width 400 --title="$_W_file" --auto-kill --auto-close ) @@ -547,7 +582,7 @@ winetricks_wget_progress() # which was the subshell, not all the elements of the pipeline... # have to go find and kill the wget. # If we ran wget in the background, we could kill it more directly, perhaps... - if pid=`ps augxw | grep ."$_W_file" | grep -v grep | awk '{print $2}'` + if pid=$(ps augxw | grep ."$_W_file" | grep -v grep | awk '{print $2}') then echo User aborted download, killing wget kill $pid @@ -555,7 +590,7 @@ winetricks_wget_progress() fi return $err ;; - *) wget "$@" ;; + *) ${torify} wget "$@" ;; esac } @@ -573,6 +608,7 @@ w_dotnet_verify() dotnet35sp1) version="3.5 SP1" ;; dotnet40) version="4 Client" ;; dotnet45) version="4.5" ;; + dotnet452) version="4.5.2" ;; *) echo error ; exit 1 ;; esac w_call dotnet_verifier @@ -609,6 +645,68 @@ w_dotnet_verify() dn_status=$? } +# Checks if the user can run the self-update/rollback commands +winetricks_check_update_availability() +{ + # Prevents the development file overwrite: + if test -d "../.git" + then + w_warn "You're running in a dev environment. Please make a copy of the file before running this command." + exit; + fi + + # Checks read/write permissions on update directories + if ! (test -r $0 && test -w $0 && test -w ${0%/*} && test -x ${0%/*}) + then + w_warn "You don't have the proper permissions to run this command. Try again with sudo or as root." + exit; + fi +} + +winetricks_selfupdate() +{ + winetricks_check_update_availability + + _W_filename="${0##*/}" + _W_rollback_file="${0}.bak" + _W_update_file="${0}.update" + + _W_tmpdir=${TMPDIR:-/tmp} + _W_tmpdir="$(mktemp -d "$_W_tmpdir/$_W_filename.XXXXXXXX")" + + w_download_to $_W_tmpdir https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks + w_try mv $_W_tmpdir/$_W_filename $_W_update_file.gz + w_try gunzip $_W_update_file.gz + w_try rmdir $_W_tmpdir + + w_try cp $0 $_W_rollback_file + w_try chmod -x $_W_rollback_file + + w_try mv $_W_update_file $0 + w_try chmod +x $0 + + w_warn "Update finished! The current version is $($0 -V). Use 'winetricks --update-rollback' to return to the previous version." + + exit +} + +winetricks_selfupdate_rollback() +{ + winetricks_check_update_availability + + _W_rollback_file="${0}.bak" + + if test -f $_W_rollback_file + then + w_try mv $_W_rollback_file $0 + w_try chmod +x $0 + w_warn "Rollback finished! The current version is $($0 -V)." + else + w_warn "Nothing to rollback." + fi + exit; +} + # Download a file # Usage: w_download_to packagename url [sha1sum [filename [cookie jar]]] # Caches downloads in winetrickscache/$packagename @@ -630,7 +728,7 @@ w_download_to() fi if [ "$_W_file"x = ""x ] then - _W_file=`basename "$_W_url"` + _W_file=$(basename "$_W_url") fi _W_cache="$W_CACHE/$_W_packagename" @@ -644,7 +742,7 @@ w_download_to() tries=0 while test $tries -lt 2 do - tries=`expr $tries + 1` + tries=$(expr $tries + 1) if test -s "$_W_cache/$_W_file" then @@ -652,9 +750,9 @@ w_download_to() then if test $tries = 1 then - # The cache was full. If the file is larger than 500MB, + # The cache was full. If the file is larger than 500 MB, # don't checksum it, that just annoys the user. - if test `du -k "$_W_cache/$_W_file" | cut -f1` -gt 500000 + if test $(du -k "$_W_cache/$_W_file" | cut -f1) -gt 500000 then checksum_ok=1 break @@ -678,11 +776,11 @@ w_download_to() fi elif test -f "$_W_cache/$_W_file" then - # zero length file, just delete before retrying + # zero-length file, just delete before retrying rm "$_W_cache/$_W_file" fi - _W_dl_olddir=`pwd` + _W_dl_olddir=$(pwd) cd "$_W_cache" # Mac folks tend to have curl rather than wget # On Mac, 'which' doesn't return good exit status @@ -692,17 +790,39 @@ w_download_to() # the kludge further down. See http://code.google.com/p/winezeug/issues/detail?id=77 echo Downloading $_W_url to $_W_cache - # For sites that prefer mozilla in the useragent, set W_BROWSERAGENT=1 + # For sites that prefer Mozilla in the user-agent header, set W_BROWSERAGENT=1 case "$W_BROWSERAGENT" in 1) _W_agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" ;; *) _W_agent= ;; esac - if [ -x "`which aria2c 2>/dev/null`" ] + case "$WINETRICKS_OPT_TORIFY" in + 1) torify=torify + # torify needs --async-dns=false, see https://github.com/tatsuhiro-t/aria2/issues/613 + aria2c_torify_opts="--async-dns=false" + if [ ! -x "$(which torify 2>/dev/null)" ] + then + w_die "--torify was used, but torify is not installed, please install it." ; exit 1 + fi ;; + *) torify= + aria2c_torify_opts= ;; + esac + + if [ -x "$(which aria2c 2>/dev/null)" ] then - # Basic aria2c support. - aria2c -c -d "$_W_cache" -o "$_W_file" "$_W_url" - elif [ -x "`which wget 2>/dev/null`" ] + # (Slightly fancy) aria2c support + # See https://github.com/Winetricks/winetricks/issues/612 + # --daemon=false --enable-rpc=false to ensure aria2c doesnt go into the background after starting + # and prevent any attempts to rebind on the RPC interface specified in someone's config. + # --input-file='' if the user config has a input-file specified then aria2 will read it and + # attempt to download everything in that input file again. + # --save-session='' if the user has specified save-session in their config, their session will be + # ovewritten by the new aria2 process + # http-accept-gzip=true (still needed) ? + + $torify aria2c $aria2c_torify_opts --continue --daemon=false --dir "$_W_cache" --enable-rpc=false --input-file='' \ + --max-connection-per-server=5 --out "$_W_file" --save-session='' --stream-piece-selector=geom "$_W_url" + elif [ -x "$(which wget 2>/dev/null)" ] then # Use -nd to insulate ourselves from people who set -x in WGETRC # [*] --retry-connrefused works around the broken sf.net mirroring @@ -717,11 +837,11 @@ w_download_to() ${_W_cookiejar:+--load-cookies "$_W_cookiejar"} \ ${_W_agent:+--user-agent="$_W_agent"} \ "$_W_url" - elif [ -x "`which curl 2>/dev/null`" ] + elif [ -x "$(which curl 2>/dev/null)" ] then # curl doesn't get filename from the location given by the server! # fortunately, we know it - curl -L -o "$_W_file" -C - \ + $torify curl -L -o "$_W_file" -C - \ --header "Accept-Encoding: gzip,deflate" \ ${_W_cookiejar:+--cookie "$_W_cookiejar"} \ ${_W_agent:+--user-agent "$_W_agent"} \ @@ -729,28 +849,32 @@ w_download_to() else w_die "Please install wget or aria2c (or, if those aren't available, curl)" fi - if test $? != 0 + if test $? = 0 + then + # Need to decompress .exe's that are compressed, else Cygwin fails + # Also affects ttf files on github + _W_filetype=$(which file 2>/dev/null) + case $_W_filetype-$_W_file in + /*-*.exe|/*-*.ttf|/*-*.zip) + case $(file "$_W_file") in + *:*gzip*) mv "$_W_file" "$_W_file.gz"; gunzip < "$_W_file.gz" > "$_W_file";; + esac + esac + + # On Cygwin, .exe's must be marked +x + case "$_W_file" in + *.exe) chmod +x "$_W_file" ;; + esac + + cd "$_W_dl_olddir" + unset _W_dl_olddir + elif test $tries = 2 then test -f "$_W_file" && rm "$_W_file" w_die "Downloading $_W_url failed" fi - # Need to decompress .exe's that are compressed, else cygwin fails - # Also affects ttf files on github - _W_filetype=`which file 2>/dev/null` - case $_W_filetype-$_W_file in - /*-*.exe|/*-*.ttf|/*-*.zip) - case `file "$_W_file"` in - *:*gzip*) mv "$_W_file" "$_W_file.gz"; gunzip < "$_W_file.gz" > "$_W_file";; - esac - esac - - # On cygwin, .exe's must be marked +x - case "$_W_file" in - *.exe) chmod +x "$_W_file" ;; - esac - - cd "$_W_dl_olddir" - unset _W_dl_olddir + # Download from the Wayback Machine on second try + _W_url="https://web.archive.org/web/$_W_url" done if test "$3" && test ! "$checksum_ok" @@ -765,7 +889,7 @@ w_open_folder() { for _W_cmd in xdg-open open cygstart true do - _W_cmdpath=`which $_W_cmd` + _W_cmdpath=$(which $_W_cmd) if test -n "$_W_cmdpath" then break @@ -782,7 +906,7 @@ w_open_webpage() # See http://www.dwheeler.com/essays/open-files-urls.html for _W_cmd in xdg-open sdtwebclient cygstart open firefox true do - _W_cmdpath=`which $_W_cmd` + _W_cmdpath=$(which $_W_cmd) if test -n "$_W_cmdpath" then break @@ -800,7 +924,7 @@ w_download() w_download_to $W_PACKAGE "$@" } -# Download one or more files via bittorrent +# Download one or more files via BitTorrent # Usage: w_download_torrent [foo.torrent] # Caches downloads in $W_CACHE/$W_PACKAGE, torrent files are assumed to be there # If no foo.torrent is given, will add ALL .torrent files in $W_CACHE/$W_PACKAGE @@ -818,7 +942,7 @@ w_download_torrent() then w_try "$WINE" utorrent "/DIRECTORY" "$UT_WINPATH" "$UT_WINPATH\\$2" & else # grab all torrents - for torrent in `ls *.torrent` + for torrent in $(ls *.torrent) do w_try "$WINE" utorrent "/DIRECTORY" "$UT_WINPATH" "$UT_WINPATH\\$torrent" & done @@ -881,8 +1005,9 @@ w_download_manual_to() case $LANG in 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.";; + de*) _W_dlmsg="Bitte laden Sie $_W_file von $_W_url runter, stellen Sie's in $W_CACHE/$_W_packagename, dann wiederholen Sie dieses 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 skrypt.";; + ru*) _W_dlmsg="Пожалуйста, скачайте файл $_W_file по адресу $_W_url, и поместите его в $W_CACHE/$_W_packagename, а затем запустите winetricks заново.";; uk*) _W_dlmsg="Будь ласка, звантажте $_W_file з $_W_url, розташуйте в $W_CACHE/$_W_packagename, потім запустіть скрипт знову.";; zh_CN*) _W_dlmsg="请从 $_W_url 下载 $_W_file,并置放于 $W_CACHE/$_W_packagename, 然后重新运行 winetricks.";; zh_TW*|zh_HK*) _W_dlmsg="請從 $_W_url 下載 $_W_file,并置放於 $W_CACHE/$_W_packagename, 然后重新執行 winetricks.";; @@ -894,11 +1019,16 @@ w_download_manual_to() mkdir -p "$W_CACHE/$_W_packagename" w_open_folder "$W_CACHE/$_W_packagename" w_open_webpage "$_W_url" - sleep 3 # give some time for browser to open + sleep 3 # give some time for web browser to open w_die "$_W_dlmsg" # FIXME: wait in loop until file is finished? fi - # FIXME: verify $sha1sum of $file + + if test "$_W_sha1sum" + then + w_verify_sha1sum $_W_sha1sum "$W_CACHE/$_W_packagename/$_W_file" + fi + unset _W_url _W_file _W_sha1sum _W_dlmsg } @@ -907,13 +1037,13 @@ w_download_manual() w_download_manual_to $W_PACKAGE "$@" } -# Turn off news, overlays, and friend interaction in steam -# Run from inside c:\Program Files\Steam +# Turn off news, overlays, and friend interaction in Steam +# Run from inside C:\Program Files\Steam w_steam_safemode() { cat > "$W_TMP/steamconfig.pl" <<"_EOF_" #!/usr/bin/env perl -# Parse steam's localconfig.vcf, add settings to it, and write it out again +# Parse Steam's localconfig.vcf, add settings to it, and write it out again # The file is a recursive dictionary # # FILE :== CONTAINER @@ -1026,9 +1156,9 @@ w_steam_getid() then if test -f "$W_CACHE"/steam_userid.txt then - W_STEAM_ID=`cat "$W_CACHE"/steam_userid.txt` + W_STEAM_ID=$(cat "$W_CACHE"/steam_userid.txt) else - W_STEAM_ID=`w_question "$_W_steamidmsg"` + W_STEAM_ID=$(w_question "$_W_steamidmsg") echo "$W_STEAM_ID" > "$W_CACHE"/steam_userid.txt chmod 600 "$W_CACHE"/steam_userid.txt fi @@ -1037,9 +1167,9 @@ w_steam_getid() then if test -f "$W_CACHE"/steam_password.txt then - W_STEAM_PASSWORD=`cat "$W_CACHE"/steam_password.txt` + W_STEAM_PASSWORD=$(cat "$W_CACHE"/steam_password.txt) else - W_STEAM_PASSWORD=`w_question "$_W_steampasswordmsg"` + W_STEAM_PASSWORD=$(w_question "$_W_steampasswordmsg") echo "$W_STEAM_PASSWORD" > "$W_CACHE"/steam_password.txt chmod 600 "$W_CACHE"/steam_password.txt fi @@ -1168,22 +1298,11 @@ fi " # Not all users need this disabled, but let's play it safe for now - if w_workaround_wine_bug 22053 "Disabling ingame notifications to prevent game crashes on some machines." + if w_workaround_wine_bug 22053 "Disabling in-game notifications to prevent game crashes on some machines." then w_steam_safemode 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="$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" - else - w_warn "bug: could not find system menu entry $_W_steamtitle" - fi - unset _W_steamid _W_steamtitle } @@ -1198,7 +1317,7 @@ fi # other_files # Extra installer files, in one string, space-separated. # reader_control -# If set, the control id of the configuration pannel checkbox controling +# If set, the control id of the configuration panel checkbox controling # Adobe Reader installation. # Some games don't have it, some games do with different ids. # run_command @@ -1245,14 +1364,14 @@ winetricks_load_gog() do case "$file_and_size_and_sha1" in *,*,*) - sha1sum=`echo $file_and_size_and_sha1 | sed "s/.*,//"` - minsize=`echo $file_and_size_and_sha1 | sed 's/[^,]*,\([^,]*\),.*/\1/'` - file=`echo $file_and_size_and_sha1 | sed 's/,.*//'` + sha1sum=$(echo $file_and_size_and_sha1 | sed "s/.*,//") + minsize=$(echo $file_and_size_and_sha1 | sed 's/[^,]*,\([^,]*\),.*/\1/') + file=$(echo $file_and_size_and_sha1 | sed 's/,.*//') ;; *,*) sha1sum="" - minsize=`echo $file_and_size_and_sha1 | sed 's/.*,//'` - file=`echo $file_and_size_and_sha1 | sed 's/,.*//'` + minsize=$(echo $file_and_size_and_sha1 | sed 's/.*,//') + file=$(echo $file_and_size_and_sha1 | sed 's/,.*//') ;; *) sha1sum="" @@ -1261,13 +1380,13 @@ winetricks_load_gog() ;; esac file_path="$installer_path/$file" - if ! test -s "$file_path" || test `stat -Lc%s "$file_path"` -lt $minsize + if ! test -s "$file_path" || test $(stat -Lc%s "$file_path") -lt $minsize then # FIXME: bring back automated download - w_info "You have to be logged in to gog, and you have to own the game, for the following URL to work. Otherwise it gets a 404." + w_info "You have to be logged in to GOG, and you have to own the game, for the following URL to work. Otherwise it gets a 404." w_download_manual "https://www.gog.com/en/download/game/$download_id/$file_id" "$file" check_sha1=1 - filesize=`stat -Lc%s "$file_path"` + filesize=$(stat -Lc%s "$file_path") if test $minsize -gt 1 && test $filesize -ne $minsize then check_sha1="" @@ -1278,7 +1397,7 @@ winetricks_load_gog() w_verify_sha1sum "$sha1sum" "$file_path" fi fi - file_id=`expr $file_id + 1` + file_id=$(expr $file_id + 1) done cd "$installer_path" @@ -1309,11 +1428,6 @@ winetricks_load_gog() WinWait, Setup - $game_title, Exit Installer ControlClick, TMCoPShadowButton1 ; Exit Installer " - - if test "$run_command"x != ""x - then - w_declare_exe "$W_PROGRAMS_X86_WIN\\GOG.com\\$install_dir" "$run_command" - fi } #---------------------------------------------------------------- @@ -1347,7 +1461,7 @@ w_mount() then break else - w_warn "Wrong disc inserted, $2 not found" + w_warn "Wrong disc inserted, $2 not found." fi done fi @@ -1398,7 +1512,7 @@ w_ahk_do() chmod +x "$W_CACHE/ahk/AutoHotkey.exe" fi - _W_CR=`printf \\\\r` + _W_CR=$(printf \\\\r) cat <<_EOF_ | sed "s/\$/$_W_CR/" > "$W_TMP"/tmp.ahk w_opt_unattended = ${W_OPT_UNATTENDED:-0} $@ @@ -1407,19 +1521,19 @@ _EOF_ unset _W_CR } -# Function to protect wine-specific sections of code. +# Function to protect Wine-specific sections of code. # Outputs a message to console explaining what's being skipped. # Usage: # if w_skip_windows name-of-operation # then # return # fi -# ... do something that doesn't make sense on windows ... +# ... do something that doesn't make sense on Windows ... w_skip_windows() { - case "$OS" in - "Windows_NT") + case "$W_PLATFORM" in + windows_cmd) echo "Skipping operation '$1' on Windows" return 0 ;; @@ -1482,7 +1596,7 @@ w_override_no_dlls() w_override_all_dlls() { - # Disable all known native Microsoft DLLs in favor of Wine's builtin ones + # Disable all known native Microsoft DLLs in favor of Wine's built-in ones # Generated with # find ~/wine-git/dlls -maxdepth 1 -type d -print | sed 's,.*/,,' | sort | fmt -50 | sed 's/$/ \\/' # Last updated: 2015-09-28 @@ -1772,7 +1886,7 @@ _EOF_ return ;; win95) - # This key is only used for win 95/98: + # This key is only used for Windows 95/98: echo "Setting Windows version to $1" cat > "$W_TMP"/set-winver.reg <<_EOF_ @@ -1788,7 +1902,7 @@ _EOF_ return ;; win98) - # This key is only used for win 95/98: + # This key is only used for Windows 95/98: echo "Setting Windows version to $1" cat > "$W_TMP"/set-winver.reg <<_EOF_ @@ -1861,6 +1975,34 @@ _EOF_ csdversion_hex=dword:00000100 "$WINE" reg add "HKLM\\System\\CurrentControlSet\\Control\\ProductOptions" /v ProductType /d "WinNT" /f ;; + win2k8) + csdversion="Service Pack 1" + currentbuildnumber="7601" + currentversion="6.1" + csdversion_hex=dword:00000100 + "$WINE" reg add "HKLM\\System\\CurrentControlSet\\Control\\ProductOptions" /v ProductType /d "ServerNT" /f + ;; + win8) + csdversion=" " + currentbuildnumber="9200" + currentversion="6.2" + csdversion_hex=dword:00000000 + "$WINE" reg add "HKLM\\System\\CurrentControlSet\\Control\\ProductOptions" /v ProductType /d "WinNT" /f + ;; + win81) + csdversion=" " + currentbuildnumber="9600" + currentversion="6.3" + csdversion_hex=dword:00000000 + "$WINE" reg add "HKLM\\System\\CurrentControlSet\\Control\\ProductOptions" /v ProductType /d "WinNT" /f + ;; + win10) + csdversion=" " + currentbuildnumber="10240" + currentversion="10.0" + csdversion_hex=dword:00000000 + "$WINE" reg add "HKLM\\System\\CurrentControlSet\\Control\\ProductOptions" /v ProductType /d "WinNT" /f + ;; *) w_die "Invalid Windows version given." ;; @@ -1919,17 +2061,18 @@ w_wine_version() # Parse major/minor/micro/nano fields of VALUE. Ignore nano. Abort if major is not 1. case $2 in 0*|1.0|1.0.*) w_die "bug: $2 is before 1.1, we don't bother with bugs fixed that long ago" ;; - 1.1.*) _W_minor=1; _W_micro=`echo $2 | sed 's/.*\.//'`;; + 1.1.*) _W_minor=1; _W_micro=$(echo $2 | sed 's/.*\.//');; 1.2) _W_minor=2; _W_micro=0;; - 1.2.*) _W_minor=2; _W_micro=`echo $2 | sed 's/.*\.//'`;; - 1.3.*) _W_minor=3; _W_micro=`echo $2 | sed 's/.*\.//'`;; + 1.2.*) _W_minor=2; _W_micro=$(echo $2 | sed 's/.*\.//');; + 1.3.*) _W_minor=3; _W_micro=$(echo $2 | sed 's/.*\.//');; 1.4) _W_minor=4; _W_micro=0;; - 1.4.*) _W_minor=4; _W_micro=`echo $2 | sed 's/.*\.//'`;; - 1.5.*) _W_minor=5; _W_micro=`echo $2 | sed 's/.*\.//'`;; + 1.4.*) _W_minor=4; _W_micro=$(echo $2 | sed 's/.*\.//');; + 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/.*\.//'`;; - 1.8.*) _W_minor=8; _W_micro=`echo $2 | sed 's/.*\.//'`;; + 1.6.*) _W_minor=6; _W_micro=$(echo $2 | sed 's/.*\.//');; + 1.7.*) _W_minor=7; _W_micro=$(echo $2 | sed 's/.*\.//');; + 1.8.*) _W_minor=8; _W_micro=$(echo $2 | sed 's/.*\.//');; + 1.9.*) _W_minor=9; _W_micro=$(echo $2 | sed 's/.*\.//');; *) w_die "bug: unrecognized version $2";; esac @@ -1960,8 +2103,8 @@ w_wine_version_in() { for _W_range do - _W_val1=`echo $_W_range | sed 's/,.*//'` - _W_val2=`echo $_W_range | sed 's/.*,//'` + _W_val1=$(echo $_W_range | sed 's/,.*//') + _W_val2=$(echo $_W_range | sed 's/.*,//') # If in this range, return true case $_W_range in @@ -2001,7 +2144,7 @@ w_workaround_wine_bug() { if test "$WINE" = "" then - echo No need to work around wine bug $1 on windows + echo "No need to work around wine bug $1 on Windows" return 1 fi case "$2" in @@ -2012,13 +2155,13 @@ w_workaround_wine_bug() if test "$3" && w_wine_version_in $3 $4 $5 $6 then - echo Current wine does not have wine bug $1, so not applying workaround + echo "Current Wine does not have Wine bug $1, so not applying workaround" return 1 fi case $1 in "$WINETRICKS_BLACKLIST") - echo wine bug $1 workaround blacklisted, skipping + echo "Wine bug $1 workaround blacklisted, skipping" return 1 ;; esac @@ -2026,6 +2169,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" ;; + ru*) w_warn "Обход ошибки ${1} $_W_msg" ;; uk*) w_warn "Обхід помилки ${1} $_W_msg" ;; zh_CN*) w_warn "绕过 wine bug ${1} $_W_msg" ;; zh_TW*|zh_HK*) w_warn "繞過 wine bug ${1} $_W_msg" ;; @@ -2066,7 +2210,7 @@ w_metadata() shift shift # Echo arguments to file, with double quotes around the values. - # Used to use perl here, but that was too slow on cygwin. + # Used to use Perl here, but that was too slow on Cygwin. for arg do case "$arg" in @@ -2090,9 +2234,9 @@ w_metadata() # /tmp/w.dank.4650/metadata/dlls/comctl32.vars: 6: Syntax error: Unterminated quoted string # so check for lines that aren't properly quoted. - # Do sanity check unless running on cygwin, where it's way too slow. - case "$OS" in - "Windows_NT") + # Do sanity check unless running on Cygwin, where it's way too slow. + case "$W_PLATFORM" in + windows_cmd) ;; *) if grep '[^"]$' "$file" @@ -2110,26 +2254,11 @@ w_metadata() esac } -# Function for verbs to register their main executable [or, if name is given, -# other executables] -# Example: -# w_declare_exe "$W_PROGRAMS_X86_WIN\\WorldOfGooDemo" WorldOfGoo.exe [name] +# Function for verbs to register their main executable [or, if name is given, other executables] +# Deprecated. No-op for backwards compatibility w_declare_exe() { - _W_dir="$1" - _W_exe="$2" - if test "$3" - then - _W_name="$3" - else - _W_name="$W_PACKAGE" - fi - cat > "$W_DRIVE_C/run-$_W_name.bat" <<__EOF__ -${W_PROGRAMS_DRIVE}: -cd "$_W_dir" -$_W_exe %* -__EOF__ - unset _W_dir _W_exe _W_name + w_warn "w_declare_exe is deprecated, now a noop" } # Checks that a conflicting verb is not already installed in the prefix @@ -2164,12 +2293,12 @@ w_do_call() fi case $1 in - *=*) arg=`echo $1 | sed 's/.*=//'`; cmd=`echo $1 | sed 's/=.*//'`;; + *=*) arg=$(echo $1 | sed 's/.*=//'); cmd=$(echo $1 | sed 's/=.*//');; *) cmd=$1; arg=$2 ;; esac # Kludge: use Temp instead of temp to avoid \t expansion in w_try - # but use temp in unix path because that's what wine creates, and having both temp and Temp + # but use temp in Unix path because that's what Wine creates, and having both temp and Temp # causes confusion (e.g. makes vc2005trial fail) # FIXME: W_TMP is also set in winetricks_set_wineprefix, can we avoid the duplication? W_TMP="$W_DRIVE_C/windows/temp/_$1" @@ -2199,8 +2328,8 @@ w_do_call() fi # If needed, set the app's wineprefix - case "$OS" in - Windows_NT) + case "$W_PLATFORM" in + windows_cmd|wine_cmd) ;; *) case "$category"-"$WINETRICKS_OPT_SHAREDPREFIX" in @@ -2258,7 +2387,7 @@ w_do_call() fi fi - # If the user specified --verify, also run gui tests: + # If the user specified --verify, also run GUI tests: if test "$WINETRICKS_VERIFY" = 1 && type verify_$cmd 2> /dev/null then w_try verify_$cmd @@ -2328,10 +2457,10 @@ _EOF_ w_append_path() { - # Prepend $1 to the windows path in the registry. + # Prepend $1 to the Windows path in the registry. # Use printf %s to avoid interpreting backslashes. - _W_NEW_PATH="`printf %s $1| sed 's,\\\\,\\\\\\\\,g'`" - _W_WIN_PATH="`w_expand_env PATH | sed 's,\\\\,\\\\\\\\,g'`" + _W_NEW_PATH="$(printf %s $1| sed 's,\\\\,\\\\\\\\,g')" + _W_WIN_PATH="$(w_expand_env PATH | sed 's,\\\\,\\\\\\\\,g')" sed 's/$/\r/' > "$W_TMP"/path.reg <<_EOF_ REGEDIT4 @@ -2349,10 +2478,10 @@ _EOF_ winetricks_get_sha1sum_prog() { # Mac folks tend to not have sha1sum, but we can make do with openssl - if [ -x "`which sha1sum 2>/dev/null`" ] + if [ -x "$(which sha1sum 2>/dev/null)" ] then WINETRICKS_SHA1SUM="sha1sum" - elif [ -x "`which openssl 2>/dev/null`" ] + elif [ -x "$(which openssl 2>/dev/null)" ] then WINETRICKS_SHA1SUM="openssl dgst -sha1" else @@ -2360,8 +2489,23 @@ winetricks_get_sha1sum_prog() { fi } +winetricks_get_platform() +{ + if [ "${OS}" = "Windows_NT" ] + then + if [ ! -v ${WINELOADERNOEXEC} ] + then + export W_PLATFORM="windows_cmd" + else + export W_PLATFORM="wine_cmd" + fi + else + export W_PLATFORM="wine" + fi +} + winetricks_print_version() { - # normally done by winetricks_init, but we don't want to set up the WINEPREFIX + # Normally done by winetricks_init, but we don't want to set up the WINEPREFIX # just to get the winetricks version: winetricks_get_sha1sum_prog @@ -2376,10 +2520,10 @@ winetricks_early_wine() # The sed works around http://bugs.winehq.org/show_bug.cgi?id=25838 # which unfortunately got released in wine-1.3.12 # We would like to use DISPLAY= to prevent virtual desktops from - # popping up, but that causes autohotkey's tray icon to not show up. - # We used to use WINEDLLOVERRIDES=mshtml= here to suppress the gecko + # popping up, but that causes AutoHotKey's tray icon to not show up. + # We used to use WINEDLLOVERRIDES=mshtml= here to suppress the Gecko # autoinstall, but that yielded wineprefixes that *never* autoinstalled - # gecko (winezeug bug 223). + # 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> "$W_TMP_EARLY"/early_wine.err.txt | ( sed 's/.*1h.=//' | tr -d '\r' | grep -v "Module not found" || true) @@ -2387,13 +2531,13 @@ winetricks_early_wine() winetricks_detect_gui() { - if test -x "`which zenity 2>/dev/null`" + if test -x "$(which zenity 2>/dev/null)" then WINETRICKS_GUI=zenity WINETRICKS_MENU_HEIGHT=500 WINETRICKS_MENU_WIDTH=1010 - elif test -x "`which kdialog 2>/dev/null`" + elif test -x "$(which kdialog 2>/dev/null)" then echo "Zenity not found! Using kdialog as poor substitute." WINETRICKS_GUI=kdialog @@ -2415,17 +2559,17 @@ winetricks_detect_sudo() fi if test x"$DISPLAY" != x"" then - if test -x "`which gksudo 2>/dev/null`" + if test -x "$(which gksudo 2>/dev/null)" then WINETRICKS_SUDO=gksudo - elif test -x "`which kdesudo 2>/dev/null`" + elif test -x "$(which kdesudo 2>/dev/null)" then WINETRICKS_SUDO=kdesudo # fall back to the su versions if sudo isn't available (Fedora, etc.): - elif test -x "`which gksu 2>/dev/null`" + elif test -x "$(which gksu 2>/dev/null)" then WINETRICKS_SUDO=gksu - elif test -x "`which kdesu 2>/dev/null`" + elif test -x "$(which kdesu 2>/dev/null)" then WINETRICKS_SUDO=kdesu fi @@ -2445,6 +2589,18 @@ winetricks_get_prefix_var() winetricks_prefixmenu() { case $LANG in + ru*) _W_msg_title="Winetricks - выберите путь wine (wineprefix)" + _W_msg_body='Что вы хотите сделать?' + _W_msg_apps='Установить программу' + _W_msg_games='Установить игру' + _W_msg_benchmarks='Установить приложение для оценки производительности' + _W_msg_default="Выберите путь для wine по умолчанию" + _W_msg_unattended0="Отключить автоматическую установку" + _W_msg_unattended1="Включить автоматическую установку" + _W_msg_showbroken0="Спрятать нерабочие программы (например, использующие DRM)" + _W_msg_showbroken1="Отобразить нерабочие программы (например, использующие DRM)" + _W_msg_help="Просмотр справки (в веб браузере)" + ;; uk*) _W_msg_title="Winetricks - виберіть wineprefix" _W_msg_body='Що Ви хочете зробити?' _W_msg_apps='Встановити додаток' @@ -2481,9 +2637,21 @@ winetricks_prefixmenu() _W_msg_showbroken1="有問題的程式 (例如那些有數字版權問題)" _W_msg_help="檢視輔助說明" ;; + de*) _W_msg_title="Winetricks - wineprefix auswählen" + _W_msg_body='Was möchten Sie tun?' + _W_msg_apps='Eine Programm installieren' + _W_msg_games='Ein Spiel installieren' + _W_msg_benchmarks='Ein Benchmark installieren' + _W_msg_default="Standard wineprefix auswählen" + _W_msg_unattended0="Automatische Installation deaktivieren" + _W_msg_unattended1="Automatische Installation aktivieren" + _W_msg_showbroken0="Defekte Programme nicht anzeigen (z.B. solche mit DRM Problemen)" + _W_msg_showbroken1="Defekte Programme anzeigen (z.B. solche mit DRM Problemen)" + _W_msg_help="Hilfe anzeigen" + ;; *) _W_msg_title="Winetricks - choose a wineprefix" _W_msg_body='What do you want to do?' - _W_msg_apps='Install an app' + _W_msg_apps='Install an application' _W_msg_games='Install a game' _W_msg_benchmarks='Install a benchmark' _W_msg_default="Select the default wineprefix" @@ -2532,13 +2700,14 @@ winetricks_prefixmenu() p="${q##*/}" if test -f "$W_PREFIXES_ROOT/$p/wrapper.cfg" then - _W_msg_name="$p (`winetricks_get_prefix_var name`)" + _W_msg_name="$p ($(winetricks_get_prefix_var name))" else _W_msg_name="$p" fi case $LANG in zh_CN*) printf %s " FALSE prefix='$p' '选择管理 $_W_msg_name' " ;; zh_TW*|zh_HK*) printf %s " FALSE prefix='$p' '選擇管理 $_W_msg_name' " ;; + de*) printf %s " FALSE prefix='$p' '$_W_msg_name auswählen' " ;; *) printf %s " FALSE prefix='$p' 'Select $_W_msg_name' " ;; esac done >> "$WINETRICKS_WORKDIR"/zenity.sh @@ -2569,7 +2738,7 @@ winetricks_prefixmenu() p="${q##*/}" if test -f "$W_PREFIXES_ROOT/$p/wrapper.cfg" then - _W_msg_name="$p (`winetricks_get_prefix_var name`)" + _W_msg_name="$p ($(winetricks_get_prefix_var name))" else _W_msg_name="$p" fi @@ -2604,14 +2773,14 @@ winetricks_mainmenu() _W_msg_body='Was möchten Sie tun?' _W_msg_dlls="Windows-DLL installieren" _W_msg_fonts='Schriftart installieren' - _W_msg_settings='Change Wine settings' - _W_msg_winecfg='Run winecfg' - _W_msg_regedit='Run regedit' - _W_msg_taskmgr='Run taskmgr' - _W_msg_uninstaller='Run uninstaller' - _W_msg_shell='Run a commandline shell (for debugging)' - _W_msg_folder='Browse files' - _W_msg_annihilate="Delete ALL DATA AND APPLICATIONS INSIDE THIS WINEPREFIX" + _W_msg_settings='Wine Einstellungen ändern' + _W_msg_winecfg='winecfg starten' + _W_msg_regedit='regedit starten' + _W_msg_taskmgr='taskmgr starten' + _W_msg_uninstaller='uninstaller starten' + _W_msg_shell='Eine Kommandozeile zum debuggen starten' + _W_msg_folder='Ordner durchsuchen' + _W_msg_annihilate="ALLE DATEIEN UND PROGRAMME IN DIESEM WINEPREFIX Löschen" ;; pl*) _W_msg_title="Winetricks - obecny prefiks to \"$WINEPREFIX\"" _W_msg_body='What would you like to do to this wineprefix?' @@ -2626,6 +2795,19 @@ winetricks_mainmenu() _W_msg_folder='Przeglądaj pliki' _W_msg_annihilate="Usuń WSZYSTKIE DANE I APLIKACJE WEWNĄTRZ TEGO WINEPREFIXA" ;; + ru*) _W_msg_title="Winetricks - текущий путь для wine (wineprefix) \"$WINEPREFIX\"" + _W_msg_body='Что вы хотите сделать с этим wineprefix?' + _W_msg_dlls="Установить DLL библиотеку или компонент Windows" + _W_msg_fonts='Установить шрифт' + _W_msg_settings='Поменять настройки' + _W_msg_winecfg='Запустить winecfg (редактор настроек wine)' + _W_msg_regedit='Запустить regedit (редактор рееста)' + _W_msg_taskmgr='Запустить taskmgr (менеджер задач)' + _W_msg_uninstaller='Запустить uninstaller (деинсталятор)' + _W_msg_shell='Запустить графический терминал (для отладки)' + _W_msg_folder='Проводник файлов' + _W_msg_annihilate="Удалить ВСЕ ДАННЫЕ И ПРИЛОЖЕНИЯ В ЭТОМ WINEPREFIX" + ;; uk*) _W_msg_title="Winetricks - поточний prefix \"$WINEPREFIX\"" _W_msg_body='Що Ви хочете зробити для цього wineprefix?' _W_msg_dlls="Встановити Windows DLL чи компонент(и)" @@ -2634,7 +2816,7 @@ winetricks_mainmenu() _W_msg_winecfg='Запустити winecfg' _W_msg_regedit='Запустити regedit' _W_msg_taskmgr='Запустити taskmgr' - _W_msg_uninstaller='Run uninstaller' + _W_msg_uninstaller='Встановлення/видалення програм' _W_msg_shell='Запуск командної оболонки (для налагодження)' _W_msg_folder='Перегляд файлів' _W_msg_annihilate="Видалити УСІ ДАНІ ТА ПРОГРАМИ З ЦЬОГО WINEPREFIX" @@ -2647,7 +2829,7 @@ winetricks_mainmenu() _W_msg_winecfg='运行 winecfg' _W_msg_regedit='运行注册表' _W_msg_taskmgr='运行任务管理器' - _W_msg_uninstaller='Run uninstaller' + _W_msg_uninstaller='运行卸载程序' _W_msg_shell='运行命令提示窗口 (作为调试)' _W_msg_folder='浏览容器中的文件' _W_msg_annihilate="删除当前容器所有相关文件,包括启动器,完全卸载" @@ -2660,7 +2842,7 @@ winetricks_mainmenu() _W_msg_winecfg='執行 winecfg' _W_msg_regedit='執行註冊表' _W_msg_taskmgr='執行工作管理者' - _W_msg_uninstaller='Run uninstaller' + _W_msg_uninstaller='執行反安裝程式' _W_msg_shell='執行指令輔助說明視窗 (作為除錯)' _W_msg_folder='瀏覽容器中的檔案' _W_msg_annihilate="移除目前容器所有相依檔案,包括啟動器,完全卸載" @@ -2739,12 +2921,15 @@ winetricks_settings_menu() da*) _W_msg_title='Vælg en pakke' _W_msg_body='Which settings would you like to change?' ;; - de*) _W_msg_title='Pakete auswählen' - _W_msg_body='Which settings would you like to change?' + de*) _W_msg_title="Winetricks - Aktueller Prefix ist \"$WINEPREFIX\"" + _W_msg_body='Welche Einstellungen möchten Sie ändern?' ;; pl*) _W_msg_title="Winetricks - obecny prefiks to \"$WINEPREFIX\"" _W_msg_body='Which settings would you like to change?' ;; + ru*) _W_msg_title="Winetricks - текущий путь wine (wineprefix) \"$WINEPREFIX\"" + _W_msg_body='Какие настройки вы хотите изменить?' + ;; uk*) _W_msg_title="Winetricks - поточний prefix \"$WINEPREFIX\"" _W_msg_body='Які налаштування Ви хочете змінити?' ;; @@ -2780,7 +2965,7 @@ winetricks_settings_menu() --list \ --checklist \ --column '' \ - --column Paket \ + --column Einstellung \ --column Name \ --height $WINETRICKS_MENU_HEIGHT \ --width $WINETRICKS_MENU_WIDTH \ @@ -2798,6 +2983,18 @@ winetricks_settings_menu() --width $WINETRICKS_MENU_WIDTH \ " ;; + ru*) printf %s "zenity \ + --title '$_W_msg_title' \ + --text '$_W_msg_body' \ + --list \ + --checklist \ + --column '' \ + --column Установка \ + --column Имя \ + --height $WINETRICKS_MENU_HEIGHT \ + --width $WINETRICKS_MENU_WIDTH \ + " + ;; uk*) printf %s "zenity \ --title '$_W_msg_title' \ --text '$_W_msg_body' \ @@ -2850,7 +3047,7 @@ winetricks_settings_menu() for metadatafile in "$WINETRICKS_METADATA"/$WINETRICKS_CURMENU/*.vars do - code=`winetricks_metadata_basename "$metadatafile"` + code=$(winetricks_metadata_basename "$metadatafile") ( title='?' author='?' @@ -2892,14 +3089,18 @@ winetricks_showmenu() _W_msg_body='Vilken pakke vil du installere?' _W_cached="cached" ;; - de*) _W_msg_title='Pakete auswählen' - _W_msg_body='Welche Pakete möchten Sie installieren?' + de*) _W_msg_title="Winetricks - Aktueller Prefix ist \"$WINEPREFIX\"" + _W_msg_body='Welche Paket(e) möchten Sie installieren?' _W_cached="gecached" ;; pl*) _W_msg_title="Winetricks - obecny prefiks to \"$WINEPREFIX\"" _W_msg_body='Które paczki chesz zainstalować?' _W_cached="zarchiwizowane" ;; + ru*) _W_msg_title="Winetricks - текущий путь wine (wineprefix) \"$WINEPREFIX\"" + _W_msg_body='Какое приложение(я) вы хотите установить?' + _W_cached="в кэше" + ;; uk*) _W_msg_title="Winetricks - поточний prefix \"$WINEPREFIX\"" _W_msg_body='Які пакунки Ви хочете встановити?' _W_cached="кешовано" @@ -2976,6 +3177,24 @@ winetricks_showmenu() --width $WINETRICKS_MENU_WIDTH \ " ;; + ru*) 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 \ + " + ;; uk*) printf %s "zenity \ --title '$_W_msg_title' \ --text '$_W_msg_body' \ @@ -3053,7 +3272,7 @@ winetricks_showmenu() > "$WINETRICKS_WORKDIR"/installed.txt for metadatafile in "$WINETRICKS_METADATA"/$WINETRICKS_CURMENU/*.vars do - code=`winetricks_metadata_basename "$metadatafile"` + code=$(winetricks_metadata_basename "$metadatafile") ( title='?' author='?' @@ -3131,7 +3350,7 @@ winetricks_is_cached() *..*) # Remove /foo/.. so verbs that don't have their own cache directories # can refer to siblings - _W_path="`echo $_W_path | sed 's,/[^/]*/\.\.,,'`" + _W_path="$(echo $_W_path | sed 's,/[^/]*/\.\.,,')" ;; esac if test -f "$_W_path" @@ -3158,10 +3377,10 @@ winetricks_is_installed() return 1 # not installed fi - case "$OS" in - Windows_NT) + case "$W_PLATFORM" in + windows_cmd|wine_cmd) # On Windows, there's no wineprefix, just check if file's there - _W_file_unix="`w_pathconv -u "$_W_file"`" + _W_file_unix="$(w_pathconv -u "$_W_file")" if test -f "$_W_file_unix" then unset _W_file _W_file_unix _W_prefix @@ -3180,13 +3399,13 @@ winetricks_is_installed() esac if test -d "$_W_prefix/dosdevices" then - # 'win7 vcrun2005' creates diffrent file than 'winxp vcrun2005' + # 'win7 vcrun2005' creates different file than 'winxp vcrun2005' # so let it specify multiple, separated by | _W_IFS="$IFS" IFS='|' for _W_file_ in $_W_file do - _W_file_unix="`WINEPREFIX="$_W_prefix" w_pathconv -u "$_W_file_"`" + _W_file_unix="$(WINEPREFIX="$_W_prefix" w_pathconv -u "$_W_file_")" if test -f "$_W_file_unix" && ! grep -q "Wine placeholder DLL" "$_W_file_unix" then IFS="$_W_IFS" @@ -3211,7 +3430,7 @@ winetricks_list_cached() # Use a subshell to avoid putting metadata in global space # If this is too slow, we can unset known metadata by hand ( - code=`winetricks_metadata_basename "$_W_metadatafile"` + code=$(winetricks_metadata_basename "$_W_metadatafile") . "$_W_metadatafile" if winetricks_is_cached $code then @@ -3242,12 +3461,12 @@ winetricks_list_installed() # Jump through a couple hoops to evaluate the verbs in alphabetical order # Assume that no filename contains '|' cd "$WINETRICKS_METADATA" - for _W_metadatafile in `ls */*.vars | sed 's,^\(.*\)/,\1|,' | sort -t\| -k 2 | tr '|' /` + for _W_metadatafile in $(ls */*.vars | sed 's,^\(.*\)/,\1|,' | sort -t\| -k 2 | tr '|' /) do # Use a subshell to avoid putting metadata in global space # If this is too slow, we can unset known metadata by hand ( - code=`winetricks_metadata_basename "$_W_metadatafile"` + code=$(winetricks_metadata_basename "$_W_metadatafile") . "$_W_metadatafile" if winetricks_is_installed $code then @@ -3282,6 +3501,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" ;; + ru*) _W_cached="в кэше" ; _W_download="доступно для скачивания" ;; uk*) _W_cached="кешовано" ; _W_download="завантажуване" ;; zh_CN*) _W_cached="已缓存" ; _W_download="可下载" ;; zh_TW*|zh_HK*) _W_cached="已緩存" ; _W_download="可下載" ;; @@ -3293,7 +3513,7 @@ winetricks_list_all() # Use a subshell to avoid putting metadata in global space # If this is too slow, we can unset known metadata by hand ( - code=`winetricks_metadata_basename "$_W_metadatafile"` + code=$(winetricks_metadata_basename "$_W_metadatafile") . "$_W_metadatafile" # Compute cached and downloadable flags @@ -3321,13 +3541,13 @@ winetricks_die_if_user_not_dirowner() _W_checkdir="$1" else # fixme: quoting problem? - _W_checkdir=`dirname "$1"` + _W_checkdir=$(dirname "$1") fi - _W_nuser=`id -u` - _W_nowner=`ls -l -n -d -L "$_W_checkdir" | awk '{print $3}'` + _W_nuser=$(id -u) + _W_nowner=$(ls -l -n -d -L "$_W_checkdir" | awk '{print $3}') if test x$_W_nuser != x$_W_nowner then - w_die "You (`id -un`) don't own $_W_checkdir. Don't run this tool as another user!" + w_die "You ($(id -un)) don't own $_W_checkdir. Don't run this tool as another user!" fi } @@ -3389,7 +3609,7 @@ winetricks_read_udf_volume_name() # 32 24 volume identifier (dstring) # 1. check the 16 bit TagIdentifier of the descriptor tag, make sure it's 2 - tagid=`winetricks_read_hex 524288 2 $1` + tagid=$(winetricks_read_hex 524288 2 $1) : echo tagid is $tagid case "$tagid" in "02 00") : echo Found AVDP ;; @@ -3397,13 +3617,13 @@ winetricks_read_udf_volume_name() esac # 2. read the location of the main volume descriptor: - offset=`winetricks_read_decimal 524308 $1` + offset=$(winetricks_read_decimal 524308 $1) : echo MVD is at sector $offset - offset=`expr $offset \* 2048` + offset=$(expr $offset \* 2048) : echo MVD is at byte $offset # 3. check the TagIdentifier of the MVD's descriptor tag, make sure it's 1 - tagid=`winetricks_read_hex $offset 2 $1` + tagid=$(winetricks_read_hex $offset 2 $1) : echo tagid is $tagid case "$tagid" in "01 00") : echo Found MVD ;; @@ -3411,10 +3631,10 @@ winetricks_read_udf_volume_name() esac # 4. Read whether the name is in 8 or 16 bit chars - offset=`expr $offset + 24` - width=`winetricks_read_hex $offset 1 $1` + offset=$(expr $offset + 24) + width=$(winetricks_read_hex $offset 1 $1) - offset=`expr $offset + 1` + offset=$(expr $offset + 1) # 5. Profit! case $width in @@ -3442,7 +3662,7 @@ winetricks_read_volume_name() # "CD001": ecma-119 # "CDW02": ecma-168 - std_id=`winetricks_read_bytes 32769 5 $1` + std_id=$(winetricks_read_bytes 32769 5 $1) : echo std_id is $std_id case $std_id in @@ -3454,11 +3674,11 @@ winetricks_read_volume_name() winetricks_volname() { - x=`volname $1 2> /dev/null| sed 's/ *$//'` + x=$(volname $1 2> /dev/null| sed 's/ *$//') if test "x$x" = "x" then # UDF? See https://bugs.launchpad.net/bugs/678419 - x=`winetricks_read_volume_name $1` + x=$(winetricks_read_volume_name $1) fi echo $x } @@ -3508,20 +3728,21 @@ winetricks_cache_iso() sleep 5 done - # Some distros automount discs in /media, take advantage of that + # Some distributions automount discs in /media, take advantage of that if test -d "/media/_W_expected_volname" then break fi # Otherwise try and read it straight from unmounted volume - _W_volname=`winetricks_volname $WINETRICKS_DEV` + _W_volname=$(winetricks_volname $WINETRICKS_DEV) if test "$_W_expected_volname" != "$_W_volname" then case $LANG in 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]" ;; + 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]" ;; + ru*) w_warn "Неверный диск [$_W_volname]. Пожалуйста, вставьте диск [$_W_expected_volname]" ;; + uk*) w_warn "Неправильний диск [$_W_volname]. Будь ласка, вставте диск [$_W_expected_volname]" ;; zh_CN*) w_warn " [$_W_volname] 光盘插入错误,请插入光盘 [$_W_expected_volname]" ;; zh_TW*|zh_HK*) w_warn " [$_W_volname] 光碟插入錯誤,請插入光碟 [$_W_expected_volname]" ;; *) w_warn "Wrong disc [$_W_volname] inserted. Please insert disc [$_W_expected_volname]" ;; @@ -3541,7 +3762,7 @@ winetricks_cache_iso() WINETRICKS_DD_PID=$! ;; ddrescue) - if test "`which ddrescue`" = "" + if test "$(which ddrescue)" = "" then w_die "Please install ddrescue first." fi @@ -3624,7 +3845,7 @@ winetricks_mount_cached_iso() if test "$WINE" = "" then winetricks_load_vcdmount - my_img_win="`w_pathconv -w $WINETRICKS_IMG | tr '\012' ' ' | sed 's/ $//'`" + my_img_win="$(w_pathconv -w $WINETRICKS_IMG | tr '\012' ' ' | sed 's/ $//')" cd "$VCD_DIR" w_try vcdmount.exe /l=$letter "$my_img_win" @@ -3641,14 +3862,14 @@ winetricks_mount_cached_iso() break 2 fi done - tries=`expr $tries + 1` + tries=$(expr $tries + 1) echo "Waiting for mount to finish mounting" sleep 1 done else # Linux # FIXME: find a way to mount or copy from image without sudo - _W_USERID=`id -u` + _W_USERID=$(id -u) case "$WINETRICKS_SUDO" in gksudo) w_try $WINETRICKS_SUDO "mkdir -p $W_ISO_MOUNT_ROOT" @@ -3669,12 +3890,12 @@ winetricks_mount_cached_iso() fi } -# List the currently mounted udf or iso9660 filesystems that match the given pattern +# List the currently mounted UDF or iso9660 filesystems that match the given pattern # Output format: # dev mountpoint # dev mountpoint # ... -# Mountpoints may contain spaces. +# Mount points may contain spaces. winetricks_list_mounts() { @@ -3689,11 +3910,11 @@ winetricks_list_mounts() winetricks_is_mounted() { # First, check for matching mountpoint - _W_tmp="`winetricks_list_mounts "$1"`" + _W_tmp="$(winetricks_list_mounts "$1")" if test "$_W_tmp" then - _W_dev=`echo $_W_tmp | sed 's/ .*//'` - _W_mountpoint="`echo $_W_tmp | sed 's/^[^ ]* //'`" + _W_dev=$(echo $_W_tmp | sed 's/ .*//') + _W_mountpoint="$(echo $_W_tmp | sed 's/^[^ ]* //')" # Volume found! return 0 fi @@ -3705,10 +3926,10 @@ winetricks_is_mounted() do IFS= read _W_tmp - _W_dev=`echo $_W_tmp | sed 's/ .*//'` + _W_dev=$(echo $_W_tmp | sed 's/ .*//') test "$_W_dev" || break - _W_mountpoint="`echo $_W_tmp | sed 's/^[^ ]* //'`" - _W_volname=`winetricks_volname $_W_dev` + _W_mountpoint="$(echo $_W_tmp | sed 's/^[^ ]* //')" + _W_volname=$(winetricks_volname $_W_dev) if test "$1" = "$_W_volname" then # Volume found! Want to return from function here, but can't @@ -3720,8 +3941,8 @@ winetricks_is_mounted() if test -f "$W_TMP_EARLY/_W_tmp.$LOGNAME" then # Volume found! Return from function. - _W_dev=`cat "$W_TMP_EARLY/_W_tmp.$LOGNAME" | sed 's/ .*//'` - _W_mountpoint="`cat "$W_TMP_EARLY/_W_tmp.$LOGNAME" | sed 's/^[^ ]* //'`" + _W_dev=$(cat "$W_TMP_EARLY/_W_tmp.$LOGNAME" | sed 's/ .*//') + _W_mountpoint="$(cat "$W_TMP_EARLY/_W_tmp.$LOGNAME" | sed 's/^[^ ]* //')" rm -f "$W_TMP_EARLY/_W_tmp.$LOGNAME" return 0 fi @@ -3739,8 +3960,9 @@ winetricks_mount_real_volume() case $LANG in 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')" ;; + de*)_W_mountmsg="Bitte Disk '$_W_expected_volname' einlegen (für Paket '$W_PACKAGE')" ;; pl*) _W_mountmsg="Proszę włożyć dysk '$_W_expected_volname' (potrzebny paczce '$W_PACKAGE')" ;; + ru*) _W_mountmsg="Пожалуйста, вставьте том '$_W_expected_volname' (требуется для пакета '$W_PACKAGE')" ;; uk*) _W_mountmsg="Будь ласка, вставте том '$_W_expected_volname' (потрібний для пакунка '$W_PACKAGE')" ;; zh_CN*) _W_mountmsg="请插入卷 '$_W_expected_volname' (为包 '$W_PACKAGE 所需')" ;; zh_TW*|zh_HK*) _W_mountmsg="請插入卷 '$_W_expected_volname' (為包 '$W_PACKAGE 所需')" ;; @@ -3750,8 +3972,8 @@ winetricks_mount_real_volume() if test "$WINE" = "" then # Assume already mounted, just get drive letter - W_ISO_MOUNT_LETTER=`awk '/iso/ {print $1}' < /proc/mounts | tr -d :` - W_ISO_MOUNT_ROOT=`awk '/iso/ {print $2}' < /proc/mounts` + W_ISO_MOUNT_LETTER=$(awk '/iso/ {print $1}' < /proc/mounts | tr -d :) + W_ISO_MOUNT_ROOT=$(awk '/iso/ {print $2}' < /proc/mounts) else while ! winetricks_is_mounted "$_W_expected_volname" do @@ -3785,7 +4007,7 @@ winetricks_cleanup() set +e if test -f "$WINETRICKS_WORKDIR/dd-pid" then - kill `cat "$WINETRICKS_WORKDIR/dd-pid"` + kill $(cat "$WINETRICKS_WORKDIR/dd-pid") fi test "$WINETRICKS_CACHE_SYMLINK" && rm -f "$WINETRICKS_CACHE_SYMLINK" test "$W_OPT_NOCLEAN" = 1 || rm -rf "$WINETRICKS_WORKDIR" @@ -3807,6 +4029,11 @@ winetricks_set_unattended() # Might want to trim our stable of variables here a bit... W_UNATTENDED_DASH_Q="-q" W_UNATTENDED_SLASH_Q="/q" + W_UNATTENDED_SLASH_QB="/qb" + W_UNATTENDED_SLASH_QN="/qn" + W_UNATTENDED_SLASH_QNT="/qnt" + W_UNATTENDED_SLASH_QT="/qt" + W_UNATTENDED_SLASH_QUIET="/quiet" W_UNATTENDED_SLASH_S="/S" W_UNATTENDED_DASH_SILENT="-silent" W_UNATTENDED_SLASH_SILENT="/silent" @@ -3815,6 +4042,11 @@ winetricks_set_unattended() W_OPT_UNATTENDED="" W_UNATTENDED_DASH_Q="" W_UNATTENDED_SLASH_Q="" + W_UNATTENDED_SLASH_QB="" + W_UNATTENDED_SLASH_QN="" + W_UNATTENDED_SLASH_QNT="" + W_UNATTENDED_SLASH_QT="" + W_UNATTENDED_SLASH_QUIET="" W_UNATTENDED_SLASH_S="" W_UNATTENDED_DASH_SILENT="" W_UNATTENDED_SLASH_SILENT="" @@ -3823,7 +4055,7 @@ winetricks_set_unattended() } # Usage: winetricks_set_wineprefix [bottlename] -# Bottlename must not contain spaces, slashes, or other special charaters +# Bottlename must not contain spaces, slashes, or other special characters # If bottlename is omitted, the default bottle (~/.wine) is used. winetricks_set_wineprefix() { @@ -3835,26 +4067,26 @@ winetricks_set_wineprefix() fi export WINEPREFIX #echo "WINEPREFIX is now $WINEPREFIX" >&2 - mkdir -p "`dirname "$WINEPREFIX"`" + mkdir -p "$(dirname "$WINEPREFIX")" # Run wine here to force creation of the wineprefix so it's there when we want to make the cache symlink a bit later. # The folder-name is localized! - W_PROGRAMS_WIN="`w_expand_env ProgramFiles`" + W_PROGRAMS_WIN="$(w_expand_env ProgramFiles)" case "$W_PROGRAMS_WIN" in - "") w_die "$WINE cmd.exe /c echo '%ProgramFiles%' returned empty string, error message \"`cat $W_TMP_EARLY/early_wine.err.txt`\" ";; + "") w_die "$WINE cmd.exe /c echo '%ProgramFiles%' returned empty string, error message \"$(cat $W_TMP_EARLY/early_wine.err.txt)\" ";; %*) w_die "$WINE cmd.exe /c echo '%ProgramFiles%' returned unexpanded string '$W_PROGRAMS_WIN' ... this can be caused by a corrupt wineprefix, by an old wine, or by not owning $WINEPREFIX" ;; *unknown*) w_die "$WINE cmd.exe /c echo '%ProgramFiles%' returned a string containing the word 'unknown', as if a voice had cried out in terror, and was suddenly silenced." ;; esac - case "$OS" in - "Windows_NT") + case "$W_PLATFORM" in + windows_cmd) W_DRIVE_C="/cygdrive/c" ;; *) W_DRIVE_C="$WINEPREFIX/dosdevices/c:" ;; esac # Kludge: use Temp instead of temp to avoid \t expansion in w_try - # but use temp in unix path because that's what wine creates, and having both temp and Temp + # but use temp in Unix path because that's what Wine creates, and having both temp and Temp # causes confusion (e.g. makes vc2005trial fail) if ! test "$1" then @@ -3866,12 +4098,12 @@ winetricks_set_wineprefix() W_TMP_WIN="C:\\windows\\Temp\\_$1" fi - case "$OS" in - "Windows_NT") - W_CACHE_WIN="`w_pathconv -w $W_CACHE`" + case "$W_PLATFORM" in + "windows_cmd|wine_cmd") + W_CACHE_WIN="$(w_pathconv -w $W_CACHE)" ;; *) - # For case where z: doesn't exist or / is writable (!), + # For case where Z: doesn't exist or / is writable (!), # make a drive letter for W_CACHE. Clean it up on exit. test "$WINETRICKS_CACHE_SYMLINK" && rm -f "$WINETRICKS_CACHE_SYMLINK" for letter in y x w v u t s r q p o n m @@ -3888,15 +4120,15 @@ winetricks_set_wineprefix() ;; esac - # FIXME wrong on 64 bit windows for now - W_COMMONFILES_X86_WIN="`w_expand_env CommonProgramFiles`" + # FIXME: wrong on 64-bit Windows for now + W_COMMONFILES_X86_WIN="$(w_expand_env CommonProgramFiles)" W_WINDIR_UNIX="$W_DRIVE_C/windows" # FIXME: move that tr into w_pathconv, if it's still needed? - W_PROGRAMS_UNIX="`w_pathconv -u "$W_PROGRAMS_WIN"`" + W_PROGRAMS_UNIX="$(w_pathconv -u "$W_PROGRAMS_WIN")" - # 64 bit windows has a second directory for program files + # 64-bit Windows has a second directory for program files W_PROGRAMS_X86_WIN="${W_PROGRAMS_WIN} (x86)" W_PROGRAMS_X86_UNIX="${W_PROGRAMS_UNIX} (x86)" if ! test -d "$W_PROGRAMS_X86_UNIX" @@ -3905,14 +4137,14 @@ winetricks_set_wineprefix() W_PROGRAMS_X86_UNIX="${W_PROGRAMS_UNIX}" fi - W_APPDATA_WIN="`w_expand_env AppData`" - W_APPDATA_UNIX="`w_pathconv -u "$W_APPDATA_WIN"`" + W_APPDATA_WIN="$(w_expand_env AppData)" + W_APPDATA_UNIX="$(w_pathconv -u "$W_APPDATA_WIN")" # FIXME: get fonts path from SHGetFolderPath # See also http://blogs.msdn.com/oldnewthing/archive/2003/11/03/55532.aspx W_FONTSDIR_WIN="c:\\windows\\Fonts" - # FIXME: just convert path from windows to unix? + # FIXME: just convert path from Windows to Unix? # Did the user rename Fonts to fonts? if test ! -d "$W_WINDIR_UNIX"/Fonts && test -d "$W_WINDIR_UNIX"/fonts then @@ -3946,7 +4178,10 @@ winetricks_annihilate_wineprefix() { w_skip_windows "No wineprefix to delete on windows" && return - w_askpermission "Delete $WINEPREFIX, its apps, icons, and menu items?" + case $LANG in + uk*) w_askpermission "Бажаєте видалити '$WINEPREFIX'?" ;; + *) w_askpermission "Delete $WINEPREFIX, its apps, icons, and menu items?" ;; + esac rm -rf "$WINEPREFIX"/* rm -rf "$WINEPREFIX" @@ -3975,7 +4210,7 @@ winetricks_init() if ! test "$USERNAME" then # Posix only requires LOGNAME to be defined, and sure enough, when - # logging in via console and startx in ubuntu 11.04, USERNAME isn't set! + # logging in via console and startx in Ubuntu 11.04, USERNAME isn't set! # And even normal logins in Ubuntu 13.04 doesn't set it. # I tried using only LOGNAME in this script, but it's so easy to slip # and use USERNAME, so define it here if needed. @@ -4016,13 +4251,15 @@ winetricks_init() winetricks_get_sha1sum_prog + winetricks_get_platform + #---- Public Variables ---- # Where application installers are cached # See http://standards.freedesktop.org/basedir-spec/latest/ar01s03.html if test -d "$HOME/Library/Caches" then - # MacOSX + # OS X XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/Library/Caches}" else XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}" @@ -4040,23 +4277,22 @@ winetricks_init() WINETRICKS_AUTH="${WINETRICKS_AUTH:-$XDG_DATA_HOME/winetricks/auth}" # System-specific variables - case "$OS" in - "Windows_NT") + case "$W_PLATFORM" in + windows_cmd) WINE="" WINESERVER="" W_DRIVE_C="C:/" ;; *) WINE="${WINE:-wine}" - # Find wineserver. Some distros (Debian) don't have it on the path, - # on the mistaken understanding that user scripts never need it :-( - # If wineserver is from wine-development set WINE to wine-development. - # FIXME: get packagers to put wineserver on the path. + # Find wineserver. + # Some distributions (Debian before wine 1.8-2) don't have it on the path. for x in \ "$WINESERVER" \ "${WINE}server" \ - "`which wineserver 2> /dev/null`" \ - "`dirname $WINE`/server/wineserver" \ + "$(which wineserver 2> /dev/null)" \ + "$(dirname $WINE)/server/wineserver" \ + /usr/bin/wineserver-development \ /usr/lib/wine/wineserver \ /usr/lib/i386-kfreebsd-gnu/wine/wineserver \ /usr/lib/i386-linux-gnu/wine/wineserver \ @@ -4074,7 +4310,7 @@ winetricks_init() if test -x "$x" then case "$x" in - /usr/lib/*/wine-development/wineserver) + /usr/lib/*/wine-development/wineserver|/usr/bin/wineserver-development) if test -x /usr/bin/wine-development then WINE="/usr/bin/wine-development" @@ -4097,21 +4333,21 @@ 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|2) 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" echo "winetricks is $0 ; winetricks version is $WINETRICKS_VERSION" ;; esac unset _abswine ;; esac - winetricks_set_wineprefix + winetricks_set_wineprefix $1 # FIXME: don't hardcode W_PROGRAMS_DRIVE=c @@ -4124,7 +4360,7 @@ winetricks_init() W_ISO_MOUNT_ROOT=/mnt/winetricks W_ISO_MOUNT_LETTER=i - WINETRICKS_WINE_VERSION=`winetricks_early_wine --version | sed 's/.*wine/wine/'` + WINETRICKS_WINE_VERSION=$(winetricks_early_wine --version | sed 's/.*wine/wine/') # A small hack... case "$WINETRICKS_WINE_VERSION" in wine-1.4-*) WINETRICKS_WINE_VERSION="wine-1.4.40"; export WINETRICKS_WINE_VERSION;; @@ -4134,8 +4370,10 @@ winetricks_init() wine-1.8-*) WINETRICKS_WINE_VERSION="wine-1.8.0"; export WINETRICKS_WINE_VERSION;; wine-1.8) WINETRICKS_WINE_VERSION="wine-1.8.0"; export WINETRICKS_WINE_VERSION;; esac - WINETRICKS_WINE_MINOR=`echo $WINETRICKS_WINE_VERSION | sed 's/wine-1\.\([0-9]*\)\..*/\1/'` - WINETRICKS_WINE_MICRO=`echo $WINETRICKS_WINE_VERSION | sed 's/wine-1.[0-9][0-9]*\.\([0-9]*\).*/\1/'` + WINETRICKS_WINE_MINOR=$(echo $WINETRICKS_WINE_VERSION | sed 's/wine-1\.\([0-9]*\)\..*/\1/') + WINETRICKS_WINE_MICRO=$(echo $WINETRICKS_WINE_VERSION | sed 's/wine-1.[0-9][0-9]*\.\([0-9]*\).*/\1/') + + echo "Using winetricks $(winetricks_print_version) with $WINETRICKS_WINE_VERSION" } winetricks_usage() @@ -4149,6 +4387,7 @@ Tilvalg: -k|--keep_isos: lagr iso'er lokalt (muliggør senere installation uden disk) -q|--unattended: stil ingen spørgsmål, installér bare automatisk -r|--ddrescue: brug alternativ disk-tilgangsmetode (hjælper i tilfælde af en ridset disk) +-t|--torify: Run downloads under torify, if available -v|--verbose: vis alle kommandoer som de bliver udført -V|--version: vis programversionen og afslut -h|--help: vis denne besked og afslut @@ -4162,24 +4401,38 @@ _EOF_ ;; de*) cat <<_EOF_ -Usage: $0 [options] [verb|path-to-verb] ... +Benutzung: $0 [options] [Kommando|Verb|Pfad-zu-Verb] ... Angegebene Verben ausführen. -Jeder Verb installiert z.B. eine Anwendung oder ändert eine Einstellung. +Jedes Verb installiert eine Anwendung oder ändert eine Einstellung. + Optionen: --k|--keep_isos: isos local speichern (erlaubt spätere Installierung ohne Disk) --q|--unattended: keine Fragen stellen, alles automatisch installieren --r|--ddrescue: alternative Zugriffsmodus (hilft bei gekratzten Disks) --v|--verbose: alle ausgeführten Kommandos anzeigen --V|--version: Programmversion anzeigen --h|--help: diese Hilfemeldung anzeigen -Verben: -apps: Typ 'Andwendungen' auswählen -games: Typ 'Spiele' auswählen -list: Verben von ausgewählte Typ auflisten -list-cached: Verben für schon gecachte Installers auflisten -list-download: Verben für herunterladbare Anwendungen auflisten -list-manual-download: list applications which can be downloaded with some help from the user -list-installed: Verben für schon installlierte Programme auflisten + --force Nicht prüfen ob Pakete bereits installiert wurden + --gui GUI Diagnosen anzeigen, auch wenn von der Kommandozeile gestartet + --isolate Jedes Programm oder Spiel in eigener Bottle (WINEPREFIX) installieren +-k, --keep_isos ISOs local speichern (erlaubt spätere Installation ohne Disk) + --no-clean Temp Verzeichnisse nicht löschen (nützlich beim debuggen) +-q, --unattended Keine Fragen stellen, alles automatisch installieren +-r, --ddrescue Alternativer Zugriffsmodus (hilft bei zerkratzten Disks) + --showbroken Auch Verben anzeigen die momentan in Wine nicht funktionieren +-t --torify Run downloads under torify, if available + --verify Wenn Möglisch automatische GUI Tests für Verben starten +-v, --verbose Alle ausgeführten Kommandos anzeigen +-h, --help Diese Hilfemeldung anzeigen +-V, --version Programmversion anzeigen und Beenden + +Kommandos: +list Kategorien auflisten +list-all Alle Kategorien und deren Verben auflisten +apps list Verben der Kategorie 'Anwendungen' auflisten +benchmarks list Verben der Kategorie 'Benchmarks' auflisten +dlls list Verben der Kategorie 'DLLs' auflisten +games list Verben der Kategorie 'Spiele' auflisten +settings list Verben der Kategorie 'Einstellungen' auflisten +list-cached Verben für bereits gecachte Installers auflisten +list-download Verben für automatisch herunterladbare Anwendungen auflisten +list-manual-download Verben für vom Benutzer herunterladbare Anwendungen auflisten +list-installed Bereits installierte Verben auflisten +prefix=foobar WINEPREFIX=$W_PREFIXES_ROOT/foobar auswählen _EOF_ ;; *) @@ -4191,11 +4444,14 @@ Options: --force Don't check whether packages were already installed --gui Show gui diagnostics even when driven by commandline --isolate Install each app or game in its own bottle (WINEPREFIX) + --self-update Update this application to the last version + --update-rollback Rollback the last self update -k, --keep_isos Cache isos (allows later installation without disc) --no-clean Don't delete temp directories (useful during debugging) -q, --unattended Don't ask any questions, just install automatically -r, --ddrescue Retry hard when caching scratched discs --showbroken Even show verbs that are currently broken in wine +-t --torify Run downloads under torify, if available --verify Run (automated) GUI tests for verbs, if available -v, --verbose Echo all commands as they are executed -h, --help Display this message and exit @@ -4222,22 +4478,25 @@ _EOF_ winetricks_handle_option() { case "$1" in - -r|--ddrescue) WINETRICKS_OPT_DD=ddrescue ;; - -k|--keep_isos) WINETRICKS_OPT_KEEPISOS=1 ;; - -q|--unattended) winetricks_set_unattended 1 ;; - -v|--verbose) WINETRICKS_OPT_VERBOSE=1 ; set -x;; - -vv|--really-verbose) WINETRICKS_OPT_VERBOSE=2 ; set -x ;; - -V|--version) winetricks_print_version ; exit 0;; - --verify) WINETRICKS_VERIFY=1 ;; - -h|--help) winetricks_usage ; exit 0 ;; - --isolate) WINETRICKS_OPT_SHAREDPREFIX=0 ;; - --no-isolate) WINETRICKS_OPT_SHAREDPREFIX=1 ;; - --no-clean) W_OPT_NOCLEAN=1 ;; --force) WINETRICKS_FORCE=1;; --gui) winetricks_detect_gui;; - --showbroken) W_OPT_SHOWBROKEN=1 ;; + -h|--help) winetricks_usage ; exit 0 ;; + --isolate) WINETRICKS_OPT_SHAREDPREFIX=0 ;; + -k|--keep_isos) WINETRICKS_OPT_KEEPISOS=1 ;; + --no-clean) W_OPT_NOCLEAN=1 ;; + --no-isolate) WINETRICKS_OPT_SHAREDPREFIX=1 ;; --optin) WINETRICKS_STATS_REPORT=1;; --optout) WINETRICKS_STATS_REPORT=0;; + -q|--unattended) winetricks_set_unattended 1 ;; + -r|--ddrescue) WINETRICKS_OPT_DD=ddrescue ;; + --self-update) winetricks_selfupdate;; + --showbroken) W_OPT_SHOWBROKEN=1 ;; + -t|--torify) WINETRICKS_OPT_TORIFY=1 ;; + --update-rollback) winetricks_selfupdate_rollback;; + -v|--verbose) WINETRICKS_OPT_VERBOSE=1 ; set -x;; + -V|--version) winetricks_print_version ; exit 0;; + --verify) WINETRICKS_VERIFY=1 ;; + -vv|--really-verbose) WINETRICKS_OPT_VERBOSE=2 ; set -x ;; -*) w_die "unknown option $1" ;; *) return 1 ;; esac @@ -4247,13 +4506,13 @@ winetricks_handle_option() # Must initialize variables before calling w_metadata if ! test "$WINETRICKS_LIB" then - WINETRICKS_SRCDIR=`dirname "$0"` - WINETRICKS_SRCDIR=`cd "$WINETRICKS_SRCDIR"; pwd` + WINETRICKS_SRCDIR=$(dirname "$0") + WINETRICKS_SRCDIR=$(cd "$WINETRICKS_SRCDIR"; pwd) # Which GUI helper to use (none/zenity/kdialog). See winetricks_detect_gui. WINETRICKS_GUI=none # Default to a shared prefix: - WINETRICKS_OPT_SHAREDPREFIX=1 + WINETRICKS_OPT_SHAREDPREFIX=${WINETRICKS_OPT_SHAREDPREFIX:-1} # Handle options before init, to avoid starting wine for --help or --version while winetricks_handle_option $1 @@ -4261,15 +4520,22 @@ then shift done - winetricks_init + # Workaround for https://github.com/Winetricks/winetricks/issues/599 + # If --isolate is used, pass verb to winetricks_init, so it can set the wineprefix using winetricks_set_wineprefix() + # Otherwise, an arch mismatch between ${WINEPREFIX:-$HOME/.wine} and the prefix to be made for the isolated app would cause it to fail + case $WINETRICKS_OPT_SHAREDPREFIX in + 0) winetricks_init $1 ;; + *) winetricks_init ;; + esac fi winetricks_install_app() { case $LANG in da*) fail_msg="Installationen af pakken $1 fejlede" ;; - de*) fail_msg="Installieren von Pakete $1 gescheitert" ;; + de*) fail_msg="Installieren von Paket $1 gescheitert" ;; pl*) fail_msg="Niepowodzenie przy instalacji paczki $1" ;; + ru*) fail_msg="Ошибка установки пакета $1" ;; uk*) fail_msg="Помилка встановлення пакунка $1" ;; zh_CN*) fail_msg="$1 安装失败" ;; zh_TW*|zh_HK*) fail_msg="$1 安裝失敗" ;; @@ -4366,8 +4632,8 @@ helper_win7sp1() #--------------------------------------------------------- -w_metadata adobeair dlls \ - title="Adobe AIR 19.0" \ +w_metadata adobeair dlls \ + title="Adobe AIR 20.x" \ publisher="Adobe" \ year="2015" \ media="download" \ @@ -4390,8 +4656,10 @@ load_adobeair() # 2015-11-06: 19.x sha1sum 3bc2a568204a3a9b59ca347ab49585f0c5fab279 # 2015-12-27: 20.0 sha1sum 9c10b7be43771869c381c73197c9a0fcd1b727cf # 2015-12-29: 20.0.0.233 (had to check with strings on Adobe AIR.dll) sha1sum 7161fb8b47721485882f52720f8b41dbfe3b69d0 - w_download http://airdownload.adobe.com/air/win/download/20.0/AdobeAIRInstaller.exe 7161fb8b47721485882f52720f8b41dbfe3b69d0 - cd "$W_CACHE"/adobeair + # 2016-02-17: 20.0.0.260 (strings 'Adobe AIR.dll' | grep 20\\. ) sha1sum 2fdd561556fe881c4e5538d4ee37f523871befd3 + + w_download http://airdownload.adobe.com/air/win/download/20.0/AdobeAIRInstaller.exe 2fdd561556fe881c4e5538d4ee37f523871befd3 + cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" AdobeAIRInstaller.exe $W_UNATTENDED_DASH_SILENT } @@ -4431,7 +4699,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 + cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" AccessRuntime.exe $W_UNATTENDED_SLASH_Q } @@ -4482,7 +4750,7 @@ w_metadata cabinet dlls \ load_cabinet() { # http://www.microsoft.com/downloads/en/details.aspx?FamilyId=9AD000F2-CAE7-493D-B0F3-AE36C570ADE8&displaylang=en - w_download http://web.archive.org/web/20080731135848/http://download.microsoft.com/download/3/b/f/3bf74b01-16ba-472d-9a8c-42b2b4fa0d76/mdac_typ.exe f68594d1f578c3b47bf0639c46c11c5da161feee + w_download http://download.microsoft.com/download/3/b/f/3bf74b01-16ba-472d-9a8c-42b2b4fa0d76/mdac_typ.exe f68594d1f578c3b47bf0639c46c11c5da161feee w_try_cabextract --directory="$W_TMP" "$W_CACHE"/cabinet/$file1 w_try cp "$W_TMP"/cabinet.dll "$W_SYSTEM32_DLLS"/cabinet.dll @@ -4502,7 +4770,7 @@ w_metadata cmd dlls \ load_cmd() { w_download http://download.microsoft.com/download/8/d/c/8dc79965-dfbc-4b25-9546-e23bc4b791c6/Q811493_W2K_SP4_X86_EN.exe ac6e28cfd12942e74aa08bddf7715705edb85b6b - w_try_cabextract --directory="$W_SYSTEM32_DLLS" "$W_CACHE"/cmd/Q811493_W2K_SP4_X86_EN.exe -F cmd.exe + w_try_cabextract --directory="$W_SYSTEM32_DLLS" "$W_CACHE/$W_PACKAGE/$file1" -F cmd.exe w_override_dlls native,builtin cmd.exe } @@ -4519,9 +4787,11 @@ w_metadata comctl32 dlls \ load_comctl32() { - # http://www.microsoft.com/downloads/details.aspx?familyid=6f94d31a-d1e0-4658-a566-93af0d8d4a1e - #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 + # 2011-01-17: http://www.microsoft.com/downloads/details.aspx?familyid=6f94d31a-d1e0-4658-a566-93af0d8d4a1e + # 2012-08-11: w_download http://download.microsoft.com/download/platformsdk/redist/5.80.2614.3600/w9xnt4/en-us/cc32inst.exe 94c3c494258cc54bd65d2f0153815737644bffde + # 2016/01/07: w_download ftp://ftp.ie.debian.org/disk1/download.sourceforge.net/pub/sourceforge/p/po/pocmin/Win%2095_98%20Controls/Win%2095_98%20Controls/CC32inst.exe + + w_download ftp://ftp.ie.debian.org/disk1/download.sourceforge.net/pub/sourceforge/p/po/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_unzip "$W_TMP" "$W_TMP"/comctl32.exe @@ -4552,7 +4822,7 @@ 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 https://web.archive.org/web/20141012205821/http://activex.microsoft.com/controls/vb6/mscomct2.cab 766f9ccf8849a04d757faee379da54d635c8ac71 + 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 @@ -4578,7 +4848,7 @@ w_metadata comdlg32ocx dlls \ load_comdlg32ocx() { # By analogy with vb5 version in http://support.microsoft.com/kb/168917 - w_download https://web.archive.org/web/20141227220748/http://activex.microsoft.com/controls/vb6/ComDlg32.cab d4f3e193c6180eccd73bad53a8500beb5b279cbf + w_download http://activex.microsoft.com/controls/vb6/ComDlg32.cab d4f3e193c6180eccd73bad53a8500beb5b279cbf w_try_cabextract --directory="$W_TMP" "$W_CACHE"/comdlg32ocx/${file1} w_try cp "$W_TMP"/comdlg32.ocx "$W_SYSTEM32_DLLS"/comdlg32.ocx w_try_regsvr comdlg32.ocx @@ -4952,13 +5222,46 @@ load_d3dx10() done fi - # For now, not needed, but when Wine starts preferring our builtin dll over native it will be. + # For now, not needed, but when Wine starts preferring our built-in 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 d3dx10_43 } #---------------------------------------------------------------- +w_metadata d3dx10_43 dlls \ + title="MS d3dx10_43.dll" \ + publisher="Microsoft" \ + year="2010" \ + media="download" \ + file1="../directx9/directx_Jun2010_redist.exe" \ + installed_file1="$W_SYSTEM32_DLLS_WIN/d3dx10_43.dll" + +load_d3dx10_43() +{ + dllname=d3dx10_43 + + helper_directx_Jun2010 + + w_try_cabextract -d "$W_TMP" -L -F "*$dllname*x86*" "$W_CACHE"/directx9/$DIRECTX_NAME + for x in "$W_TMP"/*.cab + do + w_try_cabextract -d "$W_SYSTEM32_DLLS" -L -F "$dllname.dll" "$x" + done + if test "$W_ARCH" = "win64" + then + w_try_cabextract -d "$W_TMP" -L -F "*$dllname*x64*" "$W_CACHE"/directx9/$DIRECTX_NAME + for x in "$W_TMP"/*x64.cab + do + w_try_cabextract -d "$W_SYSTEM64_DLLS" -L -F "$dllname.dll" "$x" + done + fi + + w_override_dlls native $dllname +} + +#---------------------------------------------------------------- + w_metadata d3dxof dlls \ title="MS d3dxof.dll from DirectX user redistributable" \ publisher="Microsoft" \ @@ -5150,18 +5453,18 @@ load_directx9() w_warn "You probably shouldn't be using this. d3dx9 or, better, d3dx9_36 usually suffice." # Stefan suggested that, when installing, one should override as follows: - # 1) use builtin wintrust (we don't run native properly somehow?) + # 1) use built-in wintrust (we don't run native properly somehow?) # 2) disable mscoree (else if it's present some module misbehaves?) - # 3) override native any directx DLL whose Wine version doesn't register itself well yet + # 3) override native any DirectX DLL whose Wine version doesn't register itself well yet # For #3, I have no idea which DLLs don't register themselves well yet, # so I'm just listing a few of the basic ones. Let's whittle that # list down as soon as we can. - # Setting windows version to win2k apparently crashes the installer on OS X. + # Setting Windows version to win2k apparently crashes the installer on OS X. # See http://code.google.com/p/winezeug/issues/detail?id=71 w_set_winver winxp - cd "$W_CACHE"/directx9 + cd "$W_CACHE/$W_PACKAGE" WINEDLLOVERRIDES="wintrust=b,mscoree=,ddraw,d3d8,d3d9,dsound,dinput=n" \ w_try "$WINE" $DIRECTX_NAME /t:"$W_TMP_WIN" $W_UNATTENDED_SLASH_Q @@ -5351,7 +5654,7 @@ load_dotnet11() WINEDLLOVERRIDES="regsvcs.exe=b" w_try "$WINE" dotnetfx.exe fi - W_NGEN_CMD="w_try $WINE $DRIVE_C/windows/Microsoft.NET/Framework/v1.1.4322/ngen.exe executequeueditems" + W_NGEN_CMD="w_try $WINE $W_DRIVE_C/windows/Microsoft.NET/Framework/v1.1.4322/ngen.exe executequeueditems" } verify_dotnet11() @@ -5404,7 +5707,7 @@ load_dotnet11sp1() WINEDLLOVERRIDES="regsvcs.exe=b" w_try "$WINE" "$W_CACHE"/dotnet11sp1/NDP1.1sp1-KB867460-X86.exe fi - W_NGEN_CMD="w_try $WINE $DRIVE_C/windows/Microsoft.NET/Framework/v1.1.4322/ngen.exe executequeueditems" + W_NGEN_CMD="w_try $WINE $W_DRIVE_C/windows/Microsoft.NET/Framework/v1.1.4322/ngen.exe executequeueditems" } verify_dotnet11sp1() @@ -5435,22 +5738,17 @@ load_dotnet20() # and http://bugs.winehq.org/show_bug.cgi?id=30845#c10 w_set_winver win2k - # FIXME: verify on pristine windows XP: + # FIXME: verify on pristine Windows XP: if w_workaround_wine_bug 34803 then - "$WINE" reg delete 'HKLM\Software\Microsoft\.NETFramework\v2.0.50727\SBSDisabled' + "$WINE" reg delete 'HKLM\Software\Microsoft\.NETFramework\v2.0.50727\SBSDisabled' /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"} - else - w_try "$WINE" dotnetfx.exe ${W_OPT_UNATTENDED:+/q /c:"install.exe /q"} - fi + cd "$W_CACHE"/"$W_PACKAGE" + w_try "$WINE" dotnetfx.exe ${W_OPT_UNATTENDED:+/q /c:"install.exe /q"} w_unset_winver - # We can't stop installing dotnet20 in win2K mode until wine supports + # We can't stop installing dotnet20 in win2k mode until Wine supports # reparse/junction points # (see http://bugs.winehq.org/show_bug.cgi?id=10467#c57 ) # so for now just remove the bogus msvc*80.dll files it installs. @@ -5458,12 +5756,7 @@ load_dotnet20() # This affects Victoria 2 demo, see http://forum.paradoxplaza.com/forum/showthread.php?p=11523967 rm -f "$W_SYSTEM32_DLLS"/msvc?80.dll - if w_workaround_wine_bug 30162 "Dirty hack, killing off mscorsvw.exe" 1.5.31, - then - w_killall "mscorsvw.exe" - fi - - W_NGEN_CMD="w_try $WINE $DRIVE_C/windows/Microsoft.NET/Framework/v2.0.50727/ngen.exe executequeueditems" + W_NGEN_CMD="w_try $WINE $W_DRIVE_C/windows/Microsoft.NET/Framework/v2.0.50727/ngen.exe executequeueditems" } verify_dotnet20() @@ -5491,7 +5784,7 @@ load_dotnet20sdk() w_call dotnet20 - cd "$W_CACHE"/dotnet20sdk + cd "$W_CACHE/$W_PACKAGE" w_ahk_do " SetTitleMatchMode, 2 run, setup.exe ${W_OPT_UNATTENDED:+/q /c:"install.exe /q"} @@ -5575,7 +5868,7 @@ load_dotnet20sp1() # 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 - cd "$W_CACHE"/dotnet20sp1 + cd "$W_CACHE/$W_PACKAGE" "$WINE" NetFx20SP1_x86.exe ${W_OPT_UNATTENDED:+/q} status=$? @@ -5586,7 +5879,7 @@ load_dotnet20sp1() *) w_die "exit status $status - $W_PACKAGE installation failed" ;; esac - # We can't stop installing dotnet20sp1 in win2K mode until wine supports + # We can't stop installing dotnet20sp1 in win2k mode until Wine supports # reparse/junction points # (see http://bugs.winehq.org/show_bug.cgi?id=10467#c57 ) # so for now just remove the bogus msvc*80.dll files it installs. @@ -5596,7 +5889,7 @@ load_dotnet20sp1() w_unset_winver - W_NGEN_CMD="w_try $WINE $DRIVE_C/windows/Microsoft.NET/Framework/v2.0.50727/ngen.exe executequeueditems" + W_NGEN_CMD="w_try $WINE $W_DRIVE_C/windows/Microsoft.NET/Framework/v2.0.50727/ngen.exe executequeueditems" } verify_dotnet20sp1() @@ -5624,28 +5917,13 @@ load_dotnet20sp2() 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 - # Stop services - # Recipe from http://bugs.winehq.org/show_bug.cgi?id=16956 - $WINESERVER -k - # Fight a race condition, see bug 16956 comment 43 - w_set_winver win2k - $WINESERVER -w - WINEDLLOVERRIDES=regsvcs.exe,mscorsvw.exe=b - export WINEDLLOVERRIDES - fi - - # FIXME: verify on pristine windows XP: + # FIXME: verify on pristine Windows XP: if w_workaround_wine_bug 34803 then - "$WINE" reg delete 'HKLM\Software\Microsoft\.NETFramework\v2.0.50727\SBSDisabled' + "$WINE" reg delete 'HKLM\Software\Microsoft\.NETFramework\v2.0.50727\SBSDisabled' /f fi - cd "$W_CACHE"/dotnet20sp2 + cd "$W_CACHE/$W_PACKAGE" w_ahk_do " SetTitleMatchMode, 2 run, NetFx20SP2_x86.exe ${W_OPT_UNATTENDED:+ /q /c:"install.exe /q"} @@ -5677,7 +5955,7 @@ load_dotnet20sp2() w_unset_winver - W_NGEN_CMD="w_try $WINE $DRIVE_C/windows/Microsoft.NET/Framework/v2.0.50727/ngen.exe executequeueditems" + W_NGEN_CMD="w_try $WINE $W_DRIVE_C/windows/Microsoft.NET/Framework/v2.0.50727/ngen.exe executequeueditems" } verify_dotnet20sp2() @@ -5692,37 +5970,37 @@ w_metadata dotnet30 dlls \ publisher="Microsoft" \ year="2006" \ media="download" \ - conflicts="dotnet11 dotnet20sp1 dotnet20sp2 dotnet30sp1 dotnet35 dotnet35sp1 dotnet45" \ + conflicts="dotnet11 dotnet20sp1 dotnet20sp2 dotnet30sp1 dotnet35 dotnet35sp1 dotnet45 dotnet452" \ file1="dotnetfx3.exe" \ installed_file1="c:/windows/Microsoft.NET/Framework/v3.0/Microsoft .NET Framework 3.0/logo.bmp" load_dotnet30() { # http://msdn.microsoft.com/en-us/netframework/bb264589.aspx - w_download http://web.archive.org/web/20120509084326/http://download.microsoft.com/download/3/F/0/3F0A922C-F239-4B9B-9CB0-DF53621C57D9/dotnetfx3.exe f3d2c3c7e4c0c35450cf6dab1f9f2e9e7ff50039 + w_download http://download.microsoft.com/download/3/F/0/3F0A922C-F239-4B9B-9CB0-DF53621C57D9/dotnetfx3.exe f3d2c3c7e4c0c35450cf6dab1f9f2e9e7ff50039 w_call remove_mono if test -f /proc/sys/kernel/yama/ptrace_scope then - case `cat /proc/sys/kernel/yama/ptrace_scope` in + case $(cat /proc/sys/kernel/yama/ptrace_scope) in 0) ;; *) w_warn "If install fails, set /proc/sys/kernel/yama/ptrace_scope to 0. See http://bugs.winehq.org/show_bug.cgi?id=30410" ;; esac fi - case "$OS" in - "Windows_NT") - osver=`cmd /c ver` + case "$W_PLATFORM" in + windows_cmd) + osver=$(cmd /c ver) case "$osver" in - *Version?6*) w_die "Vista and up bundle .net 3.0, so you can't install it like this" ;; + *Version?6*) w_die "Vista and up bundle .NET 3.0, so you can't install it like this" ;; esac ;; esac w_call dotnet20 - w_warn "Installing .net 3.0 runtime takes 3 minutes on a very fast machine, and the Finished dialog may hide in the taskbar." + w_warn "Installing .NET 3.0 runtime takes 3 minutes on a very fast machine, and the Finished dialog may hide in the taskbar." # AF's workaround to avoid long pause LANGPACKS_BASE_PATH="${W_WINDIR_UNIX}/SYSMSICache/Framework/v3.0" @@ -5736,21 +6014,12 @@ load_dotnet30() w_set_winver winxp # 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. + # OK if this fails, that just means you have an older Wine. "$WINE" sc delete "FontCache3.0.0.0" - if w_workaround_wine_bug 30845 "Using native fusion..." ,1.5.6 - then - # Either adding this registry key - #$WINE reg add 'HKLM\Software\Microsoft\.NETFramework' /v InstallRoot /d 'C:\Windows\Microsoft.NET\Framework\' /f - # or using native mscoree and fusion - WINEDLLOVERRIDES=mscoree,fusion=n - export WINEDLLOVERRIDES - # will let install start - fi WINEDLLOVERRIDES="ngen.exe,mscorsvw.exe=b;$WINEDLLOVERRIDES" - cd "$W_CACHE"/dotnet30 + cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" $file1 ${W_OPT_UNATTENDED:+ /q /c:"install.exe /q"} # Doesn't install any ngen.exe @@ -5791,7 +6060,7 @@ load_dotnet30sp1() "$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 - w_try "$WINE" msiexec /i "XPSEP XP and Server 2003 32 bit.msi" ${W_OPT_UNATTENDED:+/qb} + w_try "$WINE" msiexec /i "XPSEP XP and Server 2003 32 bit.msi" ${W_UNATTENDED_SLASH_QB} "$WINE" sc delete FontCache3.0.0.0 "$WINE" $file1 ${W_OPT_UNATTENDED:+/q} @@ -5820,8 +6089,8 @@ w_metadata dotnet35 dlls \ load_dotnet35() { - case "$OS" in - "Windows_NT") ;; + case "$W_PLATFORM" in + windows_cmd) ;; *) w_warn "dotnet35 does not yet fully work or install on wine. Caveat emptor." ;; esac @@ -5838,7 +6107,7 @@ load_dotnet35() w_call msxml3 fi - "$WINE" reg delete "HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP\\v3.5" + "$WINE" reg delete "HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP\\v3.5" /f # See also http://blogs.msdn.com/astebner/archive/2008/07/17/8745415.aspx cd "$W_TMP" @@ -5868,8 +6137,8 @@ w_metadata dotnet35sp1 dlls \ load_dotnet35sp1() { - case "$OS" in - "Windows_NT") ;; + case "$W_PLATFORM" in + windows_cmd) ;; *) w_warn "dotnet35sp1 does not yet fully work or install on wine. Caveat emptor." ;; esac @@ -5887,7 +6156,7 @@ load_dotnet35sp1() WINEDLLOVERRIDES=ngen.exe,mscorsvw.exe=b export WINEDLLOVERRIDES - cd "$W_CACHE"/dotnet35sp1 + cd "$W_CACHE/$W_PACKAGE" w_ahk_do " SetTitleMatchMode, 2 run, dotnetfx35.exe /lang:ENU $W_UNATTENDED_SLASH_Q @@ -5936,19 +6205,14 @@ load_dotnet40() w_die "This package does not work on a 64-bit installation" fi - case "$OS" in - "Windows_NT") ;; + case "$W_PLATFORM" in + windows_cmd) ;; *) w_warn "dotnet40 does not yet fully work or install on wine. Caveat emptor." ;; esac # http://www.microsoft.com/download/en/details.aspx?id=17718 w_download http://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe 58da3d74db353aad03588cbb5cea8234166d8b99 - if w_workaround_wine_bug 30707 "Need to get gacutil.exe" 1.5.5, - then - w_download_manual http://www.mediafire.com/?v8rw5h1ra7maod4 gacutil-net40.tar.bz2 d40cc1249ea051338c064aff5ba0f1a5f24b59a5 - fi - w_call remove_mono # Remove Mono registry entry: @@ -5965,26 +6229,6 @@ load_dotnet40() "$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 - cd "$W_TMP" - tar -xvjf "$W_CACHE/$W_PACKAGE/gacutil-net40.tar.bz2" - - 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 - 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 - done - - mkdir -p "$W_WINDIR_UNIX/Microsoft.NET/assembly/GAC_32/System.EnterpriseServices/v4.0_4.0.0.0__b03f5f7f11d50a3a" - cp "$W_WINDIR_UNIX/Microsoft.NET/Framework/v4.0.30319/System.EnterpriseServices.dll" "$W_WINDIR_UNIX/Microsoft.NET/assembly/GAC_32/System.EnterpriseServices/v4.0_4.0.0.0__b03f5f7f11d50a3a" - fi - W_NGEN_CMD="$WINE $WINEPREFIX/drive_c/windows/Microsoft.NET/Framework/v4.0.30319/ngen.exe executequeueditems" } @@ -6049,6 +6293,63 @@ verify_dotnet45() w_dotnet_verify dotnet45 } +#---------------------------------------------------------------- + +w_metadata dotnet452 dlls \ + title="MS .NET 4.5.2" \ + publisher="Microsoft" \ + year="2012" \ + media="download" \ + conflicts="dotnet20 dotnet20sdk dotnet20sp1 dotnet20sp2 dotnet35sp1 dotnet40 dotnet45 vjrun20" \ + file1="dotnetfx45_full_x86_x64.exe" \ + installed_file1="c:/windows/Microsoft.NET/Framework/v4.0.30319/Microsoft.Windows.ApplicationServer.Applications.45.man" + +load_dotnet452() +{ + 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/E/2/1/E21644B5-2DF2-47C2-91BD-63C560427900/NDP452-KB2901907-x86-x64-AllOS-ENU.exe 89f86f9522dc7a8a965facce839abb790a285a63 + + 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" NDP452-KB2901907-x86-x64-AllOS-ENU.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 +} + +verify_dotnet452() +{ + w_dotnet_verify dotnet452 +} + + #---------------------------------------------------------------- w_metadata dotnet_verifier dlls \ @@ -6069,8 +6370,7 @@ load_dotnet_verifier() # 2015/12/27: sha1sum b9712da2943e057668f21f68c473657a205c5cb8 w_download http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Components-PostAttachments/00-08-99-90-04/netfx_5F00_setupverifier_5F00_new.zip b9712da2943e057668f21f68c473657a205c5cb8 - cd "$W_CACHE"/dotnet_verifier - + cd "$W_CACHE/$W_PACKAGE" w_try_unzip "$W_SYSTEM32_DLLS" netfx_5F00_setupverifier_5F00_new.zip netfx_setupverifier.exe } @@ -6151,8 +6451,8 @@ w_metadata flash dlls \ load_flash() { - # As of July 9, 2013, Flash 10 is no longer supported. - # And as of June 24, 2013, Flash 10.3 won't even install for me, + # As of July 9, 2013, Adobe Flash 10 is no longer supported. + # And as of June 24, 2013, Adobe Flash 10.3 won't even install for me, # it tells you to go get a newer version! # See # http://blogs.adobe.com/psirt/ @@ -6160,7 +6460,7 @@ load_flash() # Now, we install older versions by using zipfiles at # http://helpx.adobe.com/flash-player/kb/archived-flash-player-versions.html - # Active X plugin + # ActiveX plugin # 2013-03-28 #w_download http://fpdownload.macromedia.com/get/flashplayer/pdc/11.6.602.180/install_flash_player_ax.exe 359f231d7007c17b419f777125e0f28fffc2e6a1 # 2013-06-24 @@ -6176,7 +6476,7 @@ load_flash() cd "$W_TMP"/fp_14.0.0.176_archive/14_0_r0_176 w_try "$WINE" flashplayer14_0r0_176_winax.exe ${W_OPT_UNATTENDED:+ /install} - # Mozilla / Firefox plugin + # Mozilla / Firefox (NPAPI) plugin # 2013-03-28 #w_download http://fpdownload.macromedia.com/get/flashplayer/pdc/11.6.602.180/install_flash_player.exe bf44990ade52aa92078495ec39035d8489ff6e05 # 2013-06-24 @@ -6208,16 +6508,16 @@ load_flash() # sh winetricks -q flash ie7 # cd ~/".wine/drive_c/Program Files/Internet Explorer" # wine iexplore.exe http://www.adobe.com/software/flash/about - # Verify that the version of flash shows up and that you're not prompted - # to install flash again + # Verify that the version of Flash shows up and that you're not prompted + # to install Flash again # # cd ~/winetricks/src # rm -rf ~/.wine # sh winetricks -q flash firefox # cd ~/.wine/drive_c/Program\ Files/Mozilla\ Firefox # wine firefox.exe http://www.adobe.com/software/flash/about - # Verify that the version of flash shows up and that you're not prompted - # to install flash again + # Verify that the version of Flash shows up and that you're not prompted + # to install Flash again } #---------------------------------------------------------------- @@ -6236,7 +6536,7 @@ load_gdiplus() helper_win7sp1 x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.7601.17514_none_72d18a4386696c80/gdiplus.dll w_try cp "$W_TMP/x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.7601.17514_none_72d18a4386696c80/gdiplus.dll" "$W_SYSTEM32_DLLS/gdiplus.dll" - # For some reason, native,builtin isn't good enough...? + # For some reason, native, builtin isn't good enough...? w_override_dlls native gdiplus } @@ -6253,11 +6553,11 @@ w_metadata gdiplus_winxp dlls \ load_gdiplus_winxp() { w_download_manual http://download.cnet.com/NET-Framework-1-0-GDIPLUS-DLL-Security-Update/3000-10250_4-10732223.html NDP1.0sp2-KB830348-X86-Enu.exe 6113cd89d77525958295ccbd73b5fb8b89abd0aa - cd "$W_CACHE"/gdiplus - w_try_cabextract -d "$W_TMP" -F FL_gdiplus_dll_____X86.3643236F_FC70_11D3_A536_0090278A1BB8 "$W_CACHE"/gdiplus_winxp/$file1 + cd "$W_CACHE/$W_PACKAGE" + w_try_cabextract -d "$W_TMP" -F FL_gdiplus_dll_____X86.3643236F_FC70_11D3_A536_0090278A1BB8 "$W_CACHE/${W_PACKAGE}/$file1" w_try cp "$W_TMP/FL_gdiplus_dll_____X86.3643236F_FC70_11D3_A536_0090278A1BB8" "$W_SYSTEM32_DLLS/gdiplus.dll" - # For some reason, native,builtin isn't good enough...? + # For some reason, native, builtin isn't good enough...? w_override_dlls native gdiplus } @@ -6276,7 +6576,7 @@ load_glidewrapper() w_download http://www.zeckensack.de/glide/archive/GlideWrapper084c.exe 7a9d60a18b660473742b476465e9aea7bd5ab6f8 cd "$W_CACHE/$W_PACKAGE" - # The installer opens its README in a web-browser, really annoying when doing make check/test: + # The installer opens its README in a web browser, really annoying when doing make check/test: # FIXME: maybe we should back up this key first? if test ${W_OPT_UNATTENDED} then @@ -6316,8 +6616,8 @@ load_gfw() # http://www.next-gen.biz/features/should-games-for-windows-live-die w_download http://download.microsoft.com/download/5/5/8/55846E20-4A46-4EF8-B272-7F988BC9090A/gfwlivesetupmin.exe 6f9e0ba052c68c8b51bb0e3ce6024d0e1c7b20b2 - # FIXME: Depends on .Net 20, but is it really needed? For now, skip it. - cd "$W_CACHE"/gfw + # FIXME: Depends on .NET 20, but is it really needed? For now, skip it. + cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" gfwlivesetupmin.exe /nodotnet $W_UNATTENDED_SLASH_Q w_call msasn1 @@ -6336,7 +6636,7 @@ w_metadata glut dlls \ load_glut() { w_download http://press.liacs.nl/researchdownloads/glut.win32/glut-3.7.6-bin.zip fb4731885c05b3cf2c79e85aabe8fc9949616ef4 - # FreeBSD unzip rm -rf's inside the target dir before extracting: + # FreeBSD unzip rm -rf's inside the target directory before extracting: w_try_unzip "$W_TMP" "$W_CACHE"/glut/glut-3.7.6-bin.zip w_try mv "$W_TMP/glut-3.7.6-bin" "$W_DRIVE_C" w_try cp "$W_DRIVE_C"/glut-3.7.6-bin/glut32.dll "$W_SYSTEM32_DLLS" @@ -6355,7 +6655,7 @@ w_metadata gmdls dlls \ load_gmdls() { - w_download_to directx8 http://web.archive.org/web/20070403193305/http://download.microsoft.com/download/whistler/Update/8.1/W982KMeXP/EN-US/DX81Redist.exe ea2345f602741343e97a5ece5d1d2c3cc44296c3 + w_download_to directx8 http://download.microsoft.com/download/whistler/Update/8.1/W982KMeXP/EN-US/DX81Redist.exe ea2345f602741343e97a5ece5d1d2c3cc44296c3 w_try_unzip "$W_TMP" "$W_CACHE"/directx8/DX81Redist.exe "*/*/DirectX.cab" w_try_cabextract -d "$W_TMP" -F gm16.dls "$W_TMP"/*/*/DirectX.cab @@ -6402,7 +6702,7 @@ load_dirac() # Avoid mfc90 not found error. (DiracSplitter-libschroedinger.ax needs mfc90 to register itself, I think.) w_call vcrun2008 - cd "$W_CACHE"/dirac + cd "$W_CACHE/$W_PACKAGE" w_ahk_do " SetTitleMatchMode, 2 run DiracDirectShowFilter-1.0.2.exe @@ -6438,7 +6738,7 @@ w_metadata ffdshow dlls \ load_ffdshow() { w_download $WINETRICKS_SOURCEFORGE/ffdshow-tryout/ffdshow_beta7_rev3154_20091209.exe 8534c31489e51df70ee9583438d6211e6f0696d0 - cd "$W_CACHE"/ffdshow + cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" ffdshow_beta7_rev3154_20091209.exe $W_UNATTENDED_SLASH_SILENT } @@ -6479,7 +6779,7 @@ load_icodecs() # 2014-04-11: http://www.cucusoft.com/codecdownload/codinstl.exe (linked from http://www.cucusoft.com/codec.asp) w_download "http://www.cucusoft.com/codecdownload/codinstl.exe" 2c5d64f472abe3f601ce352dcca75b4f02996f8a - cd "$W_CACHE"/icodecs + cd "$W_CACHE/$W_PACKAGE" w_ahk_do " SetTitleMatchMode, 2 @@ -6523,13 +6823,45 @@ load_jet40() # http://support.microsoft.com/kb/239114 # See also http://bugs.winehq.org/show_bug.cgi?id=6085 # FIXME: "failed with error 2" - w_download http://www.autoxplorer.com/exe/Jet40SP8_9xNT.exe 8cd25342030857969ede2d8fcc34f3f7bcc2d6d4 - cd "$W_CACHE"/jet40 + w_download http://download.microsoft.com/download/4/3/9/4393c9ac-e69e-458d-9f6d-2fe191c51469/jet40sp8_9xnt.exe 8cd25342030857969ede2d8fcc34f3f7bcc2d6d4 + cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" jet40sp8_9xnt.exe $W_UNATTENDED_SLASH_Q } #---------------------------------------------------------------- +w_metadata ie8_kb2936068 dlls \ + title="Cumulative Security Update for Internet Explorer 8" \ + publisher="Microsoft" \ + year="2014" \ + media="download" \ + file1="IE8-WindowsXP-KB2936068-x86-ENU.exe" \ + installed_file1="c:/windows/KB2936068-IE8.log" + +load_ie8_kb2936068() +{ + w_call ie8 + + w_download https://download.microsoft.com/download/3/8/C/38CE0ABB-01FD-4C0A-A569-BC5E82C34A17/IE8-WindowsXP-KB2936068-x86-ENU.exe 1bdeb741085b8f1ef6efc83f8615121373107347 + + if [ $W_UNATTENDED_SLASH_Q ] + then + quiet="$W_UNATTENDED_SLASH_QUIET /forcerestart" + else + quiet="" + fi + + cd "$W_CACHE"/"$W_PACKAGE" + "$WINE" IE8-WindowsXP-KB2936068-x86-ENU.exe $quiet + status=$? + case $status in + 0|194) ;; + *) w_die "$W_PACKAGE installation failed" + esac +} + +#---------------------------------------------------------------- + w_metadata kde apps \ title="KDE on Windows" \ publisher="various" \ @@ -6547,7 +6879,7 @@ load_kde() w_try cp "$W_CACHE/kde/${file1}" "$W_PROGRAMS_UNIX/kde" cd "$W_PROGRAMS_UNIX/kde" # There's no unattended option, probably because there are so many choices, - # it's like cygwin + # it's like Cygwin w_try "$WINE" "${file1}" } @@ -6556,18 +6888,22 @@ load_kde() w_metadata kindle apps \ title="Amazon Kindle" \ publisher="Amazon" \ - year="2015" \ + year="2016" \ media="download" \ - file1="KindleForPC-installer-1.13.42039.exe" \ + file1="KindleForPC-installer-1.16.44025.exe" \ installed_exe1="$W_PROGRAMS_WIN/Amazon/Kindle/Kindle.exe" \ homepage="http://www.amazon.com/gp/feature.html/?docId=1000426311" load_kindle() { - w_download http://kindleforpc.amazon.com/42039/KindleForPC-installer-1.13.42039.exe 2316102823d295fb346062e03a8bb594b93cb536 - cd "$W_CACHE"/kindle + w_download http://kindleforpc.amazon.com/44025/KindleForPC-installer-1.16.44025.exe c57d0a7d8cd5f1c3020536edf336c3187f3e051f + cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" $file1 ${W_OPT_UNATTENDED:+ /S} - w_declare_exe "$W_PROGRAMS_WIN\\Amazon\\Kindle" Kindle.exe + + if w_workaround_wine_bug 35041 + then + w_warn "You may need to run with taskset -c 0 to avoid a libX11 crash." + fi } #---------------------------------------------------------------- @@ -6612,10 +6948,11 @@ load_mdac27() fi # http://www.microsoft.com/downloads/en/details.aspx?FamilyId=9AD000F2-CAE7-493D-B0F3-AE36C570ADE8&displaylang=en - w_download http://web.archive.org/web/20060202021126/http://download.microsoft.com/download/3/b/f/3bf74b01-16ba-472d-9a8c-42b2b4fa0d76/mdac_typ.exe f68594d1f578c3b47bf0639c46c11c5da161feee + w_download http://download.microsoft.com/download/3/b/f/3bf74b01-16ba-472d-9a8c-42b2b4fa0d76/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"} + cd "$W_CACHE"/"$W_PACKAGE" + w_try "$WINE" mdac_typ.exe ${W_OPT_UNATTENDED:+ /q /C:"setup $W_UNATTENDED_SLASH_QNT"} w_unset_winver } @@ -6635,13 +6972,8 @@ load_mdac28() w_download http://download.microsoft.com/download/4/a/a/4aafff19-9d21-4d35-ae81-02c48dcbbbff/MDAC_TYP.EXE 4fbc272c79da59e38818924d8575accb0af776fb load_native_mdac w_set_winver nt40 - cd "$W_CACHE"/mdac28 - if [ $W_UNATTENDED_SLASH_Q ] - then - w_try "$WINE" mdac_typ.exe /q /C:"setup /QNT" - else - w_try "$WINE" mdac_typ.exe - fi + cd "$W_CACHE"/"$W_PACKAGE" + w_try "$WINE" mdac_typ.exe ${W_OPT_UNATTENDED:+ /q /C:"setup $W_UNATTENDED_SLASH_QNT"} w_unset_winver } @@ -6755,7 +7087,7 @@ w_metadata mfc40 dlls \ load_mfc40() { - w_download https://web.archive.org/web/20070316220826/http://activex.microsoft.com/controls/vc/mfc40.cab 53c570e2c811674d6e4fa46cff5a3a04cd0ffc24 + w_download http://activex.microsoft.com/controls/vc/mfc40.cab 53c570e2c811674d6e4fa46cff5a3a04cd0ffc24 w_try_cabextract -d "$W_TMP" "$W_CACHE"/mfc40/mfc40.cab w_try_cabextract -d "$W_SYSTEM32_DLLS" -F *40.dll "$W_TMP"/mfc40.exe } @@ -6764,7 +7096,7 @@ load_mfc40() w_metadata mozillabuild apps \ title="Mozilla build environment" \ - publisher="The Mozilla Foundation" \ + publisher="Mozilla Foundation" \ year="2015" \ media="download" \ file1="MozillaBuildSetup-2.0.0.exe" \ @@ -6840,9 +7172,14 @@ w_metadata msdxmocx dlls \ load_msdxmocx() { - # http://www.oldapps.com/windows_media_player.php?old_windows_media_player=3?download - # Iceweasel gives a security warning (!), but clamscan and virustotal.com report it as clean: - w_download http://download.oldapps.com/Windows_Media/mpfull.exe 44aef252a660612a01ee13271d84d2da3885e58d + # Previously at http://www.oldapps.com/windows_media_player.php?old_windows_media_player=3?download + # (2015/12/01) Iceweasel gave a security warning (!), but clamscan and virustotal.com report it as clean + # + # (2016/02/18) Since then, oldapps.com removed it. It's on a Finnish mirror, where it's been since 2001/10/20 + # Found using http://www.filewatcher.com/m/mpfull.exe.3593680-0.html + # The sha1sum is different. Perhaps Iceweasel was right. This one is also clean according to clamscan/virustotal.com + + w_download ftp://www.define.fi/Pub/Fixes/Microsoft/Windows%2095/mpfull.exe 99691df6ac455233230faac7514bdea781ba0ce3 w_try_cabextract --directory="$W_SYSTEM32_DLLS" "$W_CACHE/$W_PACKAGE/${file1}" w_try_regsvr msdxm.ocx @@ -6864,7 +7201,7 @@ load_msflxgrd() # may 2011: f497c3b390cd80d5bcd1f13d5c0c68b206369aa7 # 2015/11/09: Removed from Microsoft.com, archive.org has an older copy: # 2015/11/09: 3d6c04e923781d4ce0d3ab62189b8de352ab25d5 - w_download https://web.archive.org/web/20070127040448/http://activex.microsoft.com/controls/vb6/MsFlxGrd.cab 3d6c04e923781d4ce0d3ab62189b8de352ab25d5 + w_download http://activex.microsoft.com/controls/vb6/MsFlxGrd.cab 3d6c04e923781d4ce0d3ab62189b8de352ab25d5 w_try_cabextract --directory="$W_TMP" "$W_CACHE"/msflxgrd/${file1} w_try cp -f "$W_TMP"/[Mm][Ss][Ff][Ll][Xx][Gg][Rr][Dd].[Oo][Cc][Xx] "$W_SYSTEM32_DLLS" @@ -6889,7 +7226,7 @@ load_mshflxgd() # May 2009: bd8aa796e16e5f213414af78931e0379d9cbe292 # 2015/11/09: Removed from Microsoft.com, archive.org has the original copy: # 2015/11/09: 5f9c7a81022949bfe39b50f2bbd799c448bb7377 - w_download https://web.archive.org/web/20061011041549/http://activex.microsoft.com/controls/vb6/MSHFLXGD.CAB 5f9c7a81022949bfe39b50f2bbd799c448bb7377 + w_download http://activex.microsoft.com/controls/vb6/MSHFLXGD.CAB 5f9c7a81022949bfe39b50f2bbd799c448bb7377 w_try_cabextract --directory="$W_TMP" "$W_CACHE"/mshflxgd/MSHFLXGD.CAB w_try cp -f "$W_TMP"/[Mm][Ss][Hh][Ff][Ll][Xx][Gg][Dd].[Oo][Cc][Xx] "$W_SYSTEM32_DLLS" @@ -6946,7 +7283,7 @@ w_metadata msls31 dlls \ load_msls31() { - # Needed by native richedit and internet explorer + # Needed by native RichEdit and Internet Explorer w_download http://download.microsoft.com/download/WindowsInstaller/Install/2.0/NT45/EN-US/InstMsiW.exe 4fc3bf0dc96b5cf5ab26430fac1c33c5c50bd142 w_try_cabextract --directory="$W_TMP" "$W_CACHE"/msls31/InstMsiW.exe w_try cp -f "$W_TMP"/msls31.dll "$W_SYSTEM32_DLLS" @@ -6968,9 +7305,9 @@ load_msmask() # http://bugs.winehq.org/show_bug.cgi?id=2934 # old: 3c6b26f68053364ea2e09414b615dbebafb9d5c3 # May 2009: 30e55679e4a13fe4d9620404476f215f93239292 - # 2015/11/09: Removed from Microsoft.com, archive.org has an older copy: + # 2015/11/09: Removed from microsoft.com, archive.org has an older copy: # 2015/11/09: bdd2bb3a32d18926a048f302aff18b1e6d250d9d - w_download https://web.archive.org/web/20061011040848/http://activex.microsoft.com/controls/vb6/MSMASK32.CAB bdd2bb3a32d18926a048f302aff18b1e6d250d9d + w_download http://activex.microsoft.com/controls/vb6/MSMASK32.CAB bdd2bb3a32d18926a048f302aff18b1e6d250d9d w_try_cabextract --directory="$W_TMP" "$W_CACHE"/msmask/MSMASK32.CAB w_try cp -f "$W_TMP"/[Mm][Ss][Mm][Aa][Ss][Kk]32.[Oo][Cc][Xx] "$W_SYSTEM32_DLLS"/msmask32.ocx w_try_regsvr msmask32.ocx @@ -7009,12 +7346,12 @@ load_msxml3() # Service Pack 5 #w_download http://download.microsoft.com/download/a/5/e/a5e03798-2454-4d4b-89a3-4a47579891d8/msxml3.msi # Service Pack 7 - w_download http://web.archive.org/web/20070314193356/http://download.microsoft.com/download/8/8/8/888f34b7-4f54-4f06-8dac-fa29b19f33dd/msxml3.msi d4c2178dfb807e1a0267fce0fd06b8d51106d913 + w_download http://download.microsoft.com/download/8/8/8/888f34b7-4f54-4f06-8dac-fa29b19f33dd/msxml3.msi d4c2178dfb807e1a0267fce0fd06b8d51106d913 - # it won't install on top of wine's msxml3, which has a pretty high version number, so delete wine's fake dll + # It won't install on top of Wine's msxml3, which has a pretty high version number, so delete Wine's fake DLL rm "$W_SYSTEM32_DLLS"/msxml3.dll w_override_dlls native msxml3 - cd "$W_CACHE"/msxml3 + cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" msiexec /i msxml3.msi $W_UNATTENDED_SLASH_Q } @@ -7037,7 +7374,7 @@ load_msxml4() # SP3 (2009): http://www.microsoft.com/downloads/details.aspx?familyid=7F6C0CB4-7A5E-4790-A7CF-9E139E6819C0 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 + cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" msiexec /i msxml.msi $W_UNATTENDED_SLASH_Q } @@ -7092,14 +7429,14 @@ load_nuget() # probably changes too rapidly to check w_download https://nuget.org/nuget.exe w_try cp "$W_CACHE/$W_PACKAGE"/nuget.exe "$W_SYSTEM32_DLLS" - w_warn "To run nuget, use the commandline \"$WINE nuget\"." + w_warn "To run NuGet, use the command line \"$WINE nuget\"." } #---------------------------------------------------------------- w_metadata ogg dlls \ - title="OpenCodecs 0.85: flac, speex, theora, vorbis, WebM" \ - publisher="xiph.org" \ + title="OpenCodecs 0.85: FLAC, Speex, Theora, Vorbis, WebM" \ + publisher="Xiph.Org Foundation" \ year="2011" \ media="download" \ file1="opencodecs_0.85.17777.exe" \ @@ -7109,7 +7446,7 @@ w_metadata ogg dlls \ load_ogg() { w_download http://downloads.xiph.org/releases/oggdsf/opencodecs_0.85.17777.exe 386cf7cd29ffcbf8705eff8c8233de448ecf33ab - cd "$W_CACHE"/ogg + cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" $file1 $W_UNATTENDED_SLASH_S } @@ -7126,7 +7463,7 @@ w_metadata ollydbg110 apps \ load_ollydbg110() { - # the graphical user interface is unreadable without having corefonts installed + # The GUI is unreadable without having corefonts installed. w_call corefonts w_download http://www.ollydbg.de/odbg110.zip 8403d8049a0841887c16cf64889596ad52b84da8 @@ -7146,7 +7483,7 @@ w_metadata ollydbg200 apps \ load_ollydbg200() { - # the graphical user interface is unreadable without having corefonts installed + # The GUI is unreadable without having corefonts installed. w_call corefonts w_download http://www.ollydbg.de/odbg200.zip 68e572d94a0555e8f14516b55b6b96b879900fe9 @@ -7166,13 +7503,13 @@ w_metadata ollydbg201 apps \ load_ollydbg201() { - # the graphical user interface is unreadable without having corefonts installed + # The GUI is unreadable without having corefonts installed. w_call corefonts w_download http://www.ollydbg.de/odbg201.zip d41fe77a2801d38476f20468ab61ddce14c3abb8 w_try_unzip "$W_DRIVE_C/ollydbg201" "$W_CACHE/$W_PACKAGE"/odbg201.zip - # ollydbg201 is affected by wine bug 36012 if debug symbols are available. + # ollydbg201 is affected by Wine bug 36012 if debug symbols are available. # As a workaround native 'dbghelp' can be installed. We don't do this automatically # because for some people it might work even without additional workarounds. # Older versions of OllyDbg were not affected by this bug. @@ -7191,13 +7528,14 @@ w_metadata openwatcom apps \ load_openwatcom() { - w_download "http://ftp.openwatcom.org/ftp/open-watcom-c-win32-1.9.exe" 236ac33ebd463006be4ecd83d7ebea1c026eb55a + # 2016/03/11: upstream http://www.openwatcom.org appears to be dead (404) + w_download "http://openwatcom.mirror.fr/open-watcom-c-win32-1.9.exe" 236ac33ebd463006be4ecd83d7ebea1c026eb55a if [ $W_UNATTENDED_SLASH_Q ] then # Options documented at http://bugzilla.openwatcom.org/show_bug.cgi?id=898 - # But they don't seem to work on wine, so jam them into setup.inf - # Pick smallest installation that supports 16 bit C and C++ + # But they don't seem to work on Wine, so jam them into setup.inf + # Pick smallest installation that supports 16-bit C and C++ cd "$W_TMP" cp "$W_CACHE"/openwatcom/open-watcom-c-win32-1.9.exe . w_try_unzip . open-watcom-c-win32-1.9.exe setup.inf @@ -7211,7 +7549,7 @@ load_openwatcom() if test ! -f "$W_DRIVE_C"/WATCOM/binnt/wcc.exe then - w_warn "c:/watcom/binnt/wcc.exe not found; you probably didn't select 16 bit tools, and won't be able to buld win16test" + w_warn "c:/watcom/binnt/wcc.exe not found; you probably didn't select 16-bit tools, and won't be able to build win16test." fi } @@ -7239,7 +7577,7 @@ load_pdh() w_metadata physx dlls \ title="PhysX" \ - publisher="NVidia" \ + publisher="Nvidia" \ year="2014" \ media="download" \ file1="PhysX-9.14.0702-SystemSoftware.msi" \ @@ -7249,7 +7587,7 @@ load_physx() { # 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.14.0702/PhysX-9.14.0702-SystemSoftware.msi 81e2d38e2356e807ad80cdf150ed5acfff839c8b - cd "$W_CACHE"/physx + cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" msiexec /i PhysX-9.14.0702-SystemSoftware.msi $W_UNATTENDED_SLASH_Q } @@ -7274,7 +7612,7 @@ load_pngfilt() #---------------------------------------------------------------- w_metadata qdvd dlls \ - title="qdvd.dll (from Directx 9 user redistributable)" \ + title="qdvd.dll (from DirectX 9 user redistributable)" \ publisher="Microsoft" \ year="2010" \ media="download" \ @@ -7318,39 +7656,20 @@ load_quartz() #---------------------------------------------------------------- w_metadata quicktime72 dlls \ - title="Apple Quicktime 7.2" \ + title="Apple QuickTime 7.2" \ publisher="Apple" \ year="2010" \ media="download" \ - file1="quicktimeplayer72.exe" \ + file1="QuickTimeInstaller.exe" \ installed_file1="c:/windows/Installer/{95A890AA-B3B1-44B6-9C18-A8F7AB3EE7FC}/QTPlayer.ico" load_quicktime72() { - # http://www.apple.com/support/downloads/quicktime72forwindows.html - # http://www.oldapps.com/quicktime_player.php?old_quicktime=6 - w_download http://download.oldapps.com/Quicktime/quicktimeplayer72.exe bb89981f10cf21de57b9453e53cf81b9194271a9 + # https://support.apple.com/downloads/quicktime + w_download http://appldnld.apple.com.edgesuite.net/content.info.apple.com/QuickTime/061-2915.20070710.pO94c/QuickTimeInstaller.exe bb89981f10cf21de57b9453e53cf81b9194271a9 - unset QUICKTIME_QUIET - if test "$W_UNATTENDED_SLASH_Q" != "" - then - QUICKTIME_QUIET="/qn" # ISSETUPDRIVEN=0 - fi - - if w_workaround_wine_bug 9366 "" 1.1.22, - then - w_call gdiplus - w_call vcrun2005 # no bug number, but same era - fi - - if w_workaround_wine_bug 1347 - then - w_warn "Setting vista mode to avoid blacking the whole screen in quicktime" - w_set_winver vista - 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 + cd "$W_CACHE"/"$W_PACKAGE" + w_try "$WINE" ${file1} ALLUSERS=1 DESKTOP_SHORTCUTS=0 QTTaskRunFlags=0 QTINFO.BISQTPRO=1 SCHEDULE_ASUW=0 REBOOT_REQUIRED=No $W_UNATTENDED_SLASH_QN > /dev/null 2>&1 if w_workaround_wine_bug 11681 then @@ -7363,7 +7682,7 @@ load_quicktime72() then w_try "$WINE" control "$W_PROGRAMS_WIN\\QuickTime\\QTSystem\\QuickTime.cpl" else - # FIXME: script the control panel with autohotkey? + # FIXME: script the control panel with AutoHotKey? # We could probably also overwrite QuickTime.qtp but # the format isn't known, so we'd have to override all other settings, too. : @@ -7374,7 +7693,7 @@ load_quicktime72() #---------------------------------------------------------------- w_metadata quicktime76 dlls \ - title="Apple Quicktime 7.6" \ + title="Apple QuickTime 7.6" \ publisher="Apple" \ year="2010" \ media="download" \ @@ -7386,26 +7705,8 @@ load_quicktime76() # http://www.apple.com/quicktime/download/ w_download http://appldnld.apple.com/QuickTime/041-0025.20101207.Ptrqt/QuickTimeInstaller.exe 1eec8904f041d9e0ad3459788bdb690e45dbc38e - unset QUICKTIME_QUIET - if test "$W_UNATTENDED_SLASH_Q" - then - QUICKTIME_QUIET="/qn" # ISSETUPDRIVEN=0 - fi - - if w_workaround_wine_bug 9366 "" 1.1.22, - then - w_call gdiplus - w_call vcrun2005 # no bug number, but same era - fi - - if w_workaround_wine_bug 1347 - then - w_warn "Setting vista mode to avoid blacking the whole screen in quicktime" - w_set_winver vista - 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 + cd "$W_CACHE"/"$W_PACKAGE" + w_try "$WINE" QuickTimeInstaller.exe ALLUSERS=1 DESKTOP_SHORTCUTS=0 QTTaskRunFlags=0 QTINFO.BISQTPRO=1 SCHEDULE_ASUW=0 REBOOT_REQUIRED=No $W_UNATTENDED_SLASH_QN > /dev/null 2>&1 if w_workaround_wine_bug 11681 then @@ -7418,7 +7719,7 @@ load_quicktime76() then w_try "$WINE" control "$W_PROGRAMS_WIN\\QuickTime\\QTSystem\\QuickTime.cpl" else - # FIXME: script the control panel with autohotkey? + # FIXME: script the control panel with AutoHotKey? # We could probably also overwrite QuickTime.qtp but # the format isn't known, so we'd have to override all other settings, too. : @@ -7436,7 +7737,7 @@ load_remove_mono() { # FIXME: fold other .NET cleanups here (registry entries). # Probably should only do that for wine >= 1.5.6 - mono_uuid="`$WINE uninstaller --list | grep Mono | cut -f1 -d\|`" + mono_uuid="$($WINE uninstaller --list | grep Mono | cut -f1 -d\|)" if test "$mono_uuid" then "$WINE" uninstaller --remove $mono_uuid @@ -7448,7 +7749,7 @@ load_remove_mono() #---------------------------------------------------------------- w_metadata riched20 dlls \ - title="MS RichEdit Control version 2.0 (riched20.dll)" \ + title="MS RichEdit Control 2.0 (riched20.dll)" \ publisher="Microsoft" \ year="2004" \ media="download" \ @@ -7472,7 +7773,7 @@ load_riched20() # We may need a better way to distinguish between installed files. w_metadata riched30 dlls \ - title="MS RichEdit Control version 3.0 (riched20.dll, msls31.dll)" \ + title="MS RichEdit Control 3.0 (riched20.dll, msls31.dll)" \ publisher="Microsoft" \ year="2001" \ media="download" \ @@ -7507,7 +7808,7 @@ w_metadata richtx32 dlls \ load_richtx32() { - w_download https://web.archive.org/web/20150815181727/http://activex.microsoft.com/controls/vb6/richtx32.cab da404b566df3ad74fe687c39404a36c3e7cadc07 + w_download http://activex.microsoft.com/controls/vb6/richtx32.cab da404b566df3ad74fe687c39404a36c3e7cadc07 w_try_cabextract "$W_CACHE"/richtx32/richtx32.cab -d "$W_SYSTEM32_DLLS" -F RichTx32.ocx w_try_regsvr RichTx32.ocx } @@ -7576,7 +7877,7 @@ w_metadata shockwave dlls \ installed_file1="$W_SYSTEM32_DLLS_WIN/Adobe/Shockwave 12/shockwave_Projector_Loader.dcr" load_shockwave() { - # Not silent enough, use msi instead + # 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 # old sha1sum: 6a91a9da4b54c3fdc97130a15e1a173117e5f4ff @@ -7603,9 +7904,11 @@ load_shockwave() { # 2015-08-02 sha1sum: e2efa2eb7db0a6de08905cd61bb3efcf58fda994 # 2015-11-09 sha1sum: d13420a6fdc4f8d9c45c5ee6767974f0f0054cdc # 2015-12-27 sha1sum: 3ac6d85e54dffb2940c89fc10e63363a47ec96d0 - - w_download http://fpdownload.macromedia.com/get/shockwave/default/english/win95nt/latest/sw_lic_full_installer.msi 3ac6d85e54dffb2940c89fc10e63363a47ec96d0 - cd "$W_CACHE"/shockwave + # 2016-02-18 sha1sum: 45147a791e3f71bd67ead1622d9120060dd196e5 + # 2016-03-11 sha1sum: 4f955f42984ae69d2f6078d3a3fe9fadc4a25e34 + + w_download http://fpdownload.macromedia.com/get/shockwave/default/english/win95nt/latest/sw_lic_full_installer.msi 4f955f42984ae69d2f6078d3a3fe9fadc4a25e34 + cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" msiexec /i sw_lic_full_installer.msi $W_UNATTENDED_SLASH_Q } @@ -7649,7 +7952,7 @@ load_tabctl32() { # http://msdn.microsoft.com/en-us/library/aa240864(VS.60).aspx # Nov 2012: tabctl32 - w_download https://web.archive.org/web/20110818064708/http://activex.microsoft.com/controls/vb6/TABCTL32.CAB beca51d05924a5466ab80eb0f8d0cdf8bc1ac697 + w_download http://activex.microsoft.com/controls/vb6/TABCTL32.CAB beca51d05924a5466ab80eb0f8d0cdf8bc1ac697 w_try_cabextract --directory="$W_TMP" "$W_CACHE"/tabctl32/${file1} w_try cp -f "$W_TMP"/[Tt][Aa][Bb][Cc][Tt][Ll][3][2].[Oo][Cc][Xx] "$W_SYSTEM32_DLLS" @@ -7686,7 +7989,7 @@ w_metadata usp10 dlls \ load_usp10() { - # http://en.wikipedia.org/wiki/Uniscribe + # https://en.wikipedia.org/wiki/Uniscribe # http://www.microsoft.com/downloads/details.aspx?familyid=cebbacd8-c094-4255-b702-de3bb768148f w_download_to msi2 http://download.microsoft.com/download/WindowsInstaller/Install/2.0/W9XMe/EN-US/InstMsiA.exe e739c40d747e7c27aacdb07b50925b1635ee7366 w_try_cabextract --directory="$W_TMP" "$W_CACHE"/msi2/InstMsiA.exe @@ -7765,7 +8068,7 @@ w_metadata vb5run dlls \ load_vb5run() { w_download http://download.microsoft.com/download/vb50pro/utility/1/win98/en-us/msvbvm50.exe 28bfaf09b8ac32cf5ffa81252f3e2fadcb3a8f27 - cd "$W_CACHE"/vb5run + cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" msvbvm50.exe $W_UNATTENDED_SLASH_Q } @@ -7800,7 +8103,7 @@ load_vb6run() rm -f "$W_SYSTEM32_DLLS"/olepro32.dll rm -f "$W_SYSTEM32_DLLS"/stdole2.tlb - cd "$W_CACHE"/vb6run + cd "$W_CACHE/$W_PACKAGE" # Exits with status 43 for some reason? "$WINE" vbrun60sp6.exe $W_UNATTENDED_SLASH_Q @@ -7828,7 +8131,7 @@ winetricks_vcrun6_helper() { } w_metadata vcrun6 dlls \ - title="Visual C++ 6 sp4 libraries (mfc42, msvcp60, msvcirt)" \ + title="Visual C++ 6 SP4 libraries (mfc42, msvcp60, msvcirt)" \ publisher="Microsoft" \ year="2000" \ media="download" \ @@ -7840,7 +8143,7 @@ load_vcrun6() # Load the Visual C++ 6 runtime libraries, including the elusive mfc42u.dll winetricks_vcrun6_helper - # Delete some fake dlls to avoid vcredist installer warnings + # Delete some fake DLLs to avoid vcredist installer warnings rm -f "$W_SYSTEM32_DLLS"/comcat.dll rm -f "$W_SYSTEM32_DLLS"/msvcrt.dll rm -f "$W_SYSTEM32_DLLS"/oleaut32.dll @@ -7854,13 +8157,13 @@ load_vcrun6() *) w_die vcrun6 installation failed esac - # And then some apps need mfc42u.dll, dunno what right way - # is to get it, vcredist doesn't install it by default? + # And then some apps need mfc42u.dll, dunno what the right way + # is to get it, vcredist doesn't seem to install it by default? load_mfc42 } w_metadata mfc42 dlls \ - title="Visual C++ 6 sp4 mfc42 library; part of vcrun6" \ + title="Visual C++ 6 SP4 mfc42 library; part of vcrun6" \ publisher="Microsoft" \ year="2000" \ media="download" \ @@ -7875,7 +8178,7 @@ load_mfc42() } w_metadata msvcirt dlls \ - title="Visual C++ 6 sp4 msvcirt library; part of vcrun6" \ + title="Visual C++ 6 SP4 msvcirt library; part of vcrun6" \ publisher="Microsoft" \ year="2000" \ media="download" \ @@ -7892,11 +8195,11 @@ load_msvcirt() #---------------------------------------------------------------- # FIXME: we don't currently have an install check that can distinguish -# between sp4 and sp6, it would have to check size or version of a file, +# between SP4 and SP6, it would have to check size or version of a file, # or maybe a registry key. w_metadata vcrun6sp6 dlls \ - title="Visual C++ 6 sp6 libraries (with fixes in atl and mfc)" \ + title="Visual C++ 6 SP6 libraries (with fixes in ATL and MFC)" \ publisher="Microsoft" \ year="2004" \ media="download" \ @@ -7912,7 +8215,7 @@ load_vcrun6sp6() w_try_cabextract "$W_CACHE"/vcrun6sp6/Vs6sp6.exe -d "$W_TMP" -F vcredist.exe cd "$W_TMP" - # Delete some fake dlls to avoid vcredist installer warnings + # Delete some fake DLLs to avoid vcredist installer warnings w_try rm -f "$W_SYSTEM32_DLLS"/comcat.dll w_try rm -f "$W_SYSTEM32_DLLS"/msvcrt.dll w_try rm -f "$W_SYSTEM32_DLLS"/oleaut32.dll @@ -7927,7 +8230,7 @@ load_vcrun6sp6() *) w_die $W_PACKAGE installation failed esac - # And then some apps need mfc42u.dll, dunno what right way + # And then some apps need mfc42u.dll, dont know what right way # is to get it, vcredist doesn't install it by default? w_try_cabextract vcredist.exe -d "$W_SYSTEM32_DLLS" -F mfc42u.dll # Should the mfc42 verb install this one instead? @@ -7940,7 +8243,7 @@ w_metadata vcrun2003 dlls \ publisher="Microsoft" \ year="2003" \ media="download" \ - file1="BZEditW32_1.6.5_Installer.exe" \ + file1="BZEditW32_1.6.5.exe" \ installed_file1="$W_SYSTEM32_DLLS_WIN/msvcp71.dll" load_vcrun2003() @@ -7948,8 +8251,9 @@ load_vcrun2003() # Load the Visual C++ 2003 runtime libraries # Sadly, I know of no Microsoft URL for these echo "Installing BZFlag (which comes with the Visual C++ 2003 runtimes)" - 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 + # winetricks-test can't handle ${file1} in url since it does a raw parsing :/ + w_download https://sourceforge.net/projects/bzflag/files/bzedit%20win32/1.6.5/BZEditW32_1.6.5.exe bdd1b32c4202fd77e6513fd507c8236888b09121 + w_try "$WINE" "$W_CACHE"/vcrun2003/${file1} $W_UNATTENDED_SLASH_S w_try cp "$W_PROGRAMS_X86_UNIX/BZEdit1.6.5"/m*71* "$W_SYSTEM32_DLLS" } @@ -7977,7 +8281,7 @@ load_vcrun2005() # http://support.microsoft.com/kb/2538242 w_download http://download.microsoft.com/download/8/B/4/8B42259F-5D70-43F4-AC2E-4B208FD8D66A/vcredist_x86.EXE b8fab0bb7f62a24ddfe77b19cd9a1451abd7b847 - cd "$W_CACHE"/vcrun2005 + cd "$W_CACHE/$W_PACKAGE" w_override_dlls native,builtin atl80 msvcm80 msvcp80 msvcr80 vcomp w_try "$WINE" $file1 $W_UNATTENDED_SLASH_Q } @@ -7999,7 +8303,7 @@ load_vcrun2008() # 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 atl90 msvcm90 msvcp90 msvcr90 vcomp90 - cd "$W_CACHE"/vcrun2008 + cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" $file1 $W_UNATTENDED_SLASH_Q } @@ -8018,18 +8322,13 @@ load_vcrun2010() # See http://www.microsoft.com/downloads/details.aspx?FamilyID=a7b7a05e-6de6-4d3a-a423-37bf0912db84 w_download http://download.microsoft.com/download/5/B/C/5BC5DBB3-652D-4DCE-B14A-475AB85EEF6E/vcredist_x86.exe 372d9c1670343d3fb252209ba210d4dc4d67d358 - if w_workaround_wine_bug 23427 "" 1.3.5, - then - w_call msxml3 - fi - w_override_dlls native,builtin msvcp100 msvcr100 vcomp100 atl100 - cd "$W_CACHE"/vcrun2010 + cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" vcredist_x86.exe $W_UNATTENDED_SLASH_Q case "$W_ARCH" in win64) - # Also install the 64 bit version + # 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 if w_workaround_wine_bug 30713 "Manually extracting the 64-bit dlls" @@ -8065,25 +8364,12 @@ load_vcrun2012() w_download http://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x86.exe 96b377a27ac5445328cbaae210fc4f0aaa750d3f w_override_dlls native,builtin atl110 msvcp110 msvcr110 vcomp110 - cd "$W_CACHE"/vcrun2012 - if w_workaround_wine_bug 17273 "Manually extracting dlls" - then - w_try_cabextract --directory="$W_TMP" vcredist_x86.exe - w_try_cabextract --directory="$W_TMP" "$W_TMP/a2" - w_try_cabextract --directory="$W_TMP" "$W_TMP/a3" - cp "$W_TMP"/F_CENTRAL_atl110_x86 "$W_SYSTEM32_DLLS"/atl110.dll - cp "$W_TMP"/F_CENTRAL_mfc110_x86 "$W_SYSTEM32_DLLS"/mfc110.dll - cp "$W_TMP"/F_CENTRAL_mfc110u_x86 "$W_SYSTEM32_DLLS"/mfc110u.dll - cp "$W_TMP"/F_CENTRAL_msvcp110_x86 "$W_SYSTEM32_DLLS"/msvcp110.dll - cp "$W_TMP"/F_CENTRAL_msvcr110_x86 "$W_SYSTEM32_DLLS"/msvcr110.dll - cp "$W_TMP"/F_CENTRAL_vcomp110_x86 "$W_SYSTEM32_DLLS"/vcomp110.dll - else - w_try "$WINE" vcredist_x86.exe $W_UNATTENDED_SLASH_Q - fi + cd "$W_CACHE"/"$W_PACKAGE" + w_try "$WINE" vcredist_x86.exe $W_UNATTENDED_SLASH_Q case "$W_ARCH" in win64) - # Also install the 64 bit version + # Also install the 64-bit version # 2015/10/19: 1a5d93dddbc431ab27b1da711cd3370891542797 w_download http://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x64.exe 1a5d93dddbc431ab27b1da711cd3370891542797 if w_workaround_wine_bug 30713 "Manually extracting the 64-bit dlls" @@ -8123,24 +8409,12 @@ load_vcrun2013() w_download http://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3/vcredist_x86.exe df7f0a73bfa077e483e51bfb97f5e2eceedfb6a3 w_override_dlls native,builtin atl120 msvcp120 msvcr120 vcomp120 - cd "$W_CACHE"/vcrun2013 - if w_workaround_wine_bug 17273 "Manually extracting dlls" - then - w_try_cabextract --directory="$W_TMP" vcredist_x86.exe - w_try_cabextract --directory="$W_TMP" "$W_TMP/a2" - w_try_cabextract --directory="$W_TMP" "$W_TMP/a3" - cp "$W_TMP"/F_CENTRAL_mfc120_x86 "$W_SYSTEM32_DLLS"/mfc120.dll - cp "$W_TMP"/F_CENTRAL_mfc120u_x86 "$W_SYSTEM32_DLLS"/mfc120u.dll - cp "$W_TMP"/F_CENTRAL_msvcp120_x86 "$W_SYSTEM32_DLLS"/msvcp120.dll - cp "$W_TMP"/F_CENTRAL_msvcr120_x86 "$W_SYSTEM32_DLLS"/msvcr120.dll - cp "$W_TMP"/F_CENTRAL_vcomp120_x86 "$W_SYSTEM32_DLLS"/vcomp120.dll - else - w_try "$WINE" vcredist_x86.exe $W_UNATTENDED_SLASH_Q - fi + cd "$W_CACHE"/"$W_PACKAGE" + w_try "$WINE" vcredist_x86.exe $W_UNATTENDED_SLASH_Q case "$W_ARCH" in win64) - # Also install the 64 bit version + # Also install the 64-bit version # 2015/10/19: 8bf41ba9eef02d30635a10433817dbb6886da5a2 w_download http://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3/vcredist_x64.exe 8bf41ba9eef02d30635a10433817dbb6886da5a2 if w_workaround_wine_bug 30713 "Manually extracting the 64-bit dlls" @@ -8177,37 +8451,19 @@ load_vcrun2015() # 2015/10/12: bfb74e498c44d3a103ca3aa2831763fb417134d1 w_download https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x86.exe bfb74e498c44d3a103ca3aa2831763fb417134d1 - w_override_dlls native,builtin atl140 msvcp140 msvcr140 vcomp140 - cd "$W_CACHE"/vcrun2015 - if w_workaround_wine_bug 17273 "Manually extracting dlls" + if w_workaround_wine_bug 37781 then - w_try_cabextract --directory="$W_TMP" vc_redist.x86.exe - w_try_cabextract --directory="$W_TMP" "$W_TMP/a10" - w_try_cabextract --directory="$W_TMP" "$W_TMP/a11" - cp "$W_TMP"/concrt140.dll "$W_SYSTEM32_DLLS"/concrt140.dll - cp "$W_TMP"/mfc140.dll "$W_SYSTEM32_DLLS"/mfc140.dll - cp "$W_TMP"/mfc140u.dll "$W_SYSTEM32_DLLS"/mfc140u.dll - cp "$W_TMP"/mfcm140.dll "$W_SYSTEM32_DLLS"/mfcm140.dll - cp "$W_TMP"/mfcm140u.dll "$W_SYSTEM32_DLLS"/mfcm140u.dll - cp "$W_TMP"/msvcp140.dll "$W_SYSTEM32_DLLS"/msvcp140.dll - cp "$W_TMP"/vcamp140.dll "$W_SYSTEM32_DLLS"/vcamp140.dll - cp "$W_TMP"/vccorlib140.dll "$W_SYSTEM32_DLLS"/vccorlib140.dll - cp "$W_TMP"/vcomp140.dll "$W_SYSTEM32_DLLS"/vcomp140.dll - cp "$W_TMP"/vcruntime140.dll "$W_SYSTEM32_DLLS"/vcruntime140.dll - - w_override_dlls native,builtin api-ms-win-crt-heap-l1-1-0 api-ms-win-crt-locale-l1-1-0 api-ms-win-crt-runtime-l1-1-0 api-ms-win-crt-stdio-l1-1-0 ucrtbase vcruntime140 - cp "$W_TMP"/api_ms_win_crt_heap_l1_1_0.dll "$W_SYSTEM32_DLLS"/api-ms-win-crt-heap-l1-1-0.dll - cp "$W_TMP"/api_ms_win_crt_locale_l1_1_0.dll "$W_SYSTEM32_DLLS"/api-ms-win-crt-locale-l1-1-0.dll - cp "$W_TMP"/api_ms_win_crt_runtime_l1_1_0.dll "$W_SYSTEM32_DLLS"/api-ms-win-crt-runtime-l1-1-0.dll - cp "$W_TMP"/api_ms_win_crt_stdio_l1_1_0.dll "$W_SYSTEM32_DLLS"/api-ms-win-crt-stdio-l1-1-0.dll - cp "$W_TMP"/ucrtbase.dll "$W_SYSTEM32_DLLS"/ucrtbase.dll - else - w_try "$WINE" vc_redist.x86.exe $W_UNATTENDED_SLASH_Q + w_warn "This may fail in non-XP mode, see https://bugs.winehq.org/show_bug.cgi?id=37781" fi + w_override_dlls native,builtin api-ms-win-crt-conio-l1-1-0 api-ms-win-crt-heap-l1-1-0 api-ms-win-crt-locale-l1-1-0 api-ms-win-crt-math-l1-1-0 api-ms-win-crt-runtime-l1-1-0 api-ms-win-crt-stdio-l1-1-0 atl140 msvcp140 msvcr140 ucrtbase vcomp140 vcruntime140 + + cd "$W_CACHE"/"$W_PACKAGE" + w_try "$WINE" vc_redist.x86.exe $W_UNATTENDED_SLASH_Q + case "$W_ARCH" in win64) - # Also install the 64 bit version + # Also install the 64-bit version # 2015/10/12: 3155cb0f146b927fcc30647c1a904cd162548c8c w_download https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x64.exe 3155cb0f146b927fcc30647c1a904cd162548c8c if w_workaround_wine_bug 30713 "Manually extracting the 64-bit dlls" @@ -8227,9 +8483,10 @@ load_vcrun2015() cp "$W_TMP"/vcomp140.dll "$W_SYSTEM64_DLLS"/vcomp140.dll cp "$W_TMP"/vcruntime140.dll "$W_SYSTEM64_DLLS"/vcruntime140.dll - w_override_dlls native,builtin api-ms-win-crt-heap-l1-1-0 api-ms-win-crt-locale-l1-1-0 api-ms-win-crt-runtime-l1-1-0 api-ms-win-crt-stdio-l1-1-0 ucrtbase vcruntime140 + cp "$W_TMP"/api_ms_win_crt_conio_l1_1_0.dll "$W_SYSTEM64_DLLS"/api-ms-win-crt-conio-l1-1-0.dll cp "$W_TMP"/api_ms_win_crt_heap_l1_1_0.dll "$W_SYSTEM64_DLLS"/api-ms-win-crt-heap-l1-1-0.dll cp "$W_TMP"/api_ms_win_crt_locale_l1_1_0.dll "$W_SYSTEM64_DLLS"/api-ms-win-crt-locale-l1-1-0.dll + cp "$W_TMP"/api_ms_win_crt_math_l1_1_0.dll "$W_SYSTEM64_DLLS"/api-ms-win-crt-math-l1-1-0.dll cp "$W_TMP"/api_ms_win_crt_runtime_l1_1_0.dll "$W_SYSTEM64_DLLS"/api-ms-win-crt-runtime-l1-1-0.dll cp "$W_TMP"/api_ms_win_crt_stdio_l1_1_0.dll "$W_SYSTEM64_DLLS"/api-ms-win-crt-stdio-l1-1-0.dll cp "$W_TMP"/ucrtbase.dll "$W_SYSTEM64_DLLS"/ucrtbase.dll @@ -8255,7 +8512,7 @@ load_vjrun20() { if [ $W_ARCH = win64 ] then - w_warn "vjrun20 depends on dotnet20, which doesn't work on 64-bit wine yet. Skipping." + w_warn "vjrun20 depends on dotnet20, which doesn't work on 64-bit Wine yet. Skipping." return fi @@ -8263,17 +8520,14 @@ load_vjrun20() # See http://www.microsoft.com/downloads/details.aspx?FamilyId=E9D87F37-2ADC-4C32-95B3-B5E3A21BAB2C w_download http://download.microsoft.com/download/9/2/3/92338cd0-759f-4815-8981-24b437be74ef/vjredist.exe 80a098e36b90d159da915aebfbfbacf35f302bd8 - - if [ $W_UNATTENDED_SLASH_Q ] - then - w_try "$WINE" "$W_CACHE"/vjrun20/vjredist.exe /q /C:"install /QNT" - else - w_try "$WINE" "$W_CACHE"/vjrun20/vjredist.exe - fi + cd "$W_CACHE"/"$W_PACKAGE" + w_try "$WINE" vjredist.exe ${W_OPT_UNATTENDED:+ /q /C:"install $W_UNATTENDED_SLASH_QNT"} } #---------------------------------------------------------------- +# FIXME: two exe's, one for win64, one for win32.. + w_metadata windowscodecs dlls \ title="MS Windows Imaging Component" \ publisher="Microsoft" \ @@ -8284,11 +8538,26 @@ w_metadata windowscodecs dlls \ load_windowscodecs() { - w_download http://download.microsoft.com/download/f/f/1/ff178bb1-da91-48ed-89e5-478a99387d4f/wic_x86_enu.exe 53c18652ac2f8a51303deb48a1b7abbdb1db427f + # Separate 32/64-bit installers: + if [ "$W_ARCH" = "win32" ] ; then + # https://www.microsoft.com/en-us/download/details.aspx?id=32 + w_download http://download.microsoft.com/download/f/f/1/ff178bb1-da91-48ed-89e5-478a99387d4f/wic_x86_enu.exe 53c18652ac2f8a51303deb48a1b7abbdb1db427f + EXE="wic_x86_enu.exe" + else + # https://www.microsoft.com/en-us/download/details.aspx?id=1385 + w_download https://download.microsoft.com/download/6/4/5/645FED5F-A6E7-44D9-9D10-FE83348796B0/wic_x64_enu.exe 4bdbf76a7bc96453306c893b4a7b2b8ae6127f67 + EXE="wic_x64_enu.exe" + fi # Avoid a file existence check. - rm -f "$W_SYSTEM32_DLLS"/windowscodecs.dll "$W_SYSTEM32_DLLS"/windowscodecsext.dll "$W_SYSTEM32_DLLS"/photometadatahandler.dll - # AF says in appdb entry for .net 3.0 that windowscodecs has to be native only + w_try rm -f "$W_SYSTEM32_DLLS"/windowscodecs.dll "$W_SYSTEM32_DLLS"/windowscodecsext.dll "$W_SYSTEM32_DLLS"/photometadatahandler.dll + + if [ "$W_ARCH" = "win64" ] + then + w_try rm -f "$W_SYSTEM64_DLLS"/windowscodecs.dll "$W_SYSTEM64_DLLS"/windowscodecsext.dll "$W_SYSTEM64_DLLS"/photometadatahandler.dll + fi + + # AF says in AppDB entry for .NET 3.0 that windowscodecs has to be native only w_override_dlls native windowscodecs windowscodecsext # Always run the WIC installer in passive mode. @@ -8302,7 +8571,7 @@ load_windowscodecs() else TASKSET="" fi - w_try $TASKSET "$WINE" wic_x86_enu.exe /passive + w_try $TASKSET "$WINE" "$EXE" /passive } #---------------------------------------------------------------- @@ -8363,15 +8632,43 @@ load_wmi() w_set_winver win98 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 + cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" wmi9x.exe $W_UNATTENDED_SLASH_S w_unset_winver } #---------------------------------------------------------------- +w_metadata wmv9vcm dlls \ + title="MS Windows Media Video 9 Video Compression Manager" \ + publisher="Microsoft" \ + year="2013" \ + media="download" \ + file1="WindowsServer2003-WindowsMedia-KB2845142-x86-ENU.exe" \ + installed_file1="$W_SYSTEM32_DLLS_WIN/wmv9vcm.dll" + +load_wmv9vcm() +{ + # https://www.microsoft.com/en-us/download/details.aspx?id=39486 + # See also https://www.microsoft.com/en-us/download/details.aspx?id=6191 + w_download https://download.microsoft.com/download/2/8/D/28DA9C3E-6DA2-456F-BD33-1F937EB6E0FF/WindowsServer2003-WindowsMedia-KB2845142-x86-ENU.exe 0ace94c09bfab15410db3a15ffa42370891266de + w_try_cabextract --directory="$W_TMP" "$W_CACHE/$W_PACKAGE/$file1" + w_try cp -f "$W_TMP"/wm64/wmv9vcm.dll "$W_SYSTEM32_DLLS" + + # Register codec: + cat > "$W_TMP"/tmp.reg <<_EOF_ +REGEDIT4 +[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Drivers32] +"vidc.WMV3"="wmv9vcm.dll" + +_EOF_ + w_try_regedit "$W_TMP_WIN"\\tmp.reg +} + +#---------------------------------------------------------------- + w_metadata wsh56js dlls \ - title="MS Windows scripting 5.6, jscript only, no cscript" \ + title="MS Windows Script Host 5.6, JScript only, no CScript" \ publisher="Microsoft" \ year="2006" \ media="download" \ @@ -8380,13 +8677,13 @@ w_metadata wsh56js dlls \ load_wsh56js() { - # This installs jscript 5.6 (but not vbscript) + # This installs JScript 5.6 (but not VBScript) # See also http://www.microsoft.com/downloads/details.aspx?FamilyID=16dd21a1-c4ee-4eca-8b80-7bd1dfefb4f8&DisplayLang=en w_download http://download.microsoft.com/download/b/c/3/bc3a0c36-fada-497d-a3de-8b0139766f3b/Windows2000-KB917344-56-x86-enu.exe add5f74c5bd4da6cfae47f8306de213ec6ed52c8 cd "$W_CACHE/$W_PACKAGE" 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 + # setupapi looks at the versions in new and original jscript.dll, and Wine's original is newer than wsh56js's, so we 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 } @@ -8394,7 +8691,7 @@ load_wsh56js() #---------------------------------------------------------------- w_metadata wsh56vb dlls \ - title="MS Windows scripting 5.6, vbscript only, no cscript" \ + title="MS Windows Script Host 5.6, VBScript only, no CScript" \ publisher="Microsoft" \ year="2007" \ media="download" \ @@ -8403,13 +8700,13 @@ w_metadata wsh56vb dlls \ load_wsh56vb() { - # This installs vbscript 5.6 (but not jscript) + # This installs VBScript 5.6 (but not JScript) # See also http://www.microsoft.com/downloads/details.aspx?familyid=4F728263-83A3-464B-BCC0-54E63714BC75 w_download http://download.microsoft.com/download/IE60/Patch/Q318089/W9XNT4Me/EN-US/vbs56men.exe 48f14a93db33caff271da0c93f334971f9d7cb22 - cd "$W_CACHE"/wsh56vb + cd "$W_CACHE/$W_PACKAGE" 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 + # setupapi looks at the versions in new and original vbscript.dll, and Wine's original is newer than wsh56vb's, so we have to nuke the original w_try rm "$W_SYSTEM32_DLLS/vbscript.dll" w_try "$WINE" vbs56men.exe $W_UNATTENDED_SLASH_Q } @@ -8417,7 +8714,7 @@ load_wsh56vb() #---------------------------------------------------------------- w_metadata wsh57 dlls \ - title="MS Windows Scripting Host 5.7" \ + title="MS Windows Script Host 5.7" \ publisher="Microsoft" \ year="2007" \ media="download" \ @@ -8478,13 +8775,13 @@ load_xact() # Register xactengine?_?.dll for x in "$W_SYSTEM32_DLLS"/xactengine* do - w_try_regsvr `basename "$x"` + w_try_regsvr $(basename "$x") done # and xaudio?_?.dll, but not xaudio2_8 (unsupported) for x in 0 1 2 3 4 5 6 7 do - w_try_regsvr `basename "$W_SYSTEM32_DLLS/xaudio2_${x}"` + w_try_regsvr $(basename "$W_SYSTEM32_DLLS/xaudio2_${x}") done } @@ -8530,13 +8827,13 @@ load_xact_jun2010() # Register xactengine?_?.dll for x in "$W_SYSTEM32_DLLS"/xactengine* do - w_try_regsvr `basename "$x"` + w_try_regsvr $(basename "$x") done # and xaudio?_?.dll, but not xaudio2_8 (unsupported) for x in 0 1 2 3 4 5 6 7 do - w_try_regsvr `basename "$W_SYSTEM32_DLLS/xaudio2_${x}"` + w_try_regsvr $(basename "$W_SYSTEM32_DLLS/xaudio2_${x}") done } @@ -8590,26 +8887,13 @@ load_xmllite() 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 ;; ja*) w_download http://download.microsoft.com/download/f/5/c/f5cf73b7-4dc4-4042-815d-29d2fd24ae6f/WindowsXP-KB915865-v11-x86-JPN.exe eaf443d04d9b13cb86f927f8a7fe372268386395 ;; - *) w_die "sorry, xmllite install not yet implemented for language $LANG" ;; + *) w_die "Sorry, xmllite install not yet implemented for language $LANG" ;; esac # Doesn't install in newer versions: w_set_winver winxp - if w_workaround_wine_bug 16013 - then - # Find instructions to create this file in dlls/wintrust/tests/crypt.c - w_download https://github.com/Winetricks/winetricks/raw/master/files/winetest.cat ac8f50dd54d011f3bb1dd79240dae9378748449f - # Put a dummy catalog file in place - mkdir -p "$W_SYSTEM32_DLLS"/catroot/\{f750e6c3-38ee-11d1-85e5-00c04fc295ee\} - w_try cp -f "$W_CACHE"/xmllite/winetest.cat "$W_SYSTEM32_DLLS"/catroot/\{f750e6c3-38ee-11d1-85e5-00c04fc295ee\}/oem0.cat - if test ! "$W_OPT_UNATTENDED" - then - w_warn "xmllite's interactive installer will hang at the end, but otherwise work." - fi - fi - - cd "$W_CACHE"/xmllite + cd "$W_CACHE/$W_PACKAGE" w_override_dlls native xmllite case $LANG in en*) w_try "$WINE" WindowsXP-KB915865-v11-x86-ENU.exe $W_UNATTENDED_SLASH_Q ;; @@ -8635,8 +8919,8 @@ 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 + cd "$W_CACHE/$W_PACKAGE" + w_try "$WINE" msiexec $W_UNATTENDED_SLASH_QUIET /i $file1 } #---------------------------------------------------------------- @@ -8651,12 +8935,19 @@ w_metadata xna40 dlls \ load_xna40() { - w_warn "xna40 does not install properly in wine yet" + if w_workaround_bug 30718 + then + w_warn "$W_PACKAGE may not install properly in Wine yet" + fi + + # See https://bugs.winehq.org/show_bug.cgi?id=30718#c8 + export COMPlus_OnlyUseLatestCLR=1 w_call dotnet40 + # 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 + cd "$W_CACHE/$W_PACKAGE" + w_try "$WINE" msiexec $W_UNATTENDED_SLASH_QUIET /i $file1 } #---------------------------------------------------------------- @@ -8673,11 +8964,7 @@ load_xvid() { w_call vcrun6 w_download http://www.koepi.info/Xvid-1.3.2-20110601.exe 0a11498a96f75ad019c4c7d06161504140337dc0 - cd "$W_CACHE"/xvid - if w_workaround_wine_bug 27380 "Installing msvcr80 to avoid crash in setavi32.exe" - then - w_call vcrun2008 - fi + cd "$W_CACHE"/"$W_PACKAGE" w_try "$WINE" $file1 ${W_OPT_UNATTENDED:+ --mode unattended --decode_divx 1 --decode_3ivx 1 --decode_other 1} } @@ -8690,16 +8977,17 @@ w_metadata baekmuk fonts \ publisher="Wooderart Inc. / kldp.net" \ year="1999" \ media="download" \ - file1="ttf-baekmuk_2.2.orig.tar.gz" \ + file1="fonts-baekmuk_2.2.orig.tar.gz" \ installed_file1="$W_FONTSDIR_WIN/batang.ttf" load_baekmuk() { # See http://kldp.net/projects/baekmuk for project page # Need to download from Debian as the project page has unique captcha tokens per visitor - w_download http://ftp.debian.org/debian/pool/main/t/ttf-baekmuk/ttf-baekmuk_2.2.orig.tar.gz afdee34f700007de6ea87b43c92a88b7385ba65b - cd "$W_TMP/" - gunzip -dc "$W_CACHE/baekmuk/ttf-baekmuk_2.2.orig.tar.gz" | tar -xf - + w_download http://http.debian.net/debian/pool/main/f/fonts-baekmuk/fonts-baekmuk_2.2.orig.tar.gz afdee34f700007de6ea87b43c92a88b7385ba65b + + cd "$W_TMP" + tar zxvf "$W_CACHE/$W_PACKAGE/$file1" baekmuk-ttf-2.2/ttf w_try mv baekmuk-ttf-2.2/ttf/*.ttf "$W_FONTSDIR_UNIX" w_register_font batang.ttf "Baekmuk Batang" w_register_font gulim.ttf "Baekmuk Gulim" @@ -8770,7 +9058,7 @@ load_constantia() #---------------------------------------------------------------- w_metadata consolas fonts \ - title="MS Consolas Console font" \ + title="MS Consolas console font" \ publisher="Microsoft" \ year="2011" \ media="download" \ @@ -8802,17 +9090,17 @@ w_metadata corefonts fonts \ load_corefonts() { # FIXME: why is this commented out? Should be removed or enabled. - #w_download http://ftp.netbsd.org/pub/pkgsrc/distfiles/ms-ttf/andale32.exe c4db8cbe42c566d12468f5fdad38c43721844c69 - w_download http://ftp.netbsd.org/pub/pkgsrc/distfiles/ms-ttf/arial32.exe 6d75f8436f39ab2da5c31ce651b7443b4ad2916e - w_download http://ftp.netbsd.org/pub/pkgsrc/distfiles/ms-ttf/arialb32.exe d45cdab84b7f4c1efd6d1b369f50ed0390e3d344 - w_download http://ftp.netbsd.org/pub/pkgsrc/distfiles/ms-ttf/comic32.exe 2371d0327683dcc5ec1684fe7c275a8de1ef9a51 - w_download http://ftp.netbsd.org/pub/pkgsrc/distfiles/ms-ttf/courie32.exe 06a745023c034f88b4135f5e294fece1a3c1b057 - w_download http://ftp.netbsd.org/pub/pkgsrc/distfiles/ms-ttf/georgi32.exe 90e4070cb356f1d811acb943080bf97e419a8f1e - w_download http://ftp.netbsd.org/pub/pkgsrc/distfiles/ms-ttf/impact32.exe 86b34d650cfbbe5d3512d49d2545f7509a55aad2 - w_download http://ftp.netbsd.org/pub/pkgsrc/distfiles/ms-ttf/times32.exe 20b79e65cdef4e2d7195f84da202499e3aa83060 - w_download http://ftp.netbsd.org/pub/pkgsrc/distfiles/ms-ttf/trebuc32.exe 50aab0988423efcc9cf21fac7d64d534d6d0a34a - w_download http://ftp.netbsd.org/pub/pkgsrc/distfiles/ms-ttf/verdan32.exe f5b93cedf500edc67502f116578123618c64a42a - w_download http://ftp.netbsd.org/pub/pkgsrc/distfiles/ms-ttf/webdin32.exe 2fb4a42c53e50bc70707a7b3c57baf62ba58398f + #w_download ftp://ftp.fi.debian.org/gentoo/distfiles/andale32.exe c4db8cbe42c566d12468f5fdad38c43721844c69 + w_download ftp://ftp.fi.debian.org/gentoo/distfiles/arial32.exe 6d75f8436f39ab2da5c31ce651b7443b4ad2916e + w_download ftp://ftp.fi.debian.org/gentoo/distfiles/arialb32.exe d45cdab84b7f4c1efd6d1b369f50ed0390e3d344 + w_download ftp://ftp.fi.debian.org/gentoo/distfiles/comic32.exe 2371d0327683dcc5ec1684fe7c275a8de1ef9a51 + w_download ftp://ftp.fi.debian.org/gentoo/distfiles/courie32.exe 06a745023c034f88b4135f5e294fece1a3c1b057 + w_download ftp://ftp.fi.debian.org/gentoo/distfiles/georgi32.exe 90e4070cb356f1d811acb943080bf97e419a8f1e + w_download ftp://ftp.fi.debian.org/gentoo/distfiles/impact32.exe 86b34d650cfbbe5d3512d49d2545f7509a55aad2 + w_download ftp://ftp.fi.debian.org/gentoo/distfiles/times32.exe 20b79e65cdef4e2d7195f84da202499e3aa83060 + w_download ftp://ftp.fi.debian.org/gentoo/distfiles/trebuc32.exe 50aab0988423efcc9cf21fac7d64d534d6d0a34a + w_download ftp://ftp.fi.debian.org/gentoo/distfiles/verdan32.exe f5b93cedf500edc67502f116578123618c64a42a + w_download ftp://ftp.fi.debian.org/gentoo/distfiles/webdin32.exe 2fb4a42c53e50bc70707a7b3c57baf62ba58398f # Natively installed versions of these fonts will cause the installers # to exit silently. Because there are apps out there that depend on the @@ -8903,8 +9191,8 @@ do_droid() { load_droid() { - # See http://en.wikipedia.org/wiki/Droid_(font) - # Old url was http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob_plain;f=data/fonts/' + # See https://en.wikipedia.org/wiki/Droid_(font) + # Old URL was http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob_plain;f=data/fonts/' # Then it was https://github.com/android/platform_frameworks_base/blob/master/data/fonts/ # but the fonts are no longer in master. Using an older commit instead: DROID_URL='https://github.com/android/platform_frameworks_base/blob/feef9887e8f8eb6f64fc1b4552c02efb5755cdc1/data/fonts/' @@ -9074,7 +9362,7 @@ w_metadata fontfix settings \ load_fontfix() { - # some versions of ukai.ttf and uming.ttf crash .net and picasa + # Some versions of ukai.ttf and uming.ttf crash .NET and Picasa # See http://bugs.winehq.org/show_bug.cgi?id=7098#c9 # Very unlikely to still be around, so downgrade to fatal warning if test -f /usr/share/fonts/truetype/arphic/ukai.ttf @@ -9146,7 +9434,7 @@ w_metadata liberation fonts \ load_liberation() { # http://www.redhat.com/promo/fonts/ - case `uname -s` in + case $(uname -s) in SunOS|Solaris) echo "If you get 'ERROR: Certificate verification error for fedorahosted.org: unable to get local issuer certificate':" echo "Then you need to add Verisign root certificates to your local keystore." @@ -9196,9 +9484,9 @@ load_lucida() w_metadata opensymbol fonts \ title="OpenSymbol fonts (replacement for Wingdings)" \ publisher="OpenOffice.org" \ - year="2010" \ + year="2016" \ media="download" \ - file1="ttf-opensymbol_3.2.1-11+squeeze8_all.deb" \ + file1="fonts-opensymbol_102.6+LibO4.3.3-2+deb8u5_all.deb" \ installed_file1="$W_FONTSDIR_WIN/opens___.ttf" load_opensymbol() @@ -9206,11 +9494,11 @@ load_opensymbol() # The OpenSymbol fonts are a replacement for the Windows Wingdings font from OpenOffice.org. # Need to w_download Debian since I can't find a standalone download from OpenOffice # Note: The source download package on debian is for _all_ of OpenOffice, which is 266 MB. - w_download http://ftp.us.debian.org/debian/pool/main/o/openoffice.org/ttf-opensymbol_3.2.1-11+squeeze8_all.deb c5e0fa518a988a511ea2392f3919f516c0a3c65c + w_download http://security.debian.org/debian-security/pool/updates/main/libr/libreoffice/fonts-opensymbol_102.6+LibO4.3.3-2+deb8u5_all.deb b683e6304c58fdbb5c31443609a3398c71a3fcf0 cd "$W_TMP" - w_try ar x "$W_CACHE/opensymbol/$file1" data.tar.bz2 - w_try tar jvxf data.tar.bz2 ./usr/share/fonts/truetype/openoffice/opens___.ttf + w_try_ar "$W_CACHE/$W_PACKAGE/$file1" data.tar.xz + w_try tar Jvxf "$W_TMP/data.tar.xz" ./usr/share/fonts/truetype/openoffice/opens___.ttf w_try mv "$W_TMP/usr/share/fonts/truetype/openoffice/opens___.ttf" "$W_FONTSDIR_UNIX" w_register_font opens___.ttf "OpenSymbol" } @@ -9350,7 +9638,7 @@ load_allfonts() # This verb uses reflection, should probably do it portably instead, but that would require keeping it up to date for file in "$WINETRICKS_METADATA"/fonts/*.vars do - cmd=`basename $file .vars` + cmd=$(basename $file .vars) case $cmd in allfonts|cjkfonts) ;; *) w_call $cmd;; @@ -9376,25 +9664,23 @@ load_3m_library() w_download http://www.3m.com/us/library/eBook/docs/3M-TM-Cloud-Library-PC-App-LIVE-Installer-1.51.735677.exe 810dc5f6b74ab7b34893288ee44ef7dc563a4ee7 cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" 3M-TM-Cloud-Library-PC-App-LIVE-Installer-1.51.735677.exe $W_UNATTENDED_SLASH_S - w_declare_exe "$W_PROGRAMS_X86_WIN\\3M(TM) Cloud Library PC App" "3MCloudLibrary.exe" } #---------------------------------------------------------------- w_metadata 7zip apps \ - title="7-Zip 15.05 beta" \ + title="7-Zip 16.02" \ publisher="Igor Pavlov" \ - year="2015" \ + year="2016" \ media="download" \ - file1="7z1505.exe" \ + file1="7z1602.exe" \ installed_exe1="$W_PROGRAMS_X86_WIN/7-Zip/7zFM.exe" load_7zip() { - w_download http://www.7-zip.org/a/7z1505.exe ece8bbd4c8903095d44e99196219c953a1d47bfd + w_download http://www.7-zip.org/a/7z1602.exe a86f0726019ca84d1de1b036033d888d4538b2a9 cd "$W_CACHE/$W_PACKAGE" - w_try "$WINE" 7z1505.exe $W_UNATTENDED_SLASH_S - w_declare_exe "$W_PROGRAMS_X86_WIN\\7-Zip" "7zFM.exe" + w_try "$WINE" "${file1}" $W_UNATTENDED_SLASH_S } #---------------------------------------------------------------- @@ -9410,9 +9696,8 @@ w_metadata abiword apps \ 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 + cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" abiword-setup-2.8.6.exe $W_UNATTENDED_SLASH_S - w_declare_exe "$W_PROGRAMS_X86_WIN\\AbiWord\\bin" AbiWord.exe } #---------------------------------------------------------------- @@ -9431,8 +9716,6 @@ 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_declare_exe "$W_PROGRAMS_X86_WIN\\Adobe\\Adobe Digital Editions" \ - digitaleditions.exe } #---------------------------------------------------------------- @@ -9454,9 +9737,9 @@ load_adobe_diged4() then w_call corefonts fi - if [ ! -x "`which winbindd 2>/dev/null`" ] + if [ ! -x "$(which winbindd 2>/dev/null)" ] then - w_warn "Adobe Digital Editions 4.5 requires winbind (part of samba) to be installed, but winbind was not detected." + w_warn "Adobe Digital Editions 4.5 requires winbind (part of Samba) to be installed, but winbind was not detected." fi w_call dotnet40 @@ -9501,7 +9784,6 @@ load_audible() WinWait, AudibleManager ; the dang thing starts up WinKill " - w_declare_exe "$W_PROGRAMS_X86_WIN\\Audible\\Bin" Manager.exe } #---------------------------------------------------------------- @@ -9535,13 +9817,12 @@ load_audibledm() WinWait, Audible Download Manager ; the dang thing starts up WinKill " - w_declare_exe "$W_PROGRAMS_X86_WIN\\Audible\\Bin" AudibleDownloadHelper.exe } #---------------------------------------------------------------- w_metadata autohotkey apps \ - title="Autohotkey" \ + title="AutoHotKey" \ publisher="autohotkey.org" \ year="2010" \ media="download" \ @@ -9552,7 +9833,7 @@ load_autohotkey() { W_BROWSERAGENT=1 \ w_download http://www.autohotkey.com/download/AutoHotkey104805_Install.exe 13e5a9ca6d5b7705f1cd02560c3af4d38b1904fc - cd "$W_CACHE"/autohotkey + cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" AutoHotkey104805_Install.exe $W_UNATTENDED_SLASH_S } @@ -9569,10 +9850,8 @@ w_metadata cmake apps \ load_cmake() { w_download http://www.cmake.org/files/v2.8/cmake-2.8.11.2-win32-x86.exe d79af5715c0ad48d78bb731cce93b5ad89b16512 - cd "$W_CACHE"/cmake + cd "$W_CACHE/$W_PACKAGE" 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" } #---------------------------------------------------------------- @@ -9615,18 +9894,12 @@ load_controlpad() echo "If setup says 'Unable to start DDE ...', press Ignore" cd "$W_TMP" - case "$W_UNATTENDED_SLASH_Q" in - "") quiet="" ;; - *) quiet="/qt" - esac - w_try "$WINE" setup $quiet + w_try "$WINE" setup $W_UNATTENDED_SLASH_QT if ! test -f "$W_SYSTEM32_DLLS"/FM20.DLL then w_die "Install failed. Please report, If you just wanted fm20.dll, try installing art2min instead." fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\ActiveX Control Pad" "PED.EXE" } #---------------------------------------------------------------- @@ -9643,7 +9916,7 @@ load_controlspy() { w_download http://download.microsoft.com/download/a/3/1/a315b133-03a8-4845-b428-ec585369b285/ControlSpy.msi efe33701f78b5853ba73353f028b777b4c849e77 cd "$W_CACHE/$W_PACKAGE" - w_try "$WINE" msiexec /i ControlSpy.msi ${W_OPT_UNATTENDED:+/qb} + w_try "$WINE" msiexec /i ControlSpy.msi ${W_UNATTENDED_SLASH_QB} } #---------------------------------------------------------------- @@ -9678,14 +9951,6 @@ load_dxdiag() then w_call directmusic fi - if w_workaround_wine_bug 25715 "" 1.7.28, - then - w_call quartz - fi - if w_workaround_wine_bug 25716 "" 1.7.29, - then - w_call devenum - fi } #---------------------------------------------------------------- @@ -9693,17 +9958,66 @@ load_dxdiag() w_metadata emu8086 apps \ title="emu8086" \ publisher="emu8086.com" \ - year="2013" \ + year="2015" \ media="download" \ - file1="emu8086.zip" \ + file1="emu8086v408r11.zip" \ installed_exe1="c:/emu8086/emu8086.exe" load_emu8086() { - w_download https://web.archive.org/web/20140209022335/http://emu8086.com/emu8086.zip fa3b2451cbc46fd2e3aa2670fa4d81ae8e75c7db + w_download http://www.emu8086.com/files/emu8086v408r11.zip aa71b46ee9259e5b31a300c820277e551969da7b w_try_unzip "$W_TMP" "$W_CACHE/$W_PACKAGE"/$file1 w_try "$WINE" "$W_TMP/Setup.exe" $W_UNATTENDED_SLASH_SILENT - w_declare_exe "c:\\emu8086" "emu8086.exe" +} + +#---------------------------------------------------------------- + +w_metadata ev3 apps \ + title="Lego Mindstorms EV3 Home Edition" \ + publisher="Lego" \ + year="2014" \ + media="download" \ + file1="LMS-EV3-WIN32-ENUS-01-02-01-full-setup.exe" \ + installed_exe1="$W_PROGRAMS_X86_WIN/LEGO Software/LEGO MINDSTORMS EV3 Home Edition/MindstormsEV3.exe" + +load_ev3() +{ + if w_workaround_wine_bug 40192 "Installing vcrun2005 as Wine does not have MFC80.dll" + then + w_call vcrun2005 + fi + + if w_workaround_wine_bug 40193 "Installing IE8 is built-in Gecko is not sufficient" + then + w_call ie8 + fi + + w_call dotnet40 + + # 2016-02-18: LMS-EV3-WIN32-ENUS-01-01-01-full-setup.exe 855c914d9a3cf0f4793a046872658fd661389671 + # 2016-03-22: LMS-EV3-WIN32-ENUS-01-02-01-full-setup.exe f4f077befd837e8f5716dbd134dc6828d6c4cc77 + + w_download http://esd.lego.com.edgesuite.net/digitaldelivery/mindstorms/6ecda7c2-1189-4816-b2dd-440e22d65814/public/LMS-EV3-WIN32-ENUS-01-02-01-full-setup.exe f4f077befd837e8f5716dbd134dc6828d6c4cc77 + + if [ $W_UNATTENDED_SLASH_Q ] + then + quiet="$W_UNATTENDED_SLASH_QB /AcceptLicenses yes" + else + quiet="" + fi + + cd "$W_CACHE"/"$W_PACKAGE" + w_try "$WINE" "$file1" ${quiet} + + if w_workaround_wine_bug 40729 "Setting override for urlmon.dll to native to avoid crash" + then + w_override_dlls native urlmon + fi + + if w_workaround_wine_bug 34897 "Installing update KB2936068 to work around bug 34897" 1.9.10, + then + w_call ie8_kb2936068 + fi } #---------------------------------------------------------------- @@ -9718,16 +10032,9 @@ w_metadata firefox apps \ load_firefox() { - if w_workaround_wine_bug 29077 "" 1.7.25, - then - w_warn "Visit about:config, search for dom.ipc, and set those booleans false if you want to use flash." - fi - w_download "https://download.mozilla.org/?product=firefox-39.0-SSL&os=win&lang=en-US" 75eccbd9b2d44210b551c9a5045f03f01e899528 "$file1" - cd "$W_CACHE"/firefox + cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" "$file1" ${W_OPT_UNATTENDED:+ -ms} - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Mozilla Firefox" firefox.exe } #---------------------------------------------------------------- @@ -9747,25 +10054,23 @@ load_fontxplorer() cd "$W_CACHE/fontxplorer" w_try "$WINE" Font_Xplorer_122_Free.exe $W_UNATTENDED_SLASH_S - w_declare_exe "$W_PROGRAMS_X86_WIN\\Font Xplorer" "FXplorer.exe" } #---------------------------------------------------------------- w_metadata foobar2000 apps \ - title="foobar2000 v1.3.6" \ + title="foobar2000 v1.3.10" \ publisher="Peter Pawlowski" \ year="2014" \ media="manual_download" \ - file1="foobar2000_v1.3.6.exe" \ + file1="foobar2000_v1.3.10.exe" \ installed_exe1="$W_PROGRAMS_X86_WIN/foobar2000/foobar2000.exe" load_foobar2000() { - w_download_manual http://www.foobar2000.org/download foobar2000_v1.3.6.exe 77d1c3aa766853701d29e46b3018aaf1e1b5dd39 + w_download_manual http://www.foobar2000.org/download foobar2000_v1.3.10.exe d4d60effc26d3ead48ba6f9c5ad32b9066231807 cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" $file1 $W_UNATTENDED_SLASH_S - w_declare_exe "$W_PROGRAMS_X86_WIN\\foobar2000" "foobar2000.exe" } #---------------------------------------------------------------- @@ -9780,11 +10085,6 @@ w_metadata iceweasel apps \ load_iceweasel() { - if w_workaround_wine_bug 29077 "" 1.7.25, - then - w_warn "Visit about:config, search for dom.ipc, and set those booleans false if you want to use flash." - fi - w_download https://ftp.gnu.org/gnu/gnuzilla/31.7.0/icecat-31.7.0.en-US.win32.zip cf52a728c1af29065b7dc7bdddc9265a79eb5328 w_try_unzip "${W_PROGRAMS_X86_UNIX}" "${W_CACHE}/${W_PACKAGE}/${file1}" } @@ -9860,19 +10160,18 @@ load_irfanview() else w_try "$WINE" $file1 fi - w_declare_exe "$W_PROGRAMS_X86_WIN\\IrfanView" "i_view32.exe" } #---------------------------------------------------------------- # FIXME: ie6 always installs to C:/Program Files even if LANG is de_DE.utf-8, -# so we have to hard code that, but that breaks on 64 bit windows. +# so we have to hard code that, but that breaks on 64-bit Windows. w_metadata ie6 dlls \ title="Internet Explorer 6" \ publisher="Microsoft" \ year="2002" \ - media="manual_download" \ - file1="msie60.exe" \ + media="download" \ + file1="ie60.exe" \ installed_file1="c:/Program Files/Internet Explorer/iedetect.dll" load_ie6() @@ -9883,23 +10182,24 @@ load_ie6() w_die "This package does not work on a 64-bit installation" fi - w_download_manual http://www.oldversion.com/download-Internet-Explorer-6.0.html msie60.exe 8e483db28ff01a7cabd39147ab6c59753ea1f533 + w_download http://download.oldapps.com/Internet_Explorer/ie60.exe 8e483db28ff01a7cabd39147ab6c59753ea1f533 cd "$W_TMP" - "$WINE" "$W_CACHE"/ie6/$file1 + "$WINE" "$W_CACHE"/"$W_PACKAGE"/$file1 w_call msls31 # Unregister Wine IE if [ ! -f "$W_SYSTEM32_DLLS"/plugin.ocx ] then + w_override_dlls builtin iexplore.exe 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 - # Remove the fake dlls, if any + # 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 do @@ -9973,24 +10273,27 @@ w_metadata ie7 dlls \ load_ie7() { - if w_workaround_wine_bug XX "ie7 install fails in wine-1.8.1+" 1.8.1, - then - w_warn "ie7 install fails in wine-1.8.1+, see https://github.com/Winetricks/winetricks/issues/582" - fi - # Unregister Wine IE if grep -q -i "wine placeholder" "$W_PROGRAMS_X86_UNIX/Internet Explorer/iexplore.exe" then + w_override_dlls builtin iexplore.exe 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 wininet xmllite + w_override_dlls native,builtin itircl itss jscript mshtml msimtf shdoclc shdocvw shlwapi urlmon wininet xmllite - # Bundled updspapi cannot work on wine + # IE7 installer will check the version number of iexplore.exe which causes IE7 installer to fail on wine-1.9.0+ + w_override_dlls native iexplore.exe + + # Bundled updspapi cannot work on Wine w_override_dlls builtin updspapi - # Remove the fake dlls from the existing WINEPREFIX + # Remove the fake DLLs from the existing WINEPREFIX + if [ -f "$W_PROGRAMS_X86_UNIX/Internet Explorer/iexplore.exe" ] + then + mv "$W_PROGRAMS_X86_UNIX/Internet Explorer/iexplore.exe" "$W_PROGRAMS_X86_UNIX/Internet Explorer/iexplore.exe.bak" + fi for dll in itircl itss jscript mshtml msimtf shdoclc shdocvw shlwapi urlmon do test -f "$W_SYSTEM32_DLLS"/$dll.dll && @@ -10005,7 +10308,7 @@ load_ie7() mkdir -p "$W_SYSTEM32_DLLS"/catroot/\{f750e6c3-38ee-11d1-85e5-00c04fc295ee\} w_try cp -f "$W_CACHE"/ie7/winetest.cat "$W_SYSTEM32_DLLS"/catroot/\{f750e6c3-38ee-11d1-85e5-00c04fc295ee\}/oem0.cat - # KLUDGE: if / is writable (as on MacOSX?), having a z: mapping to it + # KLUDGE: if / is writable (as on OS X?), having a Z: mapping to it # causes ie7 to put temporary directories on Z:\ # so hide it temporarily. This is not very robust! if test -w / @@ -10016,15 +10319,9 @@ load_ie7() # Install w_download http://download.microsoft.com/download/3/8/8/38889DC1-848C-4BF2-8335-86C573AD86D9/IE7-WindowsXP-x86-enu.exe d39b89c360fbaa9706b5181ae4718100687a5326 - if test "$W_UNATTENDED_SLASH_Q" = "" - then - quiet="" - else - quiet="/quiet" - fi - cd "$W_CACHE"/ie7 + cd "$W_CACHE/$W_PACKAGE" - "$WINE" IE7-WindowsXP-x86-enu.exe $quiet + "$WINE" IE7-WindowsXP-x86-enu.exe $W_UNATTENDED_SLASH_QUIET # IE7 exits with 194 to signal a reboot status=$? @@ -10037,7 +10334,7 @@ load_ie7() if test -w / then - # END KLUDGE: restore z:, assuming user didn't kill us + # END KLUDGE: restore Z:, assuming user didn't kill us mv "$WINEPREFIX/dosdevices/z:.bak_wt" "$WINEPREFIX/dosdevices/z:" fi @@ -10086,18 +10383,26 @@ 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_override_dlls builtin iexplore.exe 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 wininet xmllite + w_override_dlls native,builtin itircl itss jscript msctf mshtml shdoclc shdocvw shlwapi urlmon wininet xmllite - # Bundled updspapi cannot work on wine + # IE8 installer will check the version number of iexplore.exe which causes IE8 installer to fail on wine-1.9.0+ + w_override_dlls native iexplore.exe + + # Bundled updspapi cannot work on Wine w_override_dlls builtin updspapi - # Remove the fake dlls from the existing WINEPREFIX + # Remove the fake DLLs from the existing WINEPREFIX + if [ -f "$W_PROGRAMS_X86_UNIX/Internet Explorer/iexplore.exe" ] + then + mv "$W_PROGRAMS_X86_UNIX/Internet Explorer/iexplore.exe" "$W_PROGRAMS_X86_UNIX/Internet Explorer/iexplore.exe.bak" + fi for dll in browseui.dll inseng.dll itircl itss jscript msctf mshtml shdoclc shdocvw shlwapi urlmon do test -f "$W_SYSTEM32_DLLS"/$dll.dll && @@ -10113,15 +10418,15 @@ load_ie8() w_try cp -f "$W_CACHE"/ie8/winetest.cat "$W_SYSTEM32_DLLS"/catroot/\{f750e6c3-38ee-11d1-85e5-00c04fc295ee\}/oem0.cat w_download http://download.microsoft.com/download/C/C/0/CC0BD555-33DD-411E-936B-73AC6F95AE11/IE8-WindowsXP-x86-ENU.exe e489483e5001f95da04e1ebf3c664173baef3e26 - if [ $W_UNATTENDED_SLASH_Q ] + if [ $W_UNATTENDED_SLASH_QUIET ] then - quiet="/quiet /forcerestart" + quiet="$W_UNATTENDED_SLASH_QUIET /forcerestart" else quiet="" fi - cd "$W_CACHE"/ie8 + cd "$W_CACHE/$W_PACKAGE" - # KLUDGE: if / is writable, having a z: mapping to it causes ie8 to put temporary directories on Z:\ + # KLUDGE: if / is writable, having a Z: mapping to it causes ie8 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" @@ -10130,7 +10435,7 @@ load_ie8() # 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 - # END KLUDGE: restore z:, assuming user didn't kill us + # END KLUDGE: restore Z:, assuming user didn't kill us mv "$WINEPREFIX/dosdevices/z:.bak_wt" "$WINEPREFIX/dosdevices/z:" # Work around DLL registration bug until ierunonce/RunOnce/wineboot is fixed @@ -10188,9 +10493,8 @@ w_metadata kobo apps \ load_kobo() { w_download http://download.kobobooks.com/desktop/1/KoboSetup.exe 31a5f5583edf4b716b9feacb857d2170104cabd9 - cd "$W_CACHE"/kobo + cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" $file1 ${W_OPT_UNATTENDED:+ /S} - w_declare_exe "$W_PROGRAMS_X86_WIN\\Kobo" "Kobo.exe" } #---------------------------------------------------------------- @@ -10253,8 +10557,42 @@ load_mspaint() w_download http://download.microsoft.com/download/0/A/4/0A40DF5C-2BAE-4C63-802A-84C33B34AC98/WindowsXP-KB978706-x86-ENU.exe f4e076b3867c2f08b6d258316aa0e11d6822b8d7 w_try $WINE "$W_CACHE"/mspaint/WindowsXP-KB978706-x86-ENU.exe /q /x:"$W_TMP"/WindowsXP-KB978706-x86-ENU w_try cp -f "$W_TMP"/WindowsXP-KB978706-x86-ENU/SP3GDR/mspaint.exe "$W_WINDIR_UNIX"/mspaint.exe +} - w_declare_exe "$W_WINDIR_UNIX" "mspaint.exe" +#---------------------------------------------------------------- + +w_metadata mt4 apps \ + title="Meta Trader 4" \ + year="2005" \ + media="download" \ + file1="mt4setup.exe" + +load_mt4() +{ + w_download https://download.mql5.com/cdn/web/metaquotes.software.corp/mt4/mt4setup.exe + + if w_workaround_wine_bug 7156 "${title} needs wingdings.ttf, installing opensymbol" + then + w_call opensymbol + fi + + # Opens a webpage + WINEDLLOVERRIDES="winebrowser.exe=" + export WINEDLLOVERRIDES + + # No documented silent install option, unfortunately.. + cd "$W_CACHE/$W_PACKAGE" + w_ahk_do " + Run, ${file1} + WinWait, MetaTrader 4 Setup, license agreement + ControlClick, Button1 + Sleep 100 + ControlClick, Button3 + WinWait, MetaTrader 4 Setup, Installation successfully completed + ControlClick, Button4 + Process, Wait, terminal.exe + Process, Close, terminal.exe + " } #---------------------------------------------------------------- @@ -10270,15 +10608,14 @@ w_metadata nook apps \ load_nook() { - # dates from curl --head + # Dates from curl --head # 10 Feb 2011 sha1sum 4a06a529b93ed33c3518326d874b40d8d7b70e7a # 7 Oct 2011 sha1sum 3b0301bd55471cc47cced44501547411fac9fcea # 7 Mar 2012 sha1sum e7060a63b9b303ddd820de762d9df254e1c931bc w_download http://images.barnesandnoble.com/PResources/download/eReader2/bndr2_setup_latest.exe e7060a63b9b303ddd820de762d9df254e1c931bc - cd "$W_CACHE"/nook + cd "$W_CACHE/$W_PACKAGE" "$WINE" $file1 ${W_OPT_UNATTENDED:+ /S} # normally has exit status 199? - w_declare_exe "$W_PROGRAMS_WIN\\Barnes & Noble\\BNDesktopReader" "BNDReader.exe" } #---------------------------------------------------------------- @@ -10347,12 +10684,6 @@ load_office2003pro() } WinWaitClose " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Microsoft Office\\Office11" WINWORD.EXE word2003 - w_declare_exe "$W_PROGRAMS_X86_WIN\\Microsoft Office\\Office11" EXCEL.EXE excel2003 - w_declare_exe "$W_PROGRAMS_X86_WIN\\Microsoft Office\\Office11" POWERPNT.EXE powerpoint2003 - w_declare_exe "$W_PROGRAMS_X86_WIN\\Microsoft Office\\Office11" MSACCESS.EXE access2003 - w_declare_exe "$W_PROGRAMS_X86_WIN\\Microsoft Office\\Office11" OUTLOOK.EXE outlook2003 } #---------------------------------------------------------------- @@ -10410,14 +10741,6 @@ $W_CACHE/$W_PACKAGE/key.txt and rerun." else w_try "$WINE" ${W_ISO_MOUNT_LETTER}:setup.exe fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Microsoft Office\\Office12" WINWORD.EXE word2007 - w_declare_exe "$W_PROGRAMS_X86_WIN\\Microsoft Office\\Office12" EXCEL.EXE excel2007 - w_declare_exe "$W_PROGRAMS_X86_WIN\\Microsoft Office\\Office12" POWERPNT.EXE powerpoint2007 - w_declare_exe "$W_PROGRAMS_X86_WIN\\Microsoft Office\\Office12" MSACCESS.EXE access2007 - w_declare_exe "$W_PROGRAMS_X86_WIN\\Microsoft Office\\Office12" OUTLOOK.EXE outlook2007 - w_declare_exe "$W_PROGRAMS_X86_WIN\\Microsoft Office\\Office12" MSPUB.EXE publisher2007 - w_declare_exe "$W_PROGRAMS_X86_WIN\\Microsoft Office\\Office12" INFOPATH.EXE infopath2007 } #---------------------------------------------------------------- @@ -10435,7 +10758,6 @@ 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_declare_exe "$W_PROGRAMS_X86_WIN\\Opera" opera.exe } #---------------------------------------------------------------- @@ -10451,15 +10773,13 @@ load_picasa39() { # 2015/01/17: 39b2df46dbc423e250371e826026a2827f55b956 # 2015/09/21: 55907fc84b1d9d6a450463869b16927f07737298 - w_download http://dl.google.com/picasa/picasa39-setup.exe 55907fc84b1d9d6a450463869b16927f07737298 + # 2016/01/02: b3f7e2ee168811cb1d924eb34afe2b0d8153f89f + + w_download http://dl.google.com/picasa/picasa39-setup.exe b3f7e2ee168811cb1d924eb34afe2b0d8153f89f if w_workaround_wine_bug 29434 "Picasa 3.9 fails to authenticate with Google" then w_warn "Picasa 3.9 authentication to the Google account is currently broken under wine. See http://bugs.winehq.org/show_bug.cgi?id=29434 for more details." fi - if w_workaround_wine_bug 37729 "Picasa updater crashes during install unless dotnet20 loaded" - then - w_call dotnet20 - fi cd "$W_CACHE"/$W_PACKAGE w_ahk_do " SetTitleMatchMode, 2 @@ -10488,7 +10808,6 @@ load_picasa39() } WinWaitClose " - w_declare_exe "$W_PROGRAMS_X86_WIN\\Google\\Picasa3" "Picasa3.exe" } #---------------------------------------------------------------- @@ -10538,7 +10857,7 @@ load_psdk2003() # 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_UNATTENDED_SLASH_QB} } #---------------------------------------------------------------- @@ -10555,16 +10874,12 @@ load_psdkwin7() { # http://www.microsoft.com/downloads/details.aspx?FamilyID=c17ba869-9671-4330-a63e-1fd44e0e2505&displaylang=en w_call dotnet20 - if w_workaround_wine_bug 21509 "" 1.2, - then - w_call gdiplus # work around http://bugs.winehq.org/show_bug.cgi?id=21509 - fi w_call mfc42 # need mfc42u, or setup will abort # don't have a working unattended recipe. Maybe we'll have to - # do an autohotkey script until msft gets its act together: + # do an AutoHotKey script until Microsoft gets its act together: # http://social.msdn.microsoft.com/Forums/en-US/windowssdk/thread/c053b616-7d5b-405d-9841-ec465a8e21d5 w_download http://download.microsoft.com/download/7/A/B/7ABD2203-C472-4036-8BA0-E505528CCCB7/winsdk_web.exe a01dcc67a38f461e80ea649edf1353f306582507 - cd "$W_CACHE"/psdkwin7 + cd "$W_CACHE/$W_PACKAGE" if w_workaround_wine_bug 21596 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" @@ -10609,14 +10924,16 @@ load_psdkwin71() w_call mfc42 # need mfc42u, or setup will abort # http://www.microsoft.com/downloads/details.aspx?FamilyID=c17ba869-9671-4330-a63e-1fd44e0e2505&displaylang=en w_download http://download.microsoft.com/download/A/6/A/A6AC035D-DA3F-4F0C-ADA4-37C8E5D34E3D/winsdk_web.exe a8717ebb20a69c7efa85232bcb9899b8b07f98cf - cd "$W_CACHE"/psdkwin71 + if w_workaround_wine_bug 21596 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 + # don't have a working unattended recipe. Maybe we'll have to - # do an autohotkey script until msft gets its act together: + # do an AutoHotKey script until Microsoft gets its act together: # http://social.msdn.microsoft.com/Forums/en-US/windowssdk/thread/c053b616-7d5b-405d-9841-ec465a8e21d5 + cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" winsdk_web.exe if w_workaround_wine_bug 21362 @@ -10658,7 +10975,7 @@ _EOF_ #---------------------------------------------------------------- w_metadata python26 dlls \ - title="Python Interpreter, version 2.6.2" \ + title="Python interpreter 2.6.2" \ publisher="Python Software Foundaton" \ year="2009" \ media="download" \ @@ -10675,7 +10992,7 @@ load_python26() 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 + cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" msiexec /i python-2.6.2.msi ALLUSERS=1 $W_UNATTENDED_SLASH_Q w_ahk_do " @@ -10697,51 +11014,6 @@ load_python26() #---------------------------------------------------------------- -w_metadata python26_comtypes dlls \ - title="Comtypes for Python 2.6" \ - publisher="theller" \ - year="2014" \ - media="download" \ - file1="1.1.1.zip" \ - installed_file1="c:/Python26/Lib/site-packages/comtypes-1.1.1-py2.6.egg/EGG-INFO/PKG-INFO" \ - homepage="https://github.com/enthought/comtypes/releases" - -load_python26_comtypes() -{ - w_call python26 - w_call python26_setuptools - - w_download https://github.com/enthought/comtypes/archive/${file1} 080921ede048063a3be273f5dca3acc469dfe361 - - w_try_unzip "$W_TMP" "${W_CACHE}/${W_PACKAGE}/${file1}" - cd "$W_TMP/comtypes-$(basename ${file1} .zip)" - w_try "$WINE" "C:\Python26\python.exe" setup.py install -} - -#---------------------------------------------------------------- - -w_metadata python26_setuptools dlls \ - title="Setuptools 18.0.1 for Python 2.6" \ - publisher="Python Packaging Authority" \ - year="2010" \ - media="download" \ - file1="ez_setup.py" \ - installed_file1="c:/Python26/Lib/site-packages/setuptools.pth" \ - homepage="https://pypi.python.org/pypi/setuptools" - -load_python26_setuptools() -{ - w_call python26 - - # Not checking sha1sum, script frequently updates and there aren't stable versions - w_download https://bootstrap.pypa.io/ez_setup.py - - cd "$W_CACHE/$W_PACKAGE" - w_try "$WINE" "C:\Python26\python.exe" ${file1} -} - -#---------------------------------------------------------------- - w_metadata spotify apps \ title="Spotify - All the music, all the time" \ publisher="Spotify" \ @@ -10758,19 +11030,14 @@ load_spotify() # updates too frequently to check checksum :-( w_download http://www.spotify.com/download/Spotify%20Installer.exe - cd "$W_CACHE"/spotify + cd "$W_CACHE/$W_PACKAGE" # w_download doesn't handle renaming for us without a checksum, tsk. - # And autohotkey thinks % is a variable reference. + # And AutoHotKey thinks % is a variable reference. if test ! -f SpotifyInstaller.exe then cp Spotify%20Installer.exe SpotifyInstaller.exe fi - if w_workaround_wine_bug 27476 "Installing winhttp to work around a facebook integration crash on login and install" - then - w_call ie7 - fi - # Install is silent by default, and always starts app # So all we have to do here is close app if we want unattended install w_ahk_do " @@ -10784,8 +11051,6 @@ load_spotify() sleep 1000 Process, Close, SpotifyWebHelper.exe " - - w_declare_exe "c:\\users\\$LOGNAME\\Application Data\\Spotify" spotify.exe } #---------------------------------------------------------------- @@ -10802,38 +11067,19 @@ load_safari() { w_download http://appldnld.apple.com.edgesuite.net/content.info.apple.com/Safari5/061-7138.20100607.Y7U87/SafariSetup.exe e56d5d79d9cfbb85ac46ac78aa497d7f3d8dbc3d - cd "$W_CACHE"/$W_PACKAGE - - if w_workaround_wine_bug 21146 - then - w_try mkdir -p "$W_APPDATA_UNIX/Apple Computer/Preferences" - cat > "$W_APPDATA_UNIX/Apple Computer/Preferences/com.apple.Safari.plist" <<_EOF_ - - - - - LastDisplayedWelcomePageVersionString - 4.0 - - -_EOF_ - fi - 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 - else - w_try "$WINE" SafariSetup.exe + 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." fi - w_declare_exe "$W_PROGRAMS_X86_WIN\\Safari" "Safari.exe" + cd "$W_CACHE"/$W_PACKAGE + w_try "$WINE" SafariSetup.exe $W_UNATTENDED_SLASH_QN } #---------------------------------------------------------------- w_metadata sketchup apps \ - title="Sketchup 8" \ + title="SketchUp 8" \ publisher="Google" \ year="2012" \ media="download" \ @@ -10871,20 +11117,6 @@ load_sketchup() } WinWaitClose " - - if w_workaround_wine_bug 14045 "Setting GLConfig Display HW_OK to 1" 1.3.18, - then - cat > "$W_TMP"/glconfigdisplay.reg <<_EOF_ -REGEDIT4 - -[HKEY_CURRENT_USER\Software\Google\SketchUp8\GLConfig\Display] -"HW_OK"="1" - -_EOF_ - w_try_regedit "$W_TMP_WIN"\\glconfigdisplay.reg - fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Google\\Google SketchUp 8" "SketchUp.exe" } #---------------------------------------------------------------- @@ -10907,15 +11139,17 @@ load_steam() # 21 Jun 2015 0e8046d40c38d817338135ec73a5b217cc340cf5 # 29 Dec 2015 728e3c82fd57c68cbbdb64965719081ffee6272c w_download http://media.steampowered.com/client/installer/SteamSetup.exe 728e3c82fd57c68cbbdb64965719081ffee6272c - cd "$W_CACHE"/steam + cd "$W_CACHE/$W_PACKAGE" + # Should be fixed in newer steam versions, since 2012. Commenting out for a while before removing in case users need to revert locally + # # Install corefonts first, so if the user doesn't have cabextract/Wine with cab support, we abort before installing Steam. # FIXME: support using Wine's cab support - if ! test -f "$W_FONTSDIR_UNIX/Times.TTF" && \ - w_workaround_wine_bug 22751 "Installing corefonts to prevent a Steam crash" - then - w_call corefonts - fi + #if ! test -f "$W_FONTSDIR_UNIX/Times.TTF" && \ + # w_workaround_wine_bug 22751 "Installing corefonts to prevent a Steam crash" + #then + # w_call corefonts + #fi if test $W_OPT_UNATTENDED then @@ -10947,13 +11181,6 @@ load_steam() then w_override_dlls disabled gameoverlayrenderer fi - - if w_workaround_wine_bug 31320 "Disabling dwrite.dll to prevent a Steam crash." - then - w_override_dlls disabled dwrite - fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Steam" "Steam.exe" } #---------------------------------------------------------------- @@ -10975,26 +11202,15 @@ load_uplay() # 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 + cd "$W_CACHE/$W_PACKAGE" # NSIS installer 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 - # Directx9 and game installation often fails with native crypt32, - # so set it to native for Uplay.exe only. - w_call crypt32 - w_override_dlls default crypt32 - w_override_app_dlls Uplay.exe native crypt32 - fi - if w_workaround_wine_bug 33673 "Installing gdiplus to work around slow navigation" then w_call gdiplus fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Ubisoft\\Ubisoft Game Launcher" "Uplay.exe" } #---------------------------------------------------------------- @@ -11009,10 +11225,10 @@ w_metadata utorrent apps \ load_utorrent() { - # Torrent client supported on Windows,Mac OSX, Linux through WINE + # BitTorrent client supported on Windows, OS X, Linux through Wine # Oct 2010 2.0.4 sha1sum 8382b8a7bc625d68b6efe18a7b9e5488dc0119ee # Nov 6 2010 2.0.4 sha1sum 263a91693d0976473cd321cd6f1b0103a814f3ad - # Dev 17 2010 2.2 sha1sum 0c95bdfba07421fe706b30ee2ec6779217c5dce4, hangs, see wine bug 24946 + # Dev 17 2010 2.2 sha1sum 0c95bdfba07421fe706b30ee2ec6779217c5dce4, hangs, see Wine bug 24946 # Feb 11 2011 2.2.1beta sha1sum 82e81e1484b4e8654b83908509f3777532c6fcb3 # Mar 28 2011 2.2.1 sha1sum 7049109e4d3f72338d54b42ae37ecf38fafed46f # Apr 14 2011 2.2.1 sha1sum b1378d7cbe5d1e1b168ce44def8f59facdc046d5 @@ -11022,8 +11238,6 @@ load_utorrent() w_download_manual "http://www.oldapps.com/utorrent.php?old_utorrent=38" utorrent_2.2.1.exe c6d9a80c02898139b17194d10293f17ecef054cb w_try cp -f "$W_CACHE/utorrent/$file1" "$W_WINDIR_UNIX"/utorrent.exe - - w_declare_exe "c:\\windows" "utorrent.exe" } #---------------------------------------------------------------- @@ -11047,7 +11261,7 @@ load_utorrent3() w_download http://download-new.utorrent.com/endpoint/utorrent/os/windows/track/stable/ d2408c8a09a2bd9704af39f818ec7ac9e9cca46e uTorrent.exe cd "$W_CACHE/$W_PACKAGE" - # If you don't use /PERFORMINSTALL, it just runs uTorrent + # If you don't use /PERFORMINSTALL, it just runs µTorrent # FIXME: That's no longer a quiet option, though.. "$WINE" $file1 /PERFORMINSTALL /NORUN @@ -11057,8 +11271,6 @@ load_utorrent3() 0|1) ;; *) w_die "Note: utorrent installer returned status '$status'. Aborting." ;; esac - - w_declare_exe "$W_DRIVE_C\\users\\$LOGNAME\\Application Data\\uTorrent" "uTorrent.exe" } #---------------------------------------------------------------- @@ -11075,10 +11287,6 @@ load_vc2005express() { # Thanks to http://blogs.msdn.com/astebner/articles/551674.aspx for the recipe w_call dotnet20 - if w_workaround_wine_bug 20029 "" 1.3.9, - then - w_call msxml6 - fi # http://blogs.msdn.com/b/astebner/archive/2006/03/14/551674.aspx # http://go.microsoft.com/fwlink/?linkid=57034 @@ -11096,10 +11304,6 @@ load_vc2005express() 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_ahk_do " SetTitleMatchMode, 2 @@ -11107,8 +11311,6 @@ load_vc2005express() WinWaitClose, Visual C++ 2005 Express Edition Setup " fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Microsoft Visual Studio 8\\Common7\\IDE" "VCExpress.exe" } #---------------------------------------------------------------- @@ -11145,24 +11347,9 @@ w_metadata vc2005trial apps \ load_vc2005trial() { - if w_workaround_wine_bug 26162 "Install fails with spurious error about custom action" ,1.3.4 1.3.15, - then - w_die "Please upgrade to wine-1.3.15 or later to install this app" - fi - if w_workaround_wine_bug 25331 "Install fails with error about custom rollback actions" 1.1.35,1.3.4 1.3.13, - then - w_die "Please upgrade to wine-1.3.15 or later to install this app" - fi - if w_workaround_wine_bug 27987 "Install fails with error about CA_RollbackHelpTransaction" ,1.3.19 1.3.37, - then - w_die "Please upgrade to wine-1.3.37 or later to install this app" - fi w_call dotnet20 - if w_workaround_wine_bug 20029 "Installing native msxml6" 1.3.9, - then - w_call msxml6 - fi - # Without mfc42.dll, pidgen.dll won't load, and the app claims "A trial edition is alread installed..." + + # Without mfc42.dll, pidgen.dll won't load, and the app claims "A trial edition is already installed..." w_call mfc42 w_download http://download.microsoft.com/download/6/f/5/6f5f7a01-50bb-422d-8742-c099c8896969/En_vs_2005_vsts_180_Trial.img f66ae07618d67e693ca0524d3582208c20e07823 @@ -11200,8 +11387,6 @@ load_vc2005trial() controlclick, button2 winwaitclose, Finish Page " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Microsoft Visual Studio 8\\Common7\\IDE" "devenv.exe" } #---------------------------------------------------------------- @@ -11218,7 +11403,7 @@ load_vc2008express() { w_call dotnet35 - # This is the version without sp1 baked in. (sp1 requires dotnet35sp1, which doesn't work yet.) + # This is the version without SP1 baked in. (SP1 requires dotnet35sp1, which doesn't work yet.) w_download http://download.microsoft.com/download/8/B/5/8B5804AD-4990-40D0-A6AA-CE894CBBB3DC/VS2008ExpressENUX1397868.iso 76c6d28274a67741da720744026ea991a70867d1 # Unpack ISO @@ -11227,8 +11412,6 @@ load_vc2008express() # See also http://blogs.msdn.com/b/astebner/archive/2008/04/25/8425198.aspx cd "$W_TMP"/VCExpress 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" } #---------------------------------------------------------------- @@ -11243,16 +11426,6 @@ w_metadata vc2010express apps \ 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 @@ -11274,15 +11447,13 @@ load_vc2010express() 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 2.2.1" \ - publisher="videolan.org" \ + publisher="VideoLAN" \ year="2015" \ media="download" \ file1="vlc-2.2.1-win32.exe" \ @@ -11292,9 +11463,8 @@ w_metadata vlc apps \ load_vlc() { w_download http://get.videolan.org/vlc/2.2.1/win32/vlc-2.2.1-win32.exe 4cbcea9764b6b657d2147645eeb5b973b642530e - cd "$W_CACHE"/vlc + cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" $file1 ${W_OPT_UNATTENDED:+ /S} - w_declare_exe "$W_PROGRAMS_X86_WIN\\VideoLAN\\VLC" vlc.exe } #---------------------------------------------------------------- @@ -11355,13 +11525,12 @@ load_winamp() else w_try "$WINE" "$file1" fi - w_declare_exe "$W_PROGRAMS_X86_WIN\\Winamp" "winamp.exe" } #---------------------------------------------------------------- w_metadata wme9 apps \ - title="MS Windows Media Encoder 9 (broken in wine)" \ + title="MS Windows Media Encoder 9 (broken in Wine)" \ publisher="Microsoft" \ year="2002" \ media="download" \ @@ -11377,10 +11546,8 @@ load_wme9() # See also http://www.microsoft.com/downloads/details.aspx?FamilyID=5691ba02-e496-465a-bba9-b2f1182cdf24 w_download http://download.microsoft.com/download/8/1/f/81f9402f-efdd-439d-b2a4-089563199d47/WMEncoder.exe 7a3f8781f3e5705651992ef0150ee30bc1295116 - cd "$W_CACHE"/wme9 + cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" WMEncoder.exe $W_UNATTENDED_SLASH_Q - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Windows Media Components\\Encoder" "wmenc.exe" } #---------------------------------------------------------------- @@ -11391,7 +11558,7 @@ load_wm9codecs() # Note: must install WMP9 or 10 first, or installer will complain and abort. # See http://www.microsoft.com/downloads/details.aspx?FamilyID=06fcaab7-dcc9-466b-b0c4-04db144bb601 - # Used by direct calls from load_wmp9, so have to specify cache directory. + # Used by direct calls from load_wmp9, so we have to specify cache directory. # http://birds.camden.rutgers.edu/ w_download_to wm9codecs http://birds.camden.rutgers.edu/WM9Codecs9x.exe 8b76bdcbea0057eb12b7966edab4b942ddacc253 cd "$W_CACHE/wm9codecs" @@ -11433,23 +11600,15 @@ load_wmp9() # FIXME: should we override quartz? Builtin crashes when you play # anything, but maybe that's bug 30557 and only affects new systems? - # Wine's pidgen is too stubby, crashes, see wine bug 31111 + # Wine's pidgen is too stubby, crashes, see Wine bug 31111 w_override_app_dlls MPSetup.exe native pidgen - # Have to run twice; see http://bugs.winehq.org/show_bug.cgi?id=1886 - cd "$W_CACHE"/wmp9 + cd "$W_CACHE"/"$W_PACKAGE" 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 - fi - load_wm9codecs w_unset_winver - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Windows Media Player" "wmplayer.exe" } #---------------------------------------------------------------- @@ -11469,7 +11628,7 @@ load_wmp10() 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? + # FIXME: what versions of Windows are really bundled with wmp10? w_skip_windows wmp10 && return # See http://appdb.winehq.org/appview.php?iVersionId=3212 @@ -11479,7 +11638,7 @@ load_wmp10() w_download http://download.microsoft.com/download/1/2/a/12a31f29-2fa9-4f50-b95d-e45ef7013f87/MP10Setup.exe 69862273a5d9d97b4a2e5a3bd93898d259e86657 # Crashes on exit, but otherwise ok; see http://bugs.winehq.org/show_bug.cgi?id=12633 - cd "$W_CACHE"/wmp10 + cd "$W_CACHE/$W_PACKAGE" 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 @@ -11489,8 +11648,6 @@ load_wmp10() load_wm9codecs w_unset_winver - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Windows Media Player" "wmplayer.exe" } #---------------------------------------------------------------- @@ -11545,14 +11702,6 @@ load_3dmark2000() Send {Enter} ; Finish WinWaitClose " - - cat > "$W_DRIVE_C/run-$W_PACKAGE.bat" <<__EOF__ -c: -cd "$W_PROGRAMS_X86_WIN\MadOnion.com\3DMark2000" -REM possible wine cmd bug: "3dmark2000" aborts, but ".\3dmark2000" works -.\3DMark2000 %* -__EOF__ - } #---------------------------------------------------------------- @@ -11598,8 +11747,6 @@ load_3dmark2001() } WinWaitClose " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\MadOnion.com\\3DMark2001 SE" "3DMark2001SE.exe" } #---------------------------------------------------------------- @@ -11659,7 +11806,6 @@ load_3dmark03() } WinWaitClose, 3DMark03 - InstallShield Wizard, Complete " - w_declare_exe "$W_PROGRAMS_X86_WIN\\Futuremark\\3DMark03" "3DMark03.exe" } #---------------------------------------------------------------- @@ -11709,8 +11855,6 @@ load_3dmark05() w_warn "You must run the app with the -nosysteminfo option to avoid a crash on startup" ARGS="-nosysteminfo" fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Futuremark\\3DMark05" "3DMark05 $ARGS" } #---------------------------------------------------------------- @@ -11753,12 +11897,7 @@ load_3dmark06() WinWaitClose, ahk_class #32770, Complete " - if w_workaround_wine_bug 9210 - then - w_warn "The benchmark may warn that shader model 2.0 is not present. You can ignore this, but if you want to work around it, see http://bugs.winehq.org/show_bug.cgi?id=9210 for a patch." - fi - - if w_workaround_wine_bug 0 "Installing shader compiler..." + if w_workaround_wine_bug 24417 "Installing shader compiler..." then # "Demo" button doesn't work without this. d3dcompiler_43 related. w_call d3dx9_28 @@ -11771,8 +11910,6 @@ load_3dmark06() w_warn "You must run the app with the -nosysteminfo option to avoid a crash on startup" ARGS="-nosysteminfo" fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Futuremark\\3DMark06" "3DMark06 $ARGS" } #---------------------------------------------------------------- @@ -11819,17 +11956,6 @@ load_unigine_heaven() } winwaitclose " - - if w_workaround_wine_bug 22614 "setting video memory to 1024M" 1.3.23, - then - # hope your card actually has 1GB of RAM - w_call videomemorysize=1024 - fi - - # Should start Heaven.exe, but that doesn't run in Wine - # Should give option to run Heaven_gl.bat (even works in Wine) - # or the dx10 or dx11 versions (doesn't). - w_declare_exe "$W_PROGRAMS_X86_WIN\\Unigine\\Heaven" "cmd /c Heaven_d3d9.bat" } #---------------------------------------------------------------- @@ -11880,14 +12006,6 @@ load_algodoo_demo() } WinWaitClose, Algodoo, Completing " - - # Since we declined the msvc runtime installer (right?), we have to do it here - if w_workaround_wine_bug 23815 - then - w_call vcrun2008 - fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Algodoo" "Algodoo.exe" } #---------------------------------------------------------------- @@ -11932,8 +12050,6 @@ load_amnesia_tdd_demo() WinWaitClose, Amnesia - The Dark Descent Demo, finished } " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Amnesia - The Dark Descent Demo\\redist" "Amnesia.exe" } #---------------------------------------------------------------- @@ -11951,11 +12067,6 @@ load_aoe3_demo() w_download "http://download.microsoft.com/download/a/5/2/a525997e-8423-435b-b694-08118d235064/aoe3trial.exe" 2b0a123243092d79f910db5691d99d469f7c17c3 - if w_workaround_wine_bug 24897 "Installing msxml4 to avoid font problem" 1.3.9, - then - w_call msxml4 - fi - cd "$W_CACHE/$W_PACKAGE" w_ahk_do " @@ -11977,15 +12088,6 @@ load_aoe3_demo() WinWaitClose " - if w_workaround_wine_bug 24911 "Installing devnum, dmsynth, and quartz to get sound working" 1.3.9, - then - # On some systems, only quartz is needed? - # appdb says that l3codecx is also needed? - w_call devenum - w_call dmsynth - w_call quartz - fi - if w_workaround_wine_bug 24912 then # kill off lingering installer @@ -11994,11 +12096,9 @@ load_aoe3_demo() WinKill,Empires " # or should we just do $WINESERVER -k, like fable_tlc does? - PID=`ps augxw | grep IDriver | grep -v grep | awk '{print $2}'` + PID=$(ps augxw | grep IDriver | grep -v grep | awk '{print $2}') kill $PID fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Microsoft Games\\Age of Empires III Trial" "age3.exe" } #---------------------------------------------------------------- @@ -12035,8 +12135,6 @@ load_aoe_demo() } WinWaitClose, Microsoft Age of Empires Trial Version " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Microsoft Games\\Age of Empires Trial" "empires" } #---------------------------------------------------------------- @@ -12080,35 +12178,9 @@ load_acreedbro() } WinWaitClose " - w_declare_exe "$W_PROGRAMS_X86_WIN\\Ubisoft\\Assassin's Creed Brotherhood" AssassinsCreedBrotherhood.exe w_download http://static3.cdn.ubi.com/ac_brotherhood/ac_brotherhood_1.01_ww.exe a2b76f16616709cc16537b0e98faa4181ca904ce - if w_workaround_wine_bug 26562 "Disabling glsl for smoother rendering" - then - w_call glsl=disabled - - # And turn off after-effects to fix depth of field problem caused - # by disabling glsl... - cd "$W_DRIVE_C/users/$LOGNAME/My Documents" - dir="Ubisoft/Assassin's Creed Brotherhood" - file="$dir/ACBrotherhood.ini" - if test -f "$file" - then - mv "$file" "$file.old" - sed 's,PostFX=[0-9]*,PostFX=0,' < "$file.old" > "$file" - else - mkdir -p "$dir" - echo "[Graphics]" > "$file" - echo "PostFX=0" >> "$file" - fi - fi - - if w_workaround_wine_bug 26583 "Installing native d3dx9_36" - then - w_call d3dx9_36 - fi - # FIXME: figure out why these executables don't exit, and do a proper workaround or fix sleep 10 if ps augxw | grep -i exe | egrep 'winemenubuilder.exe|setup.exe|PnkBstrA.exe | egrep -v egrep' @@ -12142,27 +12214,6 @@ load_acreedbro() } WinWaitClose " - - if test `which wine-hotfix-6971` 2> /dev/null - then - if w_workaround_wine_bug 6971 "Pointing menu and icon at wine-hotfix-6971 to fix mouse problems" - then - myexec="Exec=env WINEPREFIX=\"$WINEPREFIX\" wine-hotfix-6971 cmd /c 'C:\\\\\\\\Run-$W_PACKAGE.bat'" - - mymenu="$HOME/Desktop/Assassin's Creed Brotherhood.desktop" - if test -f "$mymenu" - then - sed -i "s,Exec=.*,$myexec," "$mymenu" - fi - 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" - fi - fi - else - w_workaround_wine_bug 6971 "Please upgrade to wine-1.3.23 or later; see http://wiki.winehq.org/Bug6971" 1.3.23, - fi } #---------------------------------------------------------------- @@ -12212,7 +12263,6 @@ load_atmosphir() } winwaitclose " - w_declare_exe "$W_PROGRAMS_X86_WIN/Minor Studios/Atmosphir" Atmosphir.exe } #---------------------------------------------------------------- @@ -12273,11 +12323,9 @@ load_avatar_demo() } winwaitclose AVATAR " - w_declare_exe "$W_PROGRAMS_X86_WIN\\Ubisoft\\Demo\\James Cameron's AVATAR - THE GAME (Demo)\\bin" "AvatarDemo.exe" - - w_workaround_wine_bug 26590 "If game seems slow, try winetricks glsl=disabled" } +#---------------------------------------------------------------- w_metadata bttf101 games \ title="Back to the Future Episode 1" \ @@ -12291,11 +12339,6 @@ load_bttf101() { w_download_manual http://www.telltalegames.com/bttf bttf_101_setup.exe 9b15e26d9b4d454f714d6559efe509562df9c10b - if w_workaround_wine_bug 26371 "Installing d3dx9_36 to work around crash" - then - w_call d3dx9_36 - fi - cd "$W_CACHE/$W_PACKAGE" w_ahk_do " SetWinDelay 1000 @@ -12319,8 +12362,6 @@ load_bttf101() } WinWaitClose " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Telltale Games\\Back to the Future The Game\\Episode 1" BackToTheFuture101.exe } #---------------------------------------------------------------- @@ -12335,11 +12376,6 @@ w_metadata bioshock_demo games \ load_bioshock_demo() { - if w_workaround_wine_bug 6971 "Setting mwo=force... please upgrade to wine-1.3.23" 1.3.23, - then - w_call mwo=force - fi - w_download http://us.download.nvidia.com/downloads/nZone/demos/nzd_BioShockPC.zip 7a19186602cec5210e4505b58965e8c04945b3cf w_info "Unzipping demo, installer will start in about 30 seconds." @@ -12378,8 +12414,6 @@ load_bioshock_demo() winwaitclose sleep 3000 ; wait for splash screen to close " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\2K Games\\BioShock Demo\\Builds\\Release" "Bioshock.exe" } #---------------------------------------------------------------- @@ -12390,14 +12424,11 @@ w_metadata bioshock2 games \ year="2010" \ media="dvd" \ file1="BIOSHOCK_2.iso" \ - wine_showstoppers="7065" \ installed_exe1="$W_PROGRAMS_X86_WIN/2K Games/BioShock 2/SP/Builds/Binaries/Bioshock2Launcher.exe" \ installed_exe2="$W_PROGRAMS_X86_WIN/2K Games/BioShock 2/MP/Builds/Binaries/Bioshock2Launcher.exe" load_bioshock2() { - w_workaround_wine_bug 7065 "This game won't work in Wine because its disc check fails." - w_mount BIOSHOCK_2 w_ahk_do " SetWinDelay 1000 @@ -12422,8 +12453,6 @@ load_bioshock2() controlclick Button4 ; Finish } " - w_declare_exe "$W_PROGRAMS_X86_WIN\\2K Games\\BioShock 2\\SP\\Builds\\Binaries" Bioshock2Launcher.exe - w_declare_exe "$W_PROGRAMS_X86_WIN\\2K Games\\BioShock 2\\MP\\Builds\\Binaries" Bioshock2Launcher.exe bioshock2_mp } #---------------------------------------------------------------- @@ -12437,7 +12466,7 @@ w_metadata bfbc2 games \ load_bfbc2() { - # Title of installer window gets the TM symbol wrong, even in utf8 locales. + # Title of installer Window gets the TM symbol wrong, even in UTF-8 locales. # Is it like that in Windows, too? w_mount BFBC2 w_read_key @@ -12495,7 +12524,7 @@ load_bfbc2() if w_workaround_wine_bug 22762 then - # FIXME: does this directory name change in win7? + # FIXME: does this directory name change in Windows 7? cd "$W_DRIVE_C/users/$LOGNAME/My Documents" if test -f BFBC2/settings.ini then @@ -12511,10 +12540,8 @@ load_bfbc2() if w_workaround_wine_bug 22961 then - w_warn 'If the game says "No CD/DVD error", try "sudo mount -o remount,unhide,uid=`uid -u`". See http://bugs.winehq.org/show_bug.cgi?id=22961 for more info.' + w_warn 'If the game says "No CD/DVD error", try "sudo mount -o remount,unhide,uid=$(uid -u)". See http://bugs.winehq.org/show_bug.cgi?id=22961 for more info.' fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Electronic Arts\\Battlefield Bad Company 2" "BFBC2Game.exe" } #---------------------------------------------------------------- @@ -12549,7 +12576,7 @@ load_bladekitten_demo() WinWait Blade Kitten Demo, ready Sleep 500 ControlClick Button1 ; Next - ; Note - in older versions of wine, the directx installer may take 6-10 minutes at this point + ; Note - in older versions of Wine, the DirectX installer may take 6-10 minutes at this point } WinWaitClose WinWait Blade Kitten Demo, Complete @@ -12559,19 +12586,12 @@ load_bladekitten_demo() } WinWaitClose " - - if w_workaround_wine_bug 24681 - then - w_set_app_winver BladeKitten_Demo.exe win2k - fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Krome Studios\\Blade Kitten Demo" "BladeKitten_Demo.exe" } #---------------------------------------------------------------- w_metadata cnc_tiberian_sun games \ - title="Command and Conquer: Tiberian Sun (2010 edition)" \ + title="Command & Conquer: Tiberian Sun (2010 edition)" \ publisher="EA" \ year="1999" \ media="download" \ @@ -12586,16 +12606,12 @@ load_cnc_tiberian_sun() # FIXME: we need a progress indicator when unpacking large archives w_info "Unpacking rar file. This will take a minute." w_try_unrar "$W_CACHE/$W_PACKAGE/$file1" - - w_declare_exe \ - "$W_PROGRAMS_X86_WIN\\EA Games\\Command & Conquer The First Decade\\Command & Conquer(tm) Tiberian Sun(tm)\\SUN" \ - Game.exe } #---------------------------------------------------------------- w_metadata cnc3_demo games \ - title="Command and Conquer 3 Demo" \ + title="Command & Conquer 3 Demo" \ publisher="EA" \ year="2007" \ media="download" \ @@ -12633,13 +12649,6 @@ load_cnc3_demo() winwaitclose, Conquer 3, Launch the program " - - if w_workaround_wine_bug 19159 - then - w_call vd=800x600 - fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Electronic Arts\\Command & Conquer 3 Tiberium Wars Demo" "CNC3Demo.exe" } #---------------------------------------------------------------- @@ -12686,8 +12695,6 @@ load_cnc_redalert3_demo() WinWaitClose " fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Electronic Arts\\Red Alert 3 Demo" RA3Demo.exe } #---------------------------------------------------------------- @@ -12724,7 +12731,6 @@ load_cim_demo() 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_declare_exe "$W_PROGRAMS_X86_WIN\\Cities In Motion Demo" "Cities In Motion.exe" } #---------------------------------------------------------------- @@ -12784,13 +12790,6 @@ load_cod_demo() else setvar= fi - cat > "$W_DRIVE_C/run-$W_PACKAGE.bat" <<__EOF__ -$setvar -c: -cd "$W_PROGRAMS_X86_WIN\\Call of Duty Single Player Demo" -CoDSP.exe %* -__EOF__ - } #---------------------------------------------------------------- @@ -12877,20 +12876,13 @@ load_cod1() else setvar= fi - cat > "$W_DRIVE_C/run-$W_PACKAGE.bat" <<__EOF__ -$setvar -c: -cd "$W_PROGRAMS_X86_WIN\\Call of Duty" -CoDSP.exe %* -__EOF__ - w_warn "This game is copy-protected, and requires the real disc in a real drive to run." } #---------------------------------------------------------------- w_metadata cod4mw_demo games \ - title="Call of Duty 4 Modern Warfare" \ + title="Call of Duty 4: Modern Warfare" \ publisher="Activision" \ year="2007" \ media="manual_download" \ @@ -12936,8 +12928,6 @@ load_cod4mw_demo() } WinWaitClose,WinZip Self-Extractor - CoD4MWDemoSetup_v2 " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Activision\\Call of Duty 4 - Modern Warfare Demo" "iw3sp.exe" } #---------------------------------------------------------------- @@ -13001,20 +12991,7 @@ load_cod5_waw() " # FIXME: Install latest updates - - if w_workaround_wine_bug 16241 "Working around sound bug by setting Win7 mode" 1.3.12, - then - set_app_winver CodWaW.exe win7 - fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Activision\\Call of Duty - World at War" "CoDWaW.exe" - - if w_workaround_wine_bug 219 - then - w_warn "This game's copy-protection scheme does not currently work in Wine." - else - w_warn "This game is copy-protected, and requires the real disc in a real drive to run." - fi + w_warn "This game is copy-protected, and requires the real disc in a real drive to run." } #---------------------------------------------------------- @@ -13054,8 +13031,6 @@ load_cojbib_demo() winwaitclose Call of Juarez " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Ubisoft\\Demo\\Techland\\Call of Juarez - Bound in Blood SP Demo" "CoJBiBDemo_x86.exe" } #---------------------------------------------------------------- @@ -13096,17 +13071,6 @@ load_civ4_demo() } winwaitclose " - - if w_workaround_wine_bug 6856 - then - w_call msxml3 - fi - if w_workaround_wine_bug 6856 # part 2, still need to file a bug - then - w_call d3dx9_26 - fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Firaxis Games\\Sid Meier's Civilization 4 Demo" "Civilization4.exe" } #---------------------------------------------------------------- @@ -13125,7 +13089,6 @@ load_crayonphysics_demo() w_download http://crayonphysicsdeluxe.s3.amazonaws.com/crayon_release52demo.exe 4ffd64c630f69e7cf024ef946c2c64c8c4ce4eac # Inno Setup installer 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 } #---------------------------------------------------------------- @@ -13189,11 +13152,6 @@ load_crysis2() } winwaitclose " - - if w_workaround_wine_bug 26283 - then - w_warn "The game has some nasty flickering, see http://bugs.winehq.org/show_bug.cgi?id=26283" - fi } #---------------------------------------------------------------- @@ -13233,8 +13191,6 @@ load_csi6_demo() WinWaitClose } " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Ubisoft\\Telltale Games\\CSI - Fatal Conspiracy Demo" "CSI6Demo.exe" } #---------------------------------------------------------------- @@ -13287,9 +13243,6 @@ load_darknesswithin2_demo() then w_call d3dx9_36 fi - - # you have to cd to the directory containing DarkLineage.exe before running it - w_declare_exe "$W_PROGRAMS_X86_WIN\\Iceberg Interactive\\Darkness Within 2 Demo" "DarkLineage.exe" } #---------------------------------------------------------------- @@ -13340,7 +13293,6 @@ load_darkspore() } WinWaitClose, InstallShield Wizard " - w_declare_exe "$W_PROGRAMS_X86_WIN\\Electronic Arts\\Darkspore\\DarksporeBin" "Darkspore.exe" } #---------------------------------------------------------------- @@ -13358,18 +13310,6 @@ load_dcuo() { # The installer would take care of this, but let's do it first w_call flash - if w_workaround_wine_bug 26298 "Installing microsoft runtime libraries" - then - w_call vcrun2005 - fi - if w_workaround_wine_bug 27279 "Installing microsoft XAct audio" - then - w_call xact - fi - if w_workaround_wine_bug 25906 "Installing ie8" - then - w_call ie8 - fi w_mount "DCUO - Disc 1" w_ahk_do " @@ -13443,7 +13383,6 @@ load_dcuo() winwaitclose " w_warn "Now let the wookie install itself, and then quit." - w_declare_exe "$W_PROGRAMS_X86_WIN\\Sony Online Entertainment\\Installed Games\\DC Universe Online Live" LaunchPad.exe } #---------------------------------------------------------------- @@ -13504,37 +13443,27 @@ load_deadspace() controlclick, Button5 controlclick, Button1 " - - if w_workaround_wine_bug 26079 - then - w_call d3dx9_36 - fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Electronic Arts\\Dead Space" "Dead Space.exe" } #---------------------------------------------------------------- w_metadata deadspace2 games \ - title="Dead Space 2 (drm broken on wine)" \ + title="Dead Space 2" \ publisher="EA" \ year="2011" \ media="dvd" \ file1="Disc1.iso" \ file2="Disc2.iso" \ installed_exe1="$W_PROGRAMS_X86_WIN/EA Games/Dead Space 2/deadspace2.exe" \ - wine_showstoppers="25853" load_deadspace2() { - if w_workaround_wine_bug 25853 - then - w_warn "Non-steam versions of this game do not run on Wine because Wine does not support the version of SecuROM they use. Proceed only if you want to run into this problem." - fi w_read_key w_mount Disc1 + # FIXME: this bug was fixed in 1.3.36, so this is unneccessary + # # Work around bug 25963 (fails to switch discs) w_warn "Copying discs to hard drive. This will take a few minutes." cd "$W_TMP" @@ -13629,13 +13558,6 @@ load_deadspace2() } WinWaitClose, Product activation " - - if w_workaround_wine_bug 21230 - then - w_call d3dx9_36 - fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\EA Games\\Dead Space 2" deadspace2.exe } #---------------------------------------------------------------- @@ -13652,8 +13574,6 @@ load_deusex2_demo() { w_download_manual "http://www.techpowerup.com/downloads/1730/Deus_Ex:_Invisible_War_Demo.html" dxiw_demo.zip ccae48fb046d912b3714ea1b4be4294e74bb3092 - w_workaround_wine_bug 6971 "Please upgrade to wine-1.3.23 or later; see http://wiki.winehq.org/Bug6971" 1.3.23, - w_try unzip "$W_CACHE/$W_PACKAGE/dxiw_demo.zip" -d "$W_TMP" cd "$W_TMP" w_ahk_do " @@ -13682,8 +13602,6 @@ load_deusex2_demo() controlclick button4 winwaitclose Deus Ex, Complete " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Deus Ex - Invisible War Demo\\System" "DX2.exe" } #---------------------------------------------------------------- @@ -13756,9 +13674,6 @@ load_diablo2() ControlClick &Cancel, Diablo II" # Dagnabbit, the darn updater starts the game after it updates, no matter what I do? w_killall "Game.exe" - - # Runs better in window - w_declare_exe "$W_PROGRAMS_X86_WIN\\Diablo II" "Diablo II.exe -d3d9 -w" } w_metadata digitanks_demo games \ @@ -13777,11 +13692,10 @@ load_digitanks_demo() w_download "http://static.digitanks.com/files/digitanks.exe" e54ffb07232f434bcfaf7b3d43ddf9affa93ef15 cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" $file1 ${W_OPT_UNATTENDED:+ /S} - if w_workaround_wine_bug 26915 "installing corefonts" + if w_workaround_wine_bug 8060 "installing corefonts" then w_call corefonts fi - w_declare_exe "$W_PROGRAMS_X86_WIN\\Digitanks" digitanksdemo.exe } w_metadata dirt2_demo games \ @@ -13841,8 +13755,6 @@ load_dirt2_demo() } WinWaitClose, DiRT2 Demo - InstallShield Wizard, Complete " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Codemasters\\DiRT2 Demo" "dirt2.exe" } #---------------------------------------------------------------- @@ -13921,8 +13833,6 @@ load_divinity2_demo() then w_call wmp9 fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Divinity II - Ego Draconis - Demo\\Bin" "Divinity2_Demo.exe" } #---------------------------------------------------------------- @@ -13964,7 +13874,6 @@ load_demolition_company_demo() } winwaitclose, Setup - Demolition " - w_declare_exe "$W_PROGRAMS_X86_WIN\\Demolition Company Demo\\" "DemolitionCompany.exe" } #---------------------------------------------------------------- @@ -13981,25 +13890,10 @@ load_dragonage() { w_read_key - if w_workaround_wine_bug 22191 "Installer has a non-fatal crash on exit" - then - w_call nocrashdialog - fi # game can do this, why do we need to? w_call physx - if w_workaround_wine_bug 24837 "Installing C++ runtime library" - then - w_call vcrun2005 - fi - if test "$WINETRICKS_OPT_KEEPISOS" != 1 && \ - test ! -f "$W_CACHE/dragonage/DragonAge.iso" && \ - w_workaround_wine_bug 26459 "Making and mounting an .iso to work around 'Failed to authenticate the disk' error. After each reboot, you'll need to do [sudo mount -o ro,loop '$W_CACHE/dragonage/DragonAge.iso' /mnt/winetricks] to play Dragon Age. Someday this will be automated." - then - WINETRICKS_OPT_KEEPISOS=1 w_mount DragonAge - else - w_mount DragonAge - fi + w_mount DragonAge w_ahk_do " SetWinDelay 1000 @@ -14034,7 +13928,7 @@ load_dragonage() sleep 1 done - # FIXME: does this directory name change in win7? + # FIXME: does this directory name change in Windows 7? ini="$W_DRIVE_C/users/$LOGNAME/My Documents/BioWare/Dragon Age/Settings/DragonAge.ini" if ! test -f "$ini" then @@ -14042,11 +13936,6 @@ load_dragonage() else cp -f "$ini" "$ini.old" fi - if w_workaround_wine_bug 22308 "Setting EnableFrameBufferEffects=0 to work around blurry cut scenes" - then - sed 's,EnableFrameBufferEffects=1,EnableFrameBufferEffects=0,' < "$ini" > "$ini.new" - mv -f "$ini.new" "$ini" - fi if w_workaround_wine_bug 22383 "use strictdrawordering to avoid video problems" then w_call strictdrawordering=enabled @@ -14056,15 +13945,6 @@ load_dragonage() sed 's,UseVSync=1,UseVSync=0,' < "$ini" > "$ini.new" mv -f "$ini.new" "$ini" fi - if w_workaround_wine_bug 26435 "Setting SoundDisabled=0 to fix sound" - then - sed 's,SoundDisabled=1,SoundDisabled=0,' < "$ini" > "$ini.new" - mv -f "$ini.new" "$ini" - fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Dragon Age" "bin_ship\\daorigins.exe" - - w_workaround_wine_bug 26211 "You may need to kill DAO or its launcher after each run. The Process view of taskmgr makes this relatively easy." } #---------------------------------------------------------------- @@ -14083,7 +13963,7 @@ load_dragonage_ue() w_mount DRAGONAGE Setup.exe 1 - # Annoyingly, it runs a webrowser so you can activate the extra stuff. Disable that, and w_warn the user after install: + # Annoyingly, it runs a web browser so you can activate the extra stuff. Disable that, and w_warn the user after install: WINEDLLOVERRIDES="winebrowser.exe=" export WINEDLLOVERRIDES @@ -14130,11 +14010,6 @@ load_dragonage_ue() winwaitclose " - if w_workaround_wine_bug 22307 - then - w_warn "Turn off frame buffer effects to avoid blurry cut scenes. See http://bugs.winehq.org/show_bug.cgi?id=22307" - fi - if w_workaround_wine_bug 22383 then w_try_winetricks strictdrawordering=enabled @@ -14151,8 +14026,6 @@ load_dragonage_ue() fi w_warn "To activate the additional content, visit http://social.bioware.com/redeem_code.php?path=/dragonage/pc/dlcactivate/en" - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Dragon Age" "bin_ship\\daorigins.exe" } #---------------------------------------------------------------- @@ -14193,16 +14066,6 @@ load_dragonage2_demo() } winwaitclose " - if w_workaround_wine_bug 26205 "installing DirectX runtime libraries" - then - w_call d3dx9_36 - w_call d3dx11_43 - fi - if w_workaround_wine_bug 26211 "installing native devenum to get sound in logo movie" - then - w_call devenum - fi - w_declare_exe "$W_PROGRAMS_X86_WIN\\Dragon Age 2 Demo" "DragonAge2Launcher.exe" } #---------------------------------------------------------------- @@ -14220,11 +14083,6 @@ load_eve() # http://www.eveonline.com/download/?fallback=1& w_download http://content.eveonline.com/561078/EVE_Online_Installer_561078.exe 5b5f0cd4fbd42f82b1d1cccb2e22ddeed97d1d3a - if w_workaround_wine_bug 18221 - then - w_call corefonts - fi - cd "$W_CACHE/$W_PACKAGE" w_ahk_do " run, $file1 @@ -14247,7 +14105,6 @@ load_eve() } WinWaitClose, EVE Online " - w_declare_exe "$W_PROGRAMS_X86_WIN\\CCP\\EVE" "eve.exe" } #---------------------------------------------------------------- @@ -14272,12 +14129,6 @@ load_fable_tlc() w_call mfc42 fi - if test ! -f "$W_CACHE/$W_PACKAGE/FABLE_DISC_1.iso" && w_workaround_wine_bug 24940 - then - # FIXME: port load_harder from winetricks and use it when caching first disc? - w_warn "If the installer can't read from the CD, try using ddrescue to make image of first disc, and place in $W_CACHE/$W_PACKAGE/FABLE_DISC_1.iso" - fi - w_mount FABLE_DISK_1 w_ahk_do " SetTitleMatchMode, 2 @@ -14373,8 +14224,6 @@ _EOF_ then w_call d3dx9_36 fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Microsoft Games\\Fable - The Lost Chapters" "Fable.exe" } #---------------------------------------------------------------- @@ -14413,7 +14262,6 @@ load_farmsim2011_demo() ControlClick TNewButton2 ; Finish WinWaitClose " - w_declare_exe "$W_PROGRAMS_X86_WIN\\Farming Simulator 2011 Demo" game.exe } #---------------------------------------------------------------- @@ -14476,13 +14324,6 @@ load_fifa11_demo() } WinWaitClose " - - if w_workaround_wine_bug 22161 - then - w_call d3dx9_36 - fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\EA Sports\\FIFA 11 Demo\\Game" "fifa.exe" } #---------------------------------------------------------------- @@ -14521,12 +14362,6 @@ load_hon() } winwaitclose, Heroes of Newerth, Finish " - if w_workaround_wine_bug 25919 "disabling mmdevapi to fix sound and avoid crash" - then - w_override_dlls disabled mmdevapi - fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Heroes of Newerth" "hon.exe" } #---------------------------------------------------------------- @@ -14572,8 +14407,6 @@ load_hordesoforcs2_demo() } winwaitclose Orcs " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Hordes of Orcs 2 Demo" "HoO2.exe" } #---------------------------------------------------------------- @@ -14585,14 +14418,11 @@ w_metadata mfsxde games \ media="dvd" \ file1="FSX DISK 1.iso" \ file2="FSX DISK 2.iso" \ - installed_exe1="$W_PROGRAMS_X86_WIN/Microsoft Games/Microsoft Flight Simulator X/fsx.exe" \ - wine_showstoppers="26411" + installed_exe1="$W_PROGRAMS_X86_WIN/Microsoft Games/Microsoft Flight Simulator X/fsx.exe" load_mfsxde() { - w_workaround_wine_bug 26411 "Game hangs on first screen for me" - - if w_workaround_wine_bug 25139 "Setting virtual desktop so license screen shows up on first run" + if w_workaround_wine_bug 25139 "Setting virtual desktop so license screen shows up on first run." then w_call vd=1024x768 fi @@ -14654,8 +14484,6 @@ load_mfsxde() ; Setup doesn't close on its own, because this process doesn't exit cleanly process, close, IDriver.exe " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Microsoft Games\\Microsoft Flight Simulator X" "fsx.exe" } #---------------------------------------------------------------- @@ -14702,30 +14530,22 @@ load_mfsx_demo() ; Setup doesn't close on its own, because this process doesn't exit cleanly process, close, IDriver.exe " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Microsoft Games\\Microsoft Flight Simulator X" "fsx.exe" } #---------------------------------------------------------------- w_metadata gothic4_demo games \ - title="Gothic 4 demo (drm broken on wine)" \ + title="Gothic 4 demo (DRM broken on Wine)" \ publisher="Jowood" \ year="2010" \ media="manual_download" \ file1="ArcaniA_Gothic4_Demo_Setup.zip" \ - installed_exe1="$W_PROGRAMS_X86_WIN/JoWooD Entertainment AG/ArcaniA - Gothic 4 Demo/Arcania.exe" \ - wine_showstoppers="7065" + installed_exe1="$W_PROGRAMS_X86_WIN/JoWooD Entertainment AG/ArcaniA - Gothic 4 Demo/Arcania.exe" # http://appdb.winehq.org/objectManager.php?sClass=version&iId=21507 load_gothic4_demo() { - if w_workaround_wine_bug 7065 - then - w_warn "Non-steam versions of this game do not run on Wine because Wine does not support the version of SecuROM they use. Proceed only if you want to run into this problem." - fi - w_download_manual http://www.gamershell.com/download_63874.shtml ArcaniA_Gothic4_Demo_Setup.zip d36024c0235878c4589234a56cc8b6e05da5c593 cd "$W_TMP" @@ -14779,18 +14599,6 @@ load_gothic4_demo() } winwaitclose " - - if w_workaround_wine_bug 21939 - then - w_call wmp9 - fi - - if w_workaround_wine_bug 24250 - then - w_call vcrun2008 - fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\JoWooD Entertainment AG\\ArcaniA - Gothic 4 Demo" "Arcania.exe" } #---------------------------------------------------------------- @@ -14854,8 +14662,6 @@ load_gta_vc() w_call vd=800x600 fi - 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="$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" @@ -14896,8 +14702,6 @@ load_guildwars() Sleep 4000 WinClose, ahk_class ArenaNet_Dx_Window_Class " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Guild Wars" "Gw.exe" } #---------------------------------------------------------------- @@ -14914,11 +14718,6 @@ w_metadata hegemonygold_demo games \ load_hegemonygold_demo() { - if w_workaround_wine_bug 25767 - then - w_warn "This game works, but has some rendering glitches in Wine." - fi - # 6 Mar 2011: 8c4d8aa8f997b106c78b065a4b200e5e1ab846a8 # 28 Apr 2011: 93677013fc17f014b1640bed070e8bb1b2a17445 # 25 Jun 2011: 4069656ea3c3760b67d1c5adff37de7472955f72 @@ -14955,8 +14754,6 @@ load_hegemonygold_demo() } WinWaitClose,Hegemony " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Longbow Digital Arts\\Hegemony Gold" "Hegemony Gold.exe" } #---------------------------------------------------------------- @@ -14978,11 +14775,6 @@ load_hegemony_demo() cd "$W_CACHE/$W_PACKAGE" - if w_workaround_wine_bug 24819 - then - w_override_dlls disabled gameux - fi - w_ahk_do " SetTitleMatchMode, 2 run, Hegemony_Philip_of_Macedon_Installer.exe @@ -15024,14 +14816,12 @@ load_hegemony_demo() } WinWaitClose,Hegemony " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Longbow Digital Arts\\Hegemony Philip of Macedon" "Hegemony Philip of Macedon.exe" } #---------------------------------------------------------------- w_metadata hphbp_demo games \ - title="Harry Potter & The Half Blood Prince Demo" \ + title="Harry Potter and the Half-Blood Prince Demo" \ publisher="EA" \ year="2009" \ media="download" \ @@ -15041,7 +14831,7 @@ w_metadata hphbp_demo games \ load_hphbp_demo() { case "$LANG" in - ""|"C") w_die "Harry Potter will not install in the Posix locale; please do 'export LANG=en_US.UTF-8' or something like that" ;; + ""|"C") w_die "Harry Potter will not install in the POSIX locale; please do 'export LANG=en_US.UTF-8' or something like that" ;; esac w_download http://largedownloads.ea.com/pub/demos/HarryPotter/Release_HBP_demo_PC_DD_DEMO_Final_348428.exe dadc1366c3b5e641454aa337ad82bc8c5082bad2 @@ -15071,11 +14861,9 @@ load_hphbp_demo() " # Work around locale issues by symlinking the app's directory to not have a funny char - # Won't really work on cygwin, but that's ok. + # Won't really work on Cygwin, but that's ok. cd "$W_PROGRAMS_X86_UNIX/Electronic Arts" ln -s "Harry Potter and the Half-Blood Prince"* "Harry Potter and the Half-Blood Prince Demo" - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Electronic Arts\\Harry Potter and the Half-Blood Prince Demo\\pc" hp6_demo.exe } #---------------------------------------------------------------- @@ -15092,13 +14880,7 @@ load_imvu() { w_download http://static-akm.imvu.com/imvufiles/installers/InstallIMVU_465.0_st_c.exe 3a5c6c335227a5709c5772f91d8407edd07d4012 - if w_workaround_wine_bug 28541 "Installing Visual C++ 2008 runtime to avoid crash on startup" - then - w_call vcrun2008 - fi - cd "$W_CACHE/$W_PACKAGE" - w_ahk_do " SetTitleMatchMode, 2 SetWinDelay 500 @@ -15118,15 +14900,13 @@ load_imvu() } winwaitclose " - - w_declare_exe "c:\\users\\$LOGNAME\\Application Data\\IMVUClient" "IMVUClient.exe" } #---------------------------------------------------------------- w_metadata kotor1 games \ - title="Star Wars: Knights Of The Old Republic" \ - publisher="Lucas Arts" \ + title="Star Wars: Knights of the Old Republic" \ + publisher="LucasArts" \ year="2003" \ media="cd" \ file1="KOTOR_1.iso" \ @@ -15137,12 +14917,6 @@ w_metadata kotor1 games \ load_kotor1() { - # without virtual desktop, some in-game resolutions cause a crash. - if w_workaround_wine_bug 16596 - then - w_call vd=800x600 - fi - w_mount "KOTOR_1" w_ahk_do " SetTitleMatchMode 2 @@ -15208,8 +14982,6 @@ load_kotor1() } winwaitclose Star Wars, Complete " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\LucasArts\\SWKotOR" "swkotor.exe" } #---------------------------------------------------------------- @@ -15268,8 +15040,6 @@ load_losthorizon_demo() } WinWaitClose " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Deep Silver\\Lost Horizon Demo" "fsasgame.exe" } #---------------------------------------------------------------- @@ -15328,8 +15098,6 @@ load_lego_potc_demo() } winwaitclose, LEGO " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Disney Interactive Studios\\LEGO Pirates DEMO" LEGOPiratesDEMO.exe } #---------------------------------------------------------------- @@ -15375,17 +15143,10 @@ load_lhp_demo() winwaitclose, LEGO, Finish " - if w_workaround_wine_bug 23397 - then - w_warn "If sound stutters, try switching to OSS sound in winecfg (winetricks sound=oss)" - fi - # Work around locale issues by symlinking the app's directory to not have a funny char - # Won't really work on cygwin, but that's ok. + # Won't really work on Cygwin, but that's ok. cd "$W_PROGRAMS_X86_UNIX/WB Games" ln -s LEGO*Harry\ Potter*DEMO LEGO_Harry_Potter_DEMO - - w_declare_exe "$W_PROGRAMS_X86_WIN\\WB Games\\LEGO_Harry_Potter_DEMO" "LEGOHarryPotterDEMO.exe" } #---------------------------------------------------------------- @@ -15417,12 +15178,6 @@ load_lswcs() } winwaitclose, LEGO " - # Installer crashes at end (http://bugs.winehq.org/show_bug.cgi?id=22529) but this doesn't seem to hurt. - # Wait for all processes to exit, else unmount will fail - #$W_WINESERVER -w - - w_declare_exe "$W_PROGRAMS_X86_WIN\\LucasArts\\LEGO Star Wars - The Complete Saga" "LEGOStarWarsSaga.exe" - w_warn "This game is copy-protected, and requires the real disc in a real drive to run." } @@ -15481,8 +15236,6 @@ load_lemonysnicket() } WinWaitClose, Lemony " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Activision\\Lemony Snicket's A Series of Unfortunate Events" System\\game.exe } #---------------------------------------------------------------- @@ -15518,13 +15271,12 @@ load_luxor_ar() } winwaitclose " - w_declare_exe "$W_PROGRAMS_X86_WIN\\MumboJumbo\\Luxor Amun Rising" "Luxor AR.exe" } #---------------------------------------------------------------- w_metadata masseffect2 games \ - title="Mass Effect 2 (drm broken on wine)" \ + title="Mass Effect 2 (DRM broken on Wine)" \ publisher="BioWare" \ year="2010" \ media="dvd" \ @@ -15538,28 +15290,11 @@ load_masseffect2() w_mount MassEffect2 w_read_key - if w_workaround_wine_bug 22091 "May hang or crash at end of install, but should install ok." - then - w_call nocrashdialog - fi - - if w_workaround_wine_bug 23126 "Installing C runtime library" 1.3.0, - then - w_call vcrun2005 - fi - if w_workaround_wine_bug 23125 "Installing d3dx10 libraries" 1.3.0, - then - w_call d3dx10 - fi - # FIXME: only do this for nvidia cards + # FIXME: only do this for Nvidia graphics cards if w_workaround_wine_bug 23151 "Disabling glsl" then w_call glsl=disabled fi - if w_workaround_wine_bug 22919 "Installing physx" - then - w_call physx - fi w_ahk_do " SetTitleMatchMode, 2 @@ -15592,7 +15327,7 @@ load_masseffect2() send {Enter} } ; Some installs may not get to this point due to an installer hang/crash (bug 22919) - ; The hang/crash happens after the Physx install but does not seem to affect gameplay + ; The hang/crash happens after the PhysX install but does not seem to affect gameplay loop { ifwinexist, Mass Effect, Finish @@ -15609,9 +15344,6 @@ load_masseffect2() sleep 1000 } " - w_workaround_wine_bug 6971 "Please upgrade to wine-1.3.23 or later; see http://wiki.winehq.org/Bug6971" 1.3.23, - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Mass Effect 2\\Binaries" "MassEffect2.EXE" } #---------------------------------------------------------------- @@ -15628,32 +15360,15 @@ load_masseffect2_demo() { w_download http://static.cdn.ea.com/bioware/u/f/eagames/bioware/masseffect2/ME2_DEMO/MassEffect2DemoEN.exe cda9a25387a98e29772b3ccdcf609f87188285e2 - if w_workaround_wine_bug 22091 "May hang or crash at end of install, but should install ok." - then - w_call nocrashdialog - fi - - if w_workaround_wine_bug 23126 "Installing C runtime library" 1.3.0, - then - w_call vcrun2005 - fi - if w_workaround_wine_bug 23125 "Installing d3dx10 libraries" 1.3.0, - then - w_call d3dx10 - fi - # FIXME: only do this for nvidia cards + # FIXME: only do this for Nvidia graphics cards if w_workaround_wine_bug 23151 "Disabling glsl" then w_call glsl=disabled fi - if w_workaround_wine_bug 22919 "Installing physx" - then - w_call physx - fi # Don't let self-extractor write into $W_CACHE - case "$OS" in - "Windows_NT") + case "$W_PLATFORM" in + windows_cmd|wine_cmd) cp "$W_CACHE/$W_PACKAGE/MassEffect2DemoEN.exe" "$W_TMP" chmod +x "$W_TMP"/MassEffect2DemoEN.exe ;; *) @@ -15677,7 +15392,7 @@ load_masseffect2_demo() ControlClick, Button2 } ; Some installs may not get to this point due to an installer hang/crash (bug 22919) - ; The hang/crash happens after the Physx install but does not seem to affect gameplay + ; The hang/crash happens after the PhysX install but does not seem to affect gameplay loop { ifwinexist, Mass Effect, Finish @@ -15694,42 +15409,6 @@ load_masseffect2_demo() sleep 1000 } " - if test `which wine-hotfix-6971` 2> /dev/null - then - 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=\"$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 - while test ! -f "$mymenu" - do - if test $me2tries -gt 120 - then - w_die "timeout waiting for winemenubuilder to finish :-(" - fi - me2tries=`expr $me2tries + 1` - echo "waiting for winemenubuilder to finish..." - sleep 1 - done - unset me2tries - if test -f "$mymenu" - then - # this is a hack, hopefully the wine bug will be fixed soon - sed -i "s,Exec=.*,$myexec," "$mymenu" - fi - 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 - sed -i "s,Exec=.*,$myexec," "$mymenu" - fi - fi - else - w_workaround_wine_bug 6971 "Please upgrade to wine-1.3.23 or later; see http://wiki.winehq.org/Bug6971" 1.3.23, || true - fi - } #---------------------------------------------------------------- @@ -15750,8 +15429,6 @@ load_maxmagicmarker_demo() # Work around bug in game?! cd "$W_PROGRAMS_X86_UNIX/$W_PACKAGE" mv "max and the magic markerdemo pc" "max and the magic markerdemo pc"_Data - - w_declare_exe "$W_PROGRAMS_X86_WIN\\$W_PACKAGE" "max and the magic markerdemo pc.exe" } #---------------------------------------------------------------- @@ -15815,8 +15492,7 @@ load_mdk() cd "$W_DRIVE_C/SHINY/MDK" w_try_unzip . "$W_CACHE/$W_PACKAGE"/patch-mdk3dfx.zip - w_declare_exe "C:\\SHINY\\MDK" "MDK3DFX.EXE" - # TODO: wine fails to install menu items, add a workaround for that + # TODO: Wine fails to install menu items, add a workaround for that } #---------------------------------------------------------------- @@ -15858,8 +15534,6 @@ load_menofwar() ControlClick, TNewButton1, Setup - Men of War, Setup has finished } " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Aspyr\\Men of War" "mow.exe" } #---------------------------------------------------------------- @@ -15875,13 +15549,6 @@ w_metadata mb_warband_demo games \ load_mb_warband_demo() { - if w_workaround_wine_bug 23207 "" 1.3.23, - then - w_die "Please upgrade to wine-1.3.23 or later, built with gcc-4.4.5 or later, else game crashes on startup." - fi - w_workaround_wine_bug 6971 "Please upgrade to wine-1.3.23 or later; see http://wiki.winehq.org/Bug6971" 1.3.23, - # Mouse still doesn't work quite right after picking menu, see bug 25705. - w_download "http://download.taleworlds.com/mb_warband_setup_1143.exe" 94fb829068678e27bcd67d9e0fde7f08c51a23af cd "$W_CACHE/$W_PACKAGE" @@ -15899,8 +15566,6 @@ load_mb_warband_demo() } winwaitclose Warband " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Mount&Blade Warband" "mb_warband.exe" } #---------------------------------------------------------------- @@ -15917,24 +15582,6 @@ load_mise() { w_download_manual "http://www.direct2drive.com/8241/product/Buy-The-Secret-of-Monkey-Island(R):-Special-Edition-Download" SecretOfMonkeyIslandSE_ddsetup.zip 2e32458698c9ec7ebce94ae5c57531a3fe1dbb9e - if w_workaround_wine_bug 22161 - then - # Doesn't crash, but you only get a black screen and a flood of d3dx fixme's without native d3dx9_36 - w_call d3dx9_36 - fi - - if w_workaround_wine_bug 24545 - then - # Game wants to install directx, but we delete it. It really only needs xact for x3daudio?_?.dll - w_call xact - fi - - if w_workaround_wine_bug 24547 - then - # It really does need vcrun2005, for msvp80.dll (and potentially one stub from msvcr80) - w_call vcrun2005 - fi - mkdir -p "$W_TMP/$W_PACKAGE" cd "$W_TMP/$W_PACKAGE" @@ -15965,7 +15612,7 @@ load_mise() # FIXME: This app has two different keys - you can use either one. How do we handle that with w_read_key? if test -f "$W_CACHE"/$W_PACKAGE/activationcode.txt then - MISE_KEY=`cat "$W_CACHE"/$W_PACKAGE/activationcode.txt` + MISE_KEY=$(cat "$W_CACHE"/$W_PACKAGE/activationcode.txt) w_ahk_do " SetTitleMatchMode, 2 run, $W_PROGRAMS_X86_WIN\\LucasArts\\The Secret of Monkey Island Special Edition\\MISE.exe @@ -15980,7 +15627,7 @@ load_mise() " elif test -f "$W_CACHE"/$W_PACKAGE/unlockcode.txt then - MISE_KEY=`cat "$W_CACHE"/$W_PACKAGE/unlockcode.txt` + MISE_KEY=$(cat "$W_CACHE"/$W_PACKAGE/unlockcode.txt) w_ahk_do " SetTitleMatchMode, 2 run, $W_PROGRAMS_X86_WIN\\LucasArts\\The Secret of Monkey Island Special Edition\\MISE.exe @@ -15993,8 +15640,6 @@ load_mise() Process, Close, MISE.exe " fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\LucasArts\\The Secret of Monkey Island Special Edition" "MISE.exe" } #---------------------------------------------------------------- @@ -16037,13 +15682,12 @@ load_myth2_demo() } winwaitclose " - w_declare_exe "$W_PROGRAMS_X86_WIN\\Myth II Demo" "Myth II Demo.exe" } #---------------------------------------------------------------- w_metadata nfsshift_demo games \ - title="Need For Speed: SHIFT Demo" \ + title="Need for Speed: SHIFT Demo" \ publisher="EA" \ year="2009" \ media="download" \ @@ -16106,90 +15750,6 @@ load_nfsshift_demo() } winwaitclose, Setup, Finish " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Electronic Arts\\Need for Speed SHIFT Demo" "shiftdemo.exe" -} - -#---------------------------------------------------------------- - -w_metadata nfsworld games \ - title="Need For Speed World" \ - publisher="EA" \ - year="2013" \ - media="download" \ - file1="setup_nfsw" \ - installed_exe1="$W_PROGRAMS_X86_WIN/Electronic Arts/Need For Speed World/GameLauncher.exe" - -load_nfsworld() -{ - w_workaround_wine_bug 27048 "The patcher will probably put up an error dialog and then hang. When this happens, kill it and try again. It should succeed after the fourth or so try." - - w_workaround_wine_bug 27047 "Game fails with corrupt executable error in wine-1.3.19 and earlier" 1.3.20, - - # This changes frequently, I fear - # Be careful to update $file1 when you update the url - # 1.8.40.65 9b1f10af09350e2b3f5ccbc679dbea628e9f432d0 ? - # 1.8.40.1229 f355fcad20dd6267910bec93a318224718ab5de7 - # 4 July 2013 1.8.40.1509 6f76c74ae07d36470931bac74b44548d1a319ce0 - w_download http://static.cdn.ea.com/blackbox/u/f/NFSWO/1509/launcher/weblaunch_1.8.40.1509/setup_nfsw.exe 6f76c74ae07d36470931bac74b44548d1a319ce0 - - # pre-1.6 versions of wine also needed ie7? - if w_workaround_wine_bug 25658 "Installing dotnet20 so launcher does not just exit" - then - w_call dotnet20 - fi - - if w_workaround_wine_bug 28652 "Installing gdiplus so launcher does not look horrible (and to work around crash bug 33880, too)" - then - w_call gdiplus - fi - - if test "$W_OPT_UNATTENDED" && w_workaround_wine_bug 25961 "Installing vcrun2008 just to make unattended install easier" - then - w_call vcrun2008 - fi - - if w_workaround_wine_bug 26915 "installing corefonts so help works" - then - w_call corefonts - fi - - cd "$W_CACHE/$W_PACKAGE" - w_ahk_do " - SetWinDelay 500 - SetTitleMatchMode, 2 - run $file1 - winwait, Language - if ( w_opt_unattended > 0 ) { - ControlClick TNewButton1 ; Next - winwait Setup - Need For Speed - ControlClick TNewButton1 ; Next - winwait Setup - Need For Speed, License - ControlClick TNewRadioButton1 ; Accept - sleep 1000 - ControlClick TNewButton2 ; Next - winwait Setup - Need For Speed, be installed - ControlClick TNewButton3 ; Next - winwait Setup - Need For Speed, be downloaded - ControlClick TNewButton4 ; Next - winwait Setup - Need For Speed, shortcuts - ControlClick TNewButton5 ; Next - winwait Setup - Need For Speed, Tasks - ControlClick TNewButton5 ; Next - winwait Setup - Need For Speed, Ready to Install - ControlClick TNewButton5 ; Next - } - winwait Setup - Need For Speed, Completing - if ( w_opt_unattended > 0 ) { - send {Space} ; uncheck readme - send {Tab} - send {Space} ; uncheck launch - sleep 1000 ; let launch uncheck take effect? - ControlClick TNewButton5 ; Finish - } - winwaitclose - " - w_declare_exe "$W_PROGRAMS_X86_WIN\\Electronic Arts\\Need For Speed World" GameLauncher.exe } #---------------------------------------------------------------- @@ -16226,7 +15786,6 @@ load_njcwp_trial() else w_try "$WINE" $file1 fi - w_declare_exe "$W_PROGRAMS_X86_WIN\\NJStar Chinese WP" "njstar.exe" } #---------------------------------------------------------------- @@ -16263,7 +15822,6 @@ load_njjwp_trial() else w_try "$WINE" $file1 fi - w_declare_exe "$W_PROGRAMS_X86_WIN\\NJStar Japanese WP" "njstarj.exe" } #---------------------------------------------------------------- @@ -16314,8 +15872,6 @@ load_oblivion() then w_call d3dx9_36 fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Bethesda Softworks\\Oblivion" "Oblivion.exe" } #---------------------------------------------------------------- @@ -16335,7 +15891,6 @@ load_penpenxmas() cd "$W_CACHE/$W_PACKAGE" "$WINE" PenPenXmasOlympics100.exe $W_UNATTENDED_SLASH_S - w_declare_exe "$W_PROGRAMS_X86_WIN\\PPO" "PPO.exe" } #---------------------------------------------------------------- @@ -16370,14 +15925,12 @@ load_plantsvszombies() } WinWaitClose " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\PopCap Games\\Plants vs. Zombies" "PlantsVsZombies.exe" } #---------------------------------------------------------------- w_metadata popfs games \ - title="Prince of Persia The Forgotten Sands" \ + title="Prince of Persia: The Forgotten Sands" \ publisher="Ubisoft" \ year="2010" \ media="dvd" \ @@ -16426,38 +15979,31 @@ load_popfs() ControlClick, Button4 } " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Ubisoft\\Prince of Persia The Forgotten Sands" "Prince of Persia.exe" } #---------------------------------------------------------------- w_metadata qq apps \ - title="QQ 7.1 (Chinese chat app)" \ + title="QQ 8.0 (Chinese chat app)" \ publisher="Tencent" \ year="2015" \ media="download" \ - file1="QQ7.1.exe" \ + file1="QQ8.0.exe" \ file2="QQ.tar.gz"\ - installed_exe1="$W_PROGRAMS_X86_WIN/Tencent/QQ/Bin/QQ.exe" \ + installed_exe1="$W_PROGRAMS_X86_WIN/Tencent/QQ/Bin/QQScLauncher.exe" \ homepage="http://www.qq.com" \ unattended="no" load_qq() { - w_download http://dldir1.qq.com/qqfile/qq/QQ7.1/14522/QQ7.1.exe 700b469560b1bd8521ede61a0e169ff8c38b1d29 + w_download http://dldir1.qq.com/qqfile/qq/QQ8.0/16968/QQ8.0.exe ef92f3863113971c95a79aa75e601893d803826c w_download http://hillwoodhome.net/wine/QQ.tar.gz 08de45d3e5bb34b22e7c33e1163daec69742db58 - if w_workaround_wine_bug 29636 "Installing native riched20 to work around crash bug" + if w_workaround_wine_bug 5162 "Installing native riched20 to work around can't input username." then w_call riched20 fi - if w_workaround_wine_bug 34566 "Installing native ctf to work around crash" - then - w_call msctf - fi - # Make sure chinese fonts are available w_call fakechinese @@ -16474,12 +16020,21 @@ load_qq() w_try mv QQ/腾讯QQ.desktop ~/.local/share/applications/wine/Programs/腾讯软件/QQ w_try mv QQ/48x48/QQ.png ~/.local/share/icons/hicolor/48x48/apps w_try mv QQ/256x256/QQ.png ~/.local/share/icons/hicolor/256x256/apps - echo Exec=env WINEPREFIX=$WINEPREFIX $WINE C:\/Program\\ Files\/Tencent\/QQ\/Bin\/QQ.exe >> $HOME/.local/share/applications/wine/Programs/腾讯软件/QQ/腾讯QQ.desktop + echo Exec=env WINEPREFIX="$WINEPREFIX" "$WINE" $W_PROGRAMS_X86_WIN\/Tencent\/QQ\/bin\/QQScLauncher.exe >> $HOME/.local/share/applications/wine/Programs/腾讯软件/QQ/腾讯QQ.desktop + fi + + if w_workaround_wine_bug 39657 "Disable ntoskrnl.exe to work around can't be started bug" + then + w_override_dlls disabled ntoskrnl.exe + fi + + if w_workaround_wine_bug 37680 "Disable txplatform.exe to work around QQ can't be quit cleanly" + then + w_override_dlls disabled txplatform.exe fi cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" "$file1" - w_declare_exe "$W_PROGRAMS_X86_WIN\\Tencent\\QQ\\Bin" QQ.exe } #---------------------------------------------------------------- @@ -16503,16 +16058,16 @@ load_qqintl() 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 37617 "Installing native wininet to work around crash" then w_call wininet fi + if w_workaround_wine_bug 37680 "Disable txplatform.exe to work around QQ can't be quit cleanly" + then + w_override_dlls disabled txplatform.exe + fi + # Make sure chinese fonts are available w_call fakechinese @@ -16521,7 +16076,6 @@ load_qqintl() cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" "$file1" - w_declare_exe "$W_PROGRAMS_X86_WIN\\Tencent\\QQIntl\\Bin" QQ.exe } #---------------------------------------------------------------- @@ -16540,10 +16094,6 @@ load_ragnarok() then w_call vcrun6 fi - if w_workaround_wine_bug 28228 "Installing Visual C++ 2008 runtime" - then - w_call vcrun2008 - fi # publisher puts SHA1 checksums on download page, nice # BDA295E3A2A57CD02BD122ED7BF4836AC012369A @@ -16575,7 +16125,7 @@ load_ragnarok() #---------------------------------------------------------------- w_metadata rct3deluxe games \ - title="RollerCoaster Tycoon 3 Deluxe (drm broken on wine)" \ + title="RollerCoaster Tycoon 3 Deluxe (DRM broken on Wine)" \ publisher="Atari" \ year="2004" \ media="cd" \ @@ -16587,11 +16137,6 @@ load_rct3deluxe() { w_mount RCT3 - if w_workaround_wine_bug 26396 - then - w_call quartz - fi - # FIXME: make videos and music work # Game still doesn't show .wmv logo videos nor play .wma background audio in menu # though it does in Jake's screencast. Loading wmp9 and devenum gets it to @@ -16631,8 +16176,6 @@ load_rct3deluxe() } WinWaitClose Setup - RollerCoaster Tycoon 3, finished " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Atari\\RollerCoaster Tycoon 3" RCT3.EXE } #---------------------------------------------------------------- @@ -16652,16 +16195,6 @@ load_rayman2_demo() cd "$W_TMP" w_try unzip "$W_CACHE/$W_PACKAGE/rayman2high.zip" - if w_workaround_wine_bug 16596 - then - w_call vd=800x600 - fi - - if w_workaround_wine_bug 21159 - then - w_call dinput - fi - w_ahk_do " SetWinDelay 500 SetTitleMatchMode, 3 @@ -16700,8 +16233,6 @@ load_rayman2_demo() # this is a hack, hopefully the wine bug will be fixed soon sed -i "s,Exec=.*,$myexec," "$mymenu" fi - - w_declare_exe "c:\\UbiSoft\\Rayman2Demo" "Rayman2Demo.exe" } #---------------------------------------------------------------- @@ -16738,8 +16269,6 @@ load_riseofnations_demo() then w_call directmusic fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Microsoft Games\\Rise of Nations Trial" "nations.exe" } #---------------------------------------------------------------- @@ -16773,14 +16302,12 @@ load_secondlife() } winwaitclose " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\SecondLifeViewer" "SecondLife.exe" } #---------------------------------------------------------------- w_metadata sims3 games \ - title="The Sims 3 (drm broken on wine)" \ + title="The Sims 3 (DRM broken on Wine)" \ publisher="EA" \ year="2009" \ media="dvd" \ @@ -16790,16 +16317,6 @@ w_metadata sims3 games \ load_sims3() { - if w_workaround_wine_bug 22350 "Launcher needs .net" - then - w_call dotnet20 - fi - - if w_workaround_wine_bug 21517 "Old wine needs native DirectX for this game" 1.3.8, - then - w_call d3dx9_36 - fi - w_read_key w_mount Sims3 @@ -16837,7 +16354,7 @@ load_sims3() " w_umount - # DVD Region code is last digit. + # DVD region code is last digit. # FIXME: download appropriate one rather than just US version. w_download http://akamai.cdn.ea.com/eadownloads/u/f/sims/sims3/patches/TS3_1.19.44.010001_Update.exe 7d21a81aaea70bf102267456df4629ce68be0cc8 @@ -16851,14 +16368,12 @@ load_sims3() } winwaitclose " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Electronic Arts\\The Sims 3\\Game\\Bin" "TS3.exe" } #---------------------------------------------------------------- w_metadata simsmed games \ - title="The Sims Medieval (drm broken on wine)" \ + title="The Sims Medieval (DRM broken on Wine)" \ publisher="EA" \ year="2011" \ media="dvd" \ @@ -16868,11 +16383,6 @@ w_metadata simsmed games \ load_simsmed() { - if w_workaround_wine_bug 21517 "Old wine needs native DirectX for this game" 1.3.8, - then - w_call d3dx9_36 - fi - w_read_key w_mount TSimsM @@ -16936,7 +16446,7 @@ load_simsmed() winwaitclose " - # DVD Region code is last digit. + # DVD region code is last digit. # FIXME: download appropriate one rather than just US version. w_download http://akamai.cdn.ea.com/eadownloads/u/f/sims/sims/patches/TheSimsMedievalPatch_1.1.10.00001_Update.exe 7214ced8af7315741e05024faeacf9053b999b1b @@ -16957,29 +16467,12 @@ load_simsmed() } winwaitclose " - - 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="$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" - fi - mymenu="$HOME/Desktop/The Sims™ Medieval.desktop" - if test -f "$mymenu" - then - sed -i "s,Exec=.*,$myexec," "$mymenu" - fi - fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Electronic Arts\\The Sims Medieval\\Game\\Bin" "TSM.exe" } #---------------------------------------------------------------- w_metadata sims3_gen games \ - title="The Sims 3: Generations (drm broken on Wine)" \ + title="The Sims 3: Generations (DRM broken on Wine)" \ publisher="EA" \ year="2011" \ media="dvd" \ @@ -17052,8 +16545,6 @@ load_sims3_gen() } winwaitclose " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Electronic Arts\\The Sims 3 Generations/Game/Bin" "TS3EP04.exe" } #---------------------------------------------------------------- @@ -17068,16 +16559,6 @@ w_metadata splitsecond games \ load_splitsecond() { - if w_workaround_wine_bug 22774 "" 1.3.0 - then - w_warn "On wine, install takes an extra 7 minutes at the end, please be patient." - fi - - if w_workaround_wine_bug 22865 - then - w_warn "This game is currently unplayable on wine due to rendering problems; see winehq bug 22865." - fi - # Key is used in first run activation, no need to read it here. w_mount SplitSecond @@ -17117,8 +16598,6 @@ load_splitsecond() sleep 500 ControlClick, Button4, Split " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Disney Interactive Studios\\Split Second" "SplitSecond.exe" } #---------------------------------------------------------------- @@ -17137,12 +16616,7 @@ load_splitsecond_demo() if w_workaround_wine_bug 22774 "" 1.3.0 then - w_warn "On wine, install takes an extra 7 minutes at the end, please be patient." - fi - - if w_workaround_wine_bug 22865 - then - w_warn "This game is currently unplayable on wine due to rendering problems; see winehq bug 22865." + w_warn "On Wine, install takes an extra 7 minutes at the end, please be patient." fi cd "$W_CACHE/$W_PACKAGE" @@ -17170,8 +16644,6 @@ load_splitsecond_demo() ControlClick, Button1, Split, completed ControlClick, Button4, Split, completed " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Disney Interactive Studios\\Split Second Demo" "SplitSecondDEMO.exe" } #---------------------------------------------------------------- @@ -17234,8 +16706,6 @@ load_spore() } winwaitclose, SPORE, complete " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Electronic Arts\\SPORE\\Sporebin" "SporeApp.exe" } #---------------------------------------------------------------- @@ -17287,8 +16757,6 @@ load_spore_cc_demo() else w_try "$WINE" "$file1" fi - w_declare_exe "$W_PROGRAMS_X86_WIN\\Electronic Arts\\SPORE\\Sporebin" \ - "SporeCreatureCreator.exe" } #---------------------------------------------------------------- @@ -17356,8 +16824,6 @@ load_starcraft2_demo() process, close, SC2.exe } " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\StarCraft II Demo" "StarCraft II.exe" } #---------------------------------------------------------------- @@ -17374,15 +16840,6 @@ load_theundergarden_demo() { w_download_manual http://www.bigdownload.com/games/the-undergarden/pc/the-undergarden-demo TheUnderGarden_PC_B34_SRTB.30_28OCT10.exe acf90c422ac2f2f242100f39bedfe7df0c95f7a - if w_workaround_wine_bug 25384 - then - w_call vcrun2008 - fi - if w_workaround_wine_bug 25385 - then - w_call d3dx9_36 - fi - cd "$W_CACHE/$W_PACKAGE" w_ahk_do " @@ -17445,8 +16902,6 @@ load_theundergarden_demo() } WinWaitClose,Setup,launched " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\The UnderGarden" "TheUndergarden.exe" } #---------------------------------------------------------------- @@ -17461,12 +16916,6 @@ w_metadata tmnationsforever games \ load_tmnationsforever() { - if w_workaround_wine_bug 20915 - then - # FIXME: script this? - w_warn "To fix choppy sound/low fps, try setting Settings/Advanced/Audio to portaudio when starting the game." - fi - # Before: cab0cf66db0471bc2674a3b1aebc35de0bca6ed0 # 29 Mar 2011: 23388798d5c90ad4a233b4cd7e9fcafd69756978 w_download "http://files.trackmaniaforever.com/tmnationsforever_setup.exe" 23388798d5c90ad4a233b4cd7e9fcafd69756978 @@ -17511,8 +16960,6 @@ load_tmnationsforever() } WinWaitClose " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\TmNationsForever" "TmForever.exe" } #---------------------------------------------------------------- @@ -17562,8 +17009,6 @@ load_trainztcc_2004() winwaitclose " - w_declare_exe "$W_PROGRAMS_X86_WIN\\Auran\\TRS2004" "TRS2004.exe" - # And, while we're at it, also install the accompanying paint shed app cd ${W_ISO_MOUNT_ROOT}/TRAINZ_PAINTSHED w_ahk_do " @@ -17587,7 +17032,6 @@ load_trainztcc_2004() } winwaitclose " - w_declare_exe "$W_PROGRAMS_X86_WIN\\Auran\\Trainz Paint Shed" "Trainz Paint Shed.exe" paintshed } #---------------------------------------------------------------- @@ -17626,7 +17070,6 @@ load_sammax301_demo() } winwaitclose Sam and Max The Penal Zone Setup " - w_declare_exe "$W_PROGRAMS_X86_WIN\\Telltale Games\\Sam and Max - The Devil's Playhouse\\The Penal Zone" "SamMax301.exe" } #---------------------------------------------------------------- @@ -17662,13 +17105,6 @@ load_sammax304_demo() } WinWaitClose " - - if w_workaround_wine_bug 24250 "Installing visual C++ runtimes" 1.3.15, - then - w_call vcrun2005 - fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Telltale Games\\Sam and Max - The Devil's Playhouse\\Beyond the Alley of the Dolls" "SamMax304.exe" } #---------------------------------------------------------------- @@ -17685,11 +17121,6 @@ load_tropico3_demo() { w_download_manual "http://www.tropico3.com/?p=downloads" Tropico3Demo.exe e031749db346ac3a87a675787c81eb1ca8cb5909 - if w_workaround_wine_bug 24819 "Disabling gameux" - then - w_override_dlls disabled gameux - fi - cd "$W_CACHE/$W_PACKAGE" w_ahk_do " @@ -17713,15 +17144,6 @@ load_tropico3_demo() } WinWaitClose " - - w_workaround_wine_bug 16328 "seawater is invisible in this wine, please update to 1.3.9 or later" 1.3.9, - - if w_workaround_wine_bug 24845 "disabling mmdevapi to fix sound" 1.3.21, - then - w_override_dlls disabled mmdevapi - fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Kalypso\\Tropico 3 Demo" "Tropico3 Demo.exe" } #---------------------------------------------------------------- @@ -17785,26 +17207,6 @@ load_singularity() } " - if w_workaround_wine_bug 6971 "Setting mwo=force... please upgrade to wine-1.3.23" 1.3.23, - then - w_call mwo=force - fi - - if w_workaround_wine_bug 22548 - then - echo "Disabling \'depth of field\'" - cat > "$W_TMP"/dof.reg <<_EOF_ -REGEDIT4 - -[HKEY_CURRENT_USER\Software\Activision\Singularity] -"DepthOfField"=dword:00000000 - -_EOF_ - w_try_regedit "$W_TMP_WIN"\\dof.reg - fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Activision\\Singularity(TM)\\Binaries" "Singularity.exe" - # Clean up crap left over in c:\ when the installer runs the vc 2008 redistributable installer cd "$W_DRIVE_C" rm -f VC_RED.* eula.*.txt globdata.ini install.exe install.ini install.res.*.dll vcredist.bmp @@ -17826,14 +17228,12 @@ load_wglgears() mkdir -p "$W_PROGRAMS_X86_UNIX/misc" cp "$W_CACHE"/wglgears/wglgears.exe "$W_PROGRAMS_X86_UNIX/misc" chmod +x "$W_PROGRAMS_X86_UNIX/misc/wglgears.exe" - - w_declare_exe "$W_PROGRAMS_X86_WIN\\misc" wglgears.exe } #---------------------------------------------------------------- w_metadata stalker_pripyat_bench benchmarks \ - title="S.T.A.L.K.E.R Call of Pripyat benchmark" \ + title="S.T.A.L.K.E.R.: Call of Pripyat benchmark" \ publisher="GSC Game World" \ year="2009" \ media="manual_download" \ @@ -17889,8 +17289,6 @@ load_stalker_pripyat_bench() w_call d3dx9_31 w_call d3dx9_42 fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Call Of Pripyat Benchmark" "Benchmark.exe" } #---------------------------------------------------------------- @@ -17928,8 +17326,6 @@ load_torchlight() } WinWaitClose, Torchlight Setup " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Runic Games\\Torchlight" Torchlight.exe } #---------------------------------------------------------------- @@ -17992,13 +17388,6 @@ load_twfc() } " - if w_workaround_wine_bug 6971 "Setting mwo=force... please upgrade to wine-1.3.23" 1.3.23, - then - w_call mwo=force - fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Activision\\Transformers - War for Cybertron\\Binaries" "TWFC.exe" - # Clean up crap left over in c:\ when the installer runs the vc 2008 redistributable installer cd "$W_DRIVE_C" rm -f VC_RED.* eula.*.txt globdata.ini install.exe install.ini install.res.*.dll vcredist.bmp @@ -18033,8 +17422,6 @@ load_typingofthedead_demo() ; installer crashes here? Sleep 20000 " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\SEGA\\TOD-Demo" "Tod_e_demo.exe" } #---------------------------------------------------------------- @@ -18101,15 +17488,6 @@ load_ut3() } WinWaitClose " - - if w_workaround_wine_bug 6971 "Setting mwo=force... please upgrade to wine-1.3.23" 1.3.23, - then - w_call mwo=force - w_warn "Mouse will be disabled in in-game menu. Must use keyboard to navigate. Alternately, patch wine as described in bug 6971 to use xinput2." - fi - - # FIXME: enter user's key if -q - w_declare_exe "$W_PROGRAMS_X86_WIN\\Unreal Tournament 3\\Binaries" "UT3.exe" } #---------------------------------------------------------------- @@ -18154,7 +17532,6 @@ load_wog() } winwaitclose, World of Goo Setup " - w_declare_exe "$W_PROGRAMS_X86_WIN\\WorldOfGooDemo" WorldOfGoo.exe } #---------------------------------------------------------------- @@ -18191,8 +17568,6 @@ load_zootycoon2_demo() winwaitactive, Zoo Tycoon 2 Trial, COMPLETE winclose, Zoo Tycoon 2 Trial, COMPLETE " - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Microsoft Games\\Zoo Tycoon 2 Trial Version" "zt2demoretail.exe" } #---------------------------------------------------------------- @@ -18253,13 +17628,13 @@ load_the_witcher_2_gog() # Otherwise it should be of the following form: # file_name[,length[,sha1sum]] [...] # - "TsCheckBox4" is the control name for the checkbox deciding whether it will -# install some reader (Foxit in this case, could be acrobat reader). That +# install some reader (Foxit in this case, could be Acrobat Reader). That # installation is enabled by default, and would just bloat the generic # AutoHotKey script, so it gets disabled. # - "ScummVM\\[...]" is the command line to run the game, as fetched from the # shortcut/launcher installer/wine creates, which will be used in BAT scripts # created by wisotool -# - The part in the url which is specific to this game is identical to its "id" +# - The part in the URL which is specific to this game is identical to its "id" # (first parameter), so this parameter is left out. # - The install directory is the same as installer window title (second # parameter), so this parameter is left out. @@ -18288,7 +17663,6 @@ w_metadata bioshock2_steam games \ publisher="2k" \ year="2010" \ media="download" \ - wine_showstoppers="7065" \ installed_exe1="$W_PROGRAMS_X86_WIN/Steam/steamapps/common/bioshock2/blort.exe" load_bioshock2_steam() @@ -18299,7 +17673,7 @@ load_bioshock2_steam() #---------------------------------------------------------------- w_metadata borderlands_steam games \ - title="Borderlands (Steam, nonfree)" \ + title="Borderlands (Steam, non-free)" \ publisher="2K Games" \ year="2009" \ media="download" \ @@ -18313,7 +17687,7 @@ load_borderlands_steam() #---------------------------------------------------------------- w_metadata civ5_demo_steam games \ - title="Civ V Demo (Steam)" \ + title="Civilization V Demo (Steam)" \ publisher="2K Games" \ year="2010" \ media="download" \ @@ -18321,7 +17695,7 @@ w_metadata civ5_demo_steam games \ load_civ5_demo_steam() { - # Start autohotkey watching for directx9 option in the background, and select it when it comes up + # Start AutoHotKey watching for DirectX 9 option in the background, and select it when it comes up w_ahk_do " SetWinDelay 500 loop @@ -18342,9 +17716,9 @@ load_civ5_demo_steam() " & _job=$! # While that's running, install the game. - # You'll see *two* Autohotkey icons until that first script + # You'll see *two* AutoHotKey icons until that first script # finds the dialog it's looking for, clicks, and exits. - w_info "If you already own the full Civ 5 game on steam, the installer won't even appear." + w_info "If you already own the full Civ 5 game on Steam, the installer won't even appear." w_steam_install_game 65900 "Sid Meier's Civilization V - Demo" kill -s HUP $_job # just in case } @@ -18361,35 +17735,12 @@ w_metadata ruse_demo_steam games \ load_ruse_demo_steam() { w_steam_install_game 33310 "R.U.S.E." - - if w_workaround_wine_bug 21939 "Installing Windows Media so game can start" - then - w_call wmp9 - fi - - if w_workaround_wine_bug 22016 "Turning off HDR to avoid washed out graphics" - then - for dir in "$W_PROGRAMS_X86_UNIX/Steam/userdata"/*/config - do - file=../33310/local/Option.ini - if test -f $file - then - sed -i "s/UseHDR = true/UseHDR = false/" $file - else - mkdir -p ../33310/local - cat > "$file" <<_EOF_ -[advanced_video] - UseHDR = false -_EOF_ - fi - done - fi } #---------------------------------------------------------------- w_metadata supermeatboy_steam games \ - title="Super Meat Boy (Steam, nonfree)" \ + title="Super Meat Boy (Steam, non-free)" \ publisher="Independent" \ year="2010" \ media="download" \ @@ -18412,13 +17763,6 @@ w_metadata trine_steam games \ load_trine_steam() { w_steam_install_game 35700 "Trine" - - if w_workaround_wine_bug 21939 "Installing Windows Media Player so game can start" - then - w_call wmp9 - fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Steam\\steamapps\\common\\trine" "trine_launcher.exe" } #---------------------------------------------------------------- @@ -18433,13 +17777,6 @@ w_metadata trine_demo_steam games \ load_trine_demo_steam() { w_steam_install_game 35710 "Trine Demo" - - if w_workaround_wine_bug 21939 "Installing Windows Media Player so game can start" - then - w_call wmp9 - fi - - w_declare_exe "$W_PROGRAMS_X86_WIN\\Steam\\steamapps\\common\\trine demo" "trine_launcher.exe" } #---------------------------------------------------------------- @@ -18453,10 +17790,6 @@ w_metadata wormsreloaded_demo_steam games \ load_wormsreloaded_demo_steam() { - if w_workaround_wine_bug 26646 "Installing xact to enable sound" - then - w_call xact - fi w_steam_install_game 22690 "Worms Reloaded Demo" } @@ -18495,11 +17828,11 @@ _EOF_ #---------------------------------------------------------------- w_metadata glsl=enabled settings \ - title_uk="Включити glsl шейдери (за замовчуванням)" \ - title="Enable glsl shaders (default)" + title_uk="Включити GLSL шейдери (за замовчуванням)" \ + title="Enable GLSL shaders (default)" w_metadata glsl=disabled settings \ - title_uk="Вимкнути glsl шейдери та використовувати arb шейдери (швидше, але іноді з перервами)" \ - title="Disable glsl shaders, use arb shaders (faster, but sometimes breaks)" + title_uk="Вимкнути GLSL шейдери та використовувати ARB шейдери (швидше, але іноді з перервами)" \ + title="Disable GLSL shaders, use ARB shaders (faster, but sometimes breaks)" load_glsl() { @@ -18813,8 +18146,8 @@ _EOF_ #---------------------------------------------------------------- w_metadata forcemono settings \ - title_uk="Примусове використання mono замість .Net (для налогодження)" \ - title="Force using mono instead of .Net (for debugging)" + title_uk="Примусове використання mono замість .NET (для налогодження)" \ + title="Force using Mono instead of .NET (for debugging)" load_forcemono() { @@ -18859,18 +18192,18 @@ _EOF_ #---------------------------------------------------------------- w_metadata hidewineexports=enable settings \ - title="Enable hiding wine exports from applications (wine-staging)" + title="Enable hiding Wine exports from applications (wine-staging)" w_metadata hidewineexports=disable settings \ - title="Disable hiding wine exports from applications (wine-staging)" + title="Disable hiding Wine exports from applications (wine-staging)" load_hidewineexports() { - # Wine exports some functions allowing apps to query the wine version and + # Wine exports some functions allowing apps to query the Wine version and # information about the host environment. Using these functions, some apps # will intentionally terminate if they can detect that they are running in - # a wine environment. + # a Wine environment. # - # Hiding these wine exports is only available in wine-staging. + # Hiding these Wine exports is only available in wine-staging. # See https://bugs.winehq.org/show_bug.cgi?id=38656 case $arg in enable) @@ -18903,7 +18236,7 @@ load_hosts() # Create fake system32\drivers\etc\hosts and system32\drivers\etc\services files. # The hosts file is used to map network names to IP addresses without DNS. # The services file is used map service names to network ports. - # Some apps depend on these files, but they're not implemented in wine. + # Some apps depend on these files, but they're not implemented in Wine. # Fortunately, empty files in the correct location satisfy those apps. # See http://bugs.winehq.org/show_bug.cgi?id=12076 @@ -18921,8 +18254,8 @@ w_metadata native_mdac settings \ load_native_mdac() { - # Set those overrides globally so user programs get MDAC's odbc - # instead of wine's unixodbc + # Set those overrides globally so user programs get MDAC's ODBC + # instead of Wine's unixodbc w_override_dlls native,builtin odbc32 odbccp32 oledb32 } @@ -18997,7 +18330,7 @@ load_sandbox() # Unmap drive Z rm -f "$WINEPREFIX/dosdevices/z:" - _olddir="`pwd`" + _olddir="$(pwd)" cd "$WINEPREFIX/drive_c/users/$USER" for x in * do @@ -19151,7 +18484,7 @@ _EOF_ w_metadata vista settings \ title_uk="Поставити версію Windows Vista" \ - title="Set windows version to Windows Vista" + title="Set Windows version to Windows Vista" load_vista() { @@ -19178,7 +18511,7 @@ load_vsm() w_metadata win2k settings \ title_uk="Поставити версію Windows 2000" \ - title="Set windows version to Windows 2000" + title="Set Windows version to Windows 2000" load_win2k() { @@ -19189,18 +18522,30 @@ load_win2k() w_metadata win2k3 settings \ title_uk="Поставити версію Windows 2003" \ - title="Set windows version to Windows 2003" + title="Set Windows version to Windows 2003" load_win2k3() { w_set_winver win2k3 } + +#---------------------------------------------------------------- + +w_metadata win2k8 settings \ + title_uk="Поставити версію Windows 2008 R2" \ + title="Set Windows version to Windows 2008 R2" + +load_win2k8() +{ + w_set_winver win2k8 +} + #---------------------------------------------------------------- w_metadata win31 settings \ title_uk="Поставити версію Windows 3.1" \ - title="Set windows version to Windows 3.1" + title="Set Windows version to Windows 3.1" load_win31() { @@ -19211,7 +18556,7 @@ load_win31() w_metadata win7 settings \ title_uk="Поставити версію Windows 7" \ - title="Set windows version to Windows 7" + title="Set Windows version to Windows 7" load_win7() { @@ -19220,9 +18565,42 @@ load_win7() #---------------------------------------------------------------- +w_metadata win8 settings \ + title_uk="Поставити версію Windows 8" \ + title="Set Windows version to Windows 8" + +load_win8() +{ + w_set_winver win8 +} + +#---------------------------------------------------------------- + +w_metadata win81 settings \ + title_uk="Поставити версію Windows 8.1" \ + title="Set Windows version to Windows 8.1" + +load_win81() +{ + w_set_winver win81 +} + +#---------------------------------------------------------------- + +w_metadata win10 settings \ + title_uk="Поставити версію Windows 10" \ + title="Set Windows version to Windows 10" + +load_win10() +{ + w_set_winver win10 +} + +#---------------------------------------------------------------- + w_metadata win95 settings \ title_uk="Поставити версію Windows 95" \ - title="Set windows version to Windows 95" + title="Set Windows version to Windows 95" load_win95() { @@ -19233,7 +18611,7 @@ load_win95() w_metadata win98 settings \ title_uk="Поставити версію Windows 98" \ - title="Set windows version to Windows 98" + title="Set Windows version to Windows 98" load_win98() { @@ -19245,7 +18623,7 @@ load_win98() # Really, we should support other values, since winetricks did w_metadata winver= settings \ title_uk="Поставити версію Windows за замовчуванням (winxp)" \ - title="Set windows version to default (winxp)" + title="Set Windows version to default (winxp)" load_winver() { @@ -19256,7 +18634,7 @@ load_winver() w_metadata winxp settings \ title_uk="Поставити версію Windows XP" \ - title="Set windows version to Windows XP" + title="Set Windows version to Windows XP" load_winxp() { @@ -19401,7 +18779,6 @@ for data in \ pngfilt:size_MB=49,time_sec=0 \ puzzleagent_demo:size_MB=495,time_sec=36 \ python26:size_MB=160,time_sec=9 \ - python26_comtypes:size_MB=46,time_sec=1 \ quartz:size_MB=62,time_sec=3 \ quicktime72:size_MB=219,time_sec=9 \ quicktime76:size_MB=237,time_sec=6 \ @@ -19460,7 +18837,7 @@ for data in \ do cmd=${data%%:*} - file="`echo "$WINETRICKS_METADATA"/*/$cmd.vars`" + file="$(echo "$WINETRICKS_METADATA"/*/$cmd.vars)" if test -f "$file" then case $data in @@ -19500,10 +18877,10 @@ winetricks_stats_save() winetricks_stats_init() { - # Load opt-in status if not already set by a commandline option + # Load opt-in status if not already set by a command-line option if test ! "$WINETRICKS_STATS_REPORT" && test -f "$W_CACHE"/track_usage then - WINETRICKS_STATS_REPORT=`cat "$W_CACHE"/track_usage` + WINETRICKS_STATS_REPORT=$(cat "$W_CACHE"/track_usage) fi if test ! "$WINETRICKS_STATS_REPORT" @@ -19512,6 +18889,12 @@ winetricks_stats_init() case $WINETRICKS_GUI in zenity) case $LANG in + de*) + title="Einmalige Frage zur Hilfe an der Winetricks Entwicklung" + question="Möchten Sie die Winetricks Entwicklung unterstützen indem Sie Winetricks Statistiken übermitteln lassen? Sie können die Übermittlung jederzeit mit 'winetricks --optout' ausschalten" + thanks="Danke! Sie bekommen diese Frage nicht mehr gestellt. Sie können die Übermittlung jederzeit mit 'winetricks --optout' wieder ausschalten" + declined="OK, Winetricks wird *keine* Statistiken übermitteln. Sie bekommen diese Frage nicht mehr gestellt." + ;; *) title="One-time question about helping Winetricks development" question="Would you like to help winetricks development by letting winetricks report statistics? You can turn reporting off at any time with the command 'winetricks --optout'" @@ -19538,8 +18921,8 @@ winetricks_stats_init() winetricks_os_description() { ( - case "$OS" in - "Windows_NT") + case "$W_PLATFORM" in + windows_cmd) echo windows ;; *) echo "$WINETRICKS_WINE_VERSION" ;; esac @@ -19555,17 +18938,17 @@ winetricks_stats_report() esac test -f "$WINETRICKS_WORKDIR"/breadcrumbs || return - WINETRICKS_STATS_BREADCRUMBS=`cat "$WINETRICKS_WORKDIR"/breadcrumbs | tr '\012' ' '` + WINETRICKS_STATS_BREADCRUMBS=$(cat "$WINETRICKS_WORKDIR"/breadcrumbs | tr '\012' ' ') echo "You opted in, so reporting '$WINETRICKS_STATS_BREADCRUMBS' to the winetricks maintainer so he knows which winetricks verbs get used and which don't. Use --optout to disable future reports." - report="os=`winetricks_os_description`&winetricks=$WINETRICKS_VERSION&breadcrumbs=$WINETRICKS_STATS_BREADCRUMBS" - report="`echo $report | sed 's/ /%20/g'`" - # Just do a HEAD request with the raw commandline. + report="os=$(winetricks_os_description)&winetricks=$WINETRICKS_VERSION&breadcrumbs=$WINETRICKS_STATS_BREADCRUMBS" + report="$(echo $report | sed 's/ /%20/g')" + # Just do a HEAD request with the raw command line. # Yes, this can be fooled by caches. That's ok. - if [ -x "`which wget 2>/dev/null`" ] + if [ -x "$(which wget 2>/dev/null)" ] then wget --spider "http://kegel.com/data/winetricks-usage?$report" > /dev/null 2>&1 || true - elif [ -x "`which curl 2>/dev/null`" ] + elif [ -x "$(which curl 2>/dev/null)" ] then curl -I "http://kegel.com/data/winetricks-usage?$report" > /dev/null 2>&1 || true fi @@ -19577,8 +18960,8 @@ winetricks_stats_log_command() echo "$*" >> "$WINETRICKS_WORKDIR"/breadcrumbs # and for the user's own reference later, when figuring out what he did - case "$OS" in - "Windows_NT") _W_LOGDIR="$W_WINDIR_UNIX"/Temp ;; + case "$W_PLATFORM" in + windows_cmd) _W_LOGDIR="$W_WINDIR_UNIX"/Temp ;; *) _W_LOGDIR="$WINEPREFIX" ;; esac mkdir -p "$_W_LOGDIR" @@ -19586,8 +18969,8 @@ winetricks_stats_log_command() unset _W_LOGDIR } -# Launch a new terminal window if in gui, or -# spawn a shell in the current window if commandline. +# Launch a new terminal window if in GUI, or +# spawn a shell in the current window if command line. # New shell contains proper WINEPREFIX and WINE environment variables. # May be useful when debugging verbs. winetricks_shell() @@ -19603,7 +18986,7 @@ winetricks_shell() *) for term in gnome-terminal konsole Terminal xterm do - if test `which $term` 2> /dev/null + if test $(which $term) 2> /dev/null then $term break @@ -19618,7 +19001,7 @@ winetricks_shell() execute_command() { case "$1" in - *=*) arg=`echo $1 | sed 's/.*=//'`; cmd=`echo $1 | sed 's/=.*//'`;; + *=*) arg=$(echo $1 | sed 's/.*=//'); cmd=$(echo $1 | sed 's/=.*//');; *) cmd="$1"; arg="" ;; esac @@ -19640,7 +19023,7 @@ execute_command() # Hard-coded verbs main) WINETRICKS_CURMENU=main ;; - help) w_open_webpage http://winetricks.org/help ;; + help) w_open_webpage https://code.google.com/archive/p/winetricks/wikis ;; list) winetricks_list_all ;; list-cached) winetricks_list_cached ;; list-download) winetricks_list_download ;; @@ -19668,7 +19051,7 @@ execute_command() uninstaller) "$WINE" uninstaller ;; shell) winetricks_shell ;; - # These have to come before *=disabled to avoid looking like dlls + # These have to come before *=disabled to avoid looking like DLLs fontsmooth=disable*) w_call fontsmooth=disable ;; glsl=disable*) w_call glsl=disabled ;; multisampling=disable*) w_call multisampling=disabled ;; @@ -19678,7 +19061,7 @@ execute_command() ao=disable*) w_call ao=disabled ;; strictdrawordering=disable*) w_call strictdrawordering=disabled ;; - # Use winecfg if you want a gui for plain old dll overrides + # Use winecfg if you want a GUI for plain old DLL overrides alldlls=*) w_call $1 ;; *=native) w_do_call native $cmd;; *=builtin) w_do_call builtin $cmd;; @@ -19704,7 +19087,6 @@ execute_command() npm-repack) w_call npm=repack ;; oss) w_call sound=oss ;; python) w_call python26 ;; - python-comtypes) w_call python26_comtypes ;; vbrun60) w_call vb6run ;; vcrun2005sp1) w_call vcrun2005 ;; vcrun2008sp1) w_call vcrun2008 ;; @@ -19730,7 +19112,7 @@ then # If user opted out, save that preference now. winetricks_stats_save - # If user specifies menu on commandline, execute that command, but don't commit to commandline mode + # If user specifies menu on command line, execute that command, but don't commit to command-line mode # FIXME: this code is duplicated several times; unify it if echo "$WINETRICKS_CATEGORIES" | grep -w "$1" > /dev/null then @@ -19742,7 +19124,7 @@ then die) w_die "we who are about to die salute you." ;; volnameof=*) # Debug code. Remove later? - # Since linux's volname command can't handle dvds, winetricks has its own, + # Since Linux's volname command can't handle DVDs, winetricks has its own, # implemented using dd, old gum, and some string I had laying around. # You can try it like this: # winetricks volnameof=/dev/sr0 @@ -19765,17 +19147,17 @@ then while true do case $WINETRICKS_CURMENU in - main) verbs=`winetricks_mainmenu` ;; + main) verbs=$(winetricks_mainmenu) ;; prefix) - verbs=`winetricks_prefixmenu`; + verbs=$(winetricks_prefixmenu); # Cheezy hack: choosing 'attended' or 'unattended' leaves you in same menu case "$verbs" in attended) winetricks_set_unattended 0 ; continue;; unattended) winetricks_set_unattended 1 ; continue;; esac ;; - settings) verbs=`winetricks_settings_menu` ;; - *) verbs="`winetricks_showmenu`" ;; + settings) verbs=$(winetricks_settings_menu) ;; + *) verbs="$(winetricks_showmenu)" ;; esac if test "$verbs" = "" @@ -19821,9 +19203,9 @@ then ;; *) winetricks_stats_init - # Commandline case + # Command-line case winetricks_detect_sudo - # User gave commandline arguments, so just run those verbs and exit + # User gave command-line arguments, so just run those verbs and exit for verb do case $verb in @@ -19834,7 +19216,7 @@ then *) . ./$verb ;; esac # And forget that the verb comes from a file - verb="`echo $verb | sed 's,.*/,,;s,.verb,,'`" + verb="$(echo $verb | sed 's,.*/,,;s,.verb,,')" ;; esac execute_command "$verb" @@ -19845,3 +19227,5 @@ then winetricks_stats_report fi + +# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4