diff -Nru winetricks-0.0+20110629/debian/changelog winetricks-0.0+20120308~ppa1/debian/changelog --- winetricks-0.0+20110629/debian/changelog 2011-09-04 17:31:07.000000000 +0000 +++ winetricks-0.0+20120308~ppa1/debian/changelog 2012-03-13 13:49:08.000000000 +0000 @@ -1,32 +1,30 @@ -winetricks (0.0+20110629-0~lucid1) lucid; urgency=low +winetricks (0.0+20120308~ppa1) precise; urgency=low - * Port package + * Port to PPA - -- falkTX Sun, 04 Sep 2011 18:30:49 +0100 + -- Scott Ritchie Tue, 13 Mar 2012 06:48:44 -0700 -winetricks (0.0+20110629~ppa1) natty; urgency=low +winetricks (0.0+20120308) precise; urgency=low - * New upstream release - - -- Scott Ritchie Thu, 30 Jun 2011 22:09:27 -0700 - -winetricks (0.0+20110628~ppa1) natty; urgency=low + * New upstream release (LP: #707985, #887547, #952140) - * New upstream release - - -- Scott Ritchie Wed, 29 Jun 2011 16:44:42 -0700 + -- Scott Ritchie Tue, 13 Mar 2012 05:22:48 -0700 -winetricks (0.0+20110429~ppa1) maverick; urgency=low +winetricks (0.0+20111115) precise; urgency=low * New upstream release + * Recommend wine1.4 before other wines - -- Scott Ritchie Tue, 03 May 2011 01:11:01 -0700 + -- Scott Ritchie Thu, 08 Mar 2012 02:07:29 -0800 -winetricks (0.0+20110417~ppa1) maverick; urgency=low +winetricks (0.0+20110629) oneiric; urgency=low - * New upstream release + * New upstream minor release (LP: #861944) + - Matches newer wine1.3 version + - Mostly update built-in download links + * Recommend wine1.3 before wine1.2 - -- Scott Ritchie Tue, 19 Apr 2011 03:46:02 -0700 + -- Scott Ritchie Wed, 28 Sep 2011 17:16:01 -0700 winetricks (0.0+20110402) natty; urgency=low diff -Nru winetricks-0.0+20110629/debian/control winetricks-0.0+20120308~ppa1/debian/control --- winetricks-0.0+20110629/debian/control 2011-04-03 17:18:22.000000000 +0000 +++ winetricks-0.0+20120308~ppa1/debian/control 2012-03-08 10:14:18.000000000 +0000 @@ -3,13 +3,13 @@ Priority: optional Maintainer: Scott Ritchie Build-Depends: debhelper (>= 7.0.50~) -Standards-Version: 3.9.1 +Standards-Version: 3.9.2 Package: winetricks Architecture: i386 amd64 Pre-Depends: dpkg (>= 1.14.12ubuntu3) Depends: ${misc:Depends}, ${shlibs:Depends}, cabextract, sudo, unzip, x11-utils | zenity | kdebase-bin -Recommends: wine1.2 | wine1.3 | cxoffice5 | cxgames5, unrar +Recommends: wine1.4 | wine | cxoffice5 | cxgames5, unrar Replaces: wisotool Breaks: wisotool (<< 0.0+20110402) Provides: wisotool diff -Nru winetricks-0.0+20110629/winetricks winetricks-0.0+20120308~ppa1/winetricks --- winetricks-0.0+20110629/winetricks 2011-06-30 05:10:03.000000000 +0000 +++ winetricks-0.0+20120308~ppa1/winetricks 2012-03-09 00:59:12.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # Name of this version of winetricks (YYYYMMDD) -WINETRICKS_VERSION=20110629 +WINETRICKS_VERSION=20120308 # This is a utf-8 file # You should see an o with two dots over it here [ö] @@ -22,7 +22,7 @@ # Uses the following non-Posix system tools: # - wine is used to execute win32 apps except on cygwin. # - cabextract, unzip, and 7z are needed by some verbs. -# - wget or curl is needed for downloading. +# - axel, wget, or curl is needed for downloading. # - sha1sum or openssl is needed for verifying downloads. # - zenity is needed by the GUI, though it can limp along somewhat with kdialog. # - xdg-open (if present) is used to open download pages for the @@ -40,8 +40,8 @@ #-------------------------------------------------------------------- # # Copyright -# Copyright (C) 2007-2011 Dan Kegel -# Copyright (C) 2008-2011 Austin English +# Copyright (C) 2007-2012 Dan Kegel +# Copyright (C) 2008-2012 Austin English # Copyright (C) 2010-2011 Phil Blankenship # Copyright (C) 2010-2011 Shannon VanWagner # Copyright (C) 2010 Belhorma Bendebiche @@ -58,6 +58,7 @@ # Copyright (C) 2011 Matthew Bauer # Copyright (C) 2011 Giuseppe Dia # Copyright (C) 2011 Łukasz Wojniłowicz +# Copyright (C) 2011 Matthew Bozarth # # License # This program is free software; you can redistribute it and/or @@ -80,7 +81,7 @@ # - No bash, zsh, or csh extensions; only use features from # the Posix standard shell and utilities; see # http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html -# - 'checkbashism -p -x winetricks' should show no warnings (per Debian policy) +# - 'checkbashisms -p -x winetricks' should show no warnings (per Debian policy) # - Prefer classic sh idioms as described in e.g. # "Portable Shell Programming" by Bruce Blinn, ISBN: 0-13-451494-7 # - If there is no universally available program for a needed function, @@ -306,6 +307,17 @@ w_try unzip -o -q "$@" } +w_try_7z() +{ + # Not always installed, but shouldn't be fatal unless it's being used + if test ! -x "`which 7z 2>/dev/null`" + then + w_die "Cannot find 7z. Please install it (e.g. 'sudo apt-get install p7zip-full' or 'sudo yum install p7zip p7zip-plugins')." + fi + + w_try 7z "$@" +} + w_read_key() { if test ! "$W_OPT_UNATTENDED" @@ -540,7 +552,11 @@ *) _W_agent= ;; esac - if [ -x "`which wget 2>/dev/null`" ] + if [ -x "`which axel 2>/dev/null`" ] + then + # Basic axel support. + axel -o "$_W_file" "$_W_url" + elif [ -x "`which wget 2>/dev/null`" ] then # Use -nd to insulate ourselves from people who set -x in WGETRC # [*] --retry-connrefused works around the broken sf.net mirroring @@ -573,10 +589,10 @@ w_die "Downloading $_W_url failed" fi # Need to decompress .exe's that are compressed, else cygwin fails - # Only affects cygwin, so don't barf if 'file' not installed + # Also affects ttf files on github _W_filetype=`which file 2>/dev/null` case $_W_filetype-$_W_file in - /*-*.exe) + /*-*.exe|/*-*.ttf) case `file "$_W_file"` in *gzip*) mv "$_W_file" "$_W_file.gz"; gunzip < "$_W_file.gz" > "$_W_file";; esac @@ -735,7 +751,7 @@ # Run from inside c:\Program Files\Steam w_steam_safemode() { - cat > "$W_CACHE/steamconfig.pl" <<"_EOF_" + cat > "$W_TMP/steamconfig.pl" <<"_EOF_" #!/usr/bin/perl # Parse steam's localconfig.vcf, add settings to it, and write it out again # The file is a recursive dictionary @@ -791,7 +807,7 @@ # Disable anything unsafe or annoying sub disable_notifications{ my( $pcontainer ) = @_; - ${$pcontainer}{"friends"}{"PersonaStateDesired"} = "1"; + ${$pcontainer}{"friends"}{"PersonaStateDesired"} = "1"; ${$pcontainer}{"friends"}{"Notifications_ShowIngame"} = "0"; ${$pcontainer}{"friends"}{"Sounds_PlayIngame"} = "0"; ${$pcontainer}{"friends"}{"Notifications_ShowOnline"} = "0"; @@ -824,7 +840,7 @@ for file in userdata/*/config/localconfig.vdf do cp "$file" "$file.old" - perl "$W_CACHE"/steamconfig.pl "$file.old" > "$file" + perl "$W_TMP"/steamconfig.pl "$file.old" > "$file" done } @@ -898,19 +914,31 @@ SetWinDelay 500 ; Run steam once until it finishes its initial update. ; For me, this exits at 26%. - run, Steam.exe - winwait, Steam - Updating - winwaitclose, Steam - process close, Steam.exe - ; Run a second time; let it finish updating, then kill it. - run steam.exe - winwait Steam - Updating - winwaitclose - process close, Steam.exe - ; Run a third time, have it log in, wait until it has finished connecting run steam.exe -applaunch $_W_steamid -login $W_STEAM_ID $W_STEAM_PASSWORD - winwait Steam ; wait for login window + Loop + { + ifWinExist, Steam - Updating + { + winwaitclose, Steam + process close, Steam.exe + sleep 1000 + ; Run a second time; let it finish updating, then kill it. + run steam.exe + winwait Steam - Updating + winwaitclose + process close, Steam.exe + ; Run a third time, have it log in, wait until it has finished connecting + run steam.exe -applaunch $_W_steamid -login $W_STEAM_ID $W_STEAM_PASSWORD + } + ifWinExist, Steam Login + { + break + } + sleep 500 + } + ; wait for login window to close winwaitclose + winwait Steam ; wait for small <> window winwaitclose " @@ -1076,15 +1104,16 @@ 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_download_manual "https://www.gog.com/en/download/game/$download_id/$file_id" "$file" check_sha1=1 filesize=`stat -Lc%s "$file_path"` - if test $minsize -gt 1 -a $filesize -ne $minsize + if test $minsize -gt 1 && test $filesize -ne $minsize then check_sha1="" w_warn "Expected file size $minsize, please report new size $filesize." fi - if test "$check_sha1" != "" -a "$sha1sum"x != ""x + if test "$check_sha1" != "" && test "$sha1sum"x != ""x then w_verify_sha1sum "$sha1sum" "$file_path" fi @@ -1413,6 +1442,22 @@ w_try_regedit "$W_TMP_WIN"\\set-winver.reg return ;; + win95) + # This key is only used for win 95/98: + + echo "Setting Windows version to $1" + cat > "$W_TMP"/set-winver.reg <<_EOF_ +REGEDIT4 + +[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion] +"ProductName"="Microsoft Windows 95" +"SubVersionNumber"="" +"VersionNumber"="4.0.950" + +_EOF_ + w_try_regedit "$W_TMP_WIN"\\set-winver.reg + return + ;; win98) # This key is only used for win 95/98: @@ -1421,6 +1466,7 @@ REGEDIT4 [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion] +"ProductName"="Microsoft Windows 98" "SubVersionNumber"=" A " "VersionNumber"="4.10.2222" @@ -1540,6 +1586,9 @@ 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.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/.*\.//'`;; *) w_die "bug: unrecognized version $2";; esac @@ -1952,6 +2001,13 @@ 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`" + then + WINETRICKS_SUDO=gksu + elif test -x "`which kdesu 2>/dev/null`" + then + WINETRICKS_SUDO=kdesu fi fi } @@ -2025,10 +2081,10 @@ _W_msg_name="$p" fi printf %s " FALSE prefix='$p' 'Select $_W_msg_name' " - done >> $WINETRICKS_WORKDIR/zenity.sh + done >> "$WINETRICKS_WORKDIR"/zenity.sh fi - printf %s " FALSE $_W_cmd_unattended '$_W_msg_unattended'" >> $WINETRICKS_WORKDIR/zenity.sh - printf %s " FALSE $_W_cmd_showbroken '$_W_msg_showbroken'" >> $WINETRICKS_WORKDIR/zenity.sh + printf %s " FALSE $_W_cmd_unattended '$_W_msg_unattended'" >> "$WINETRICKS_WORKDIR"/zenity.sh + printf %s " FALSE $_W_cmd_showbroken '$_W_msg_showbroken'" >> "$WINETRICKS_WORKDIR"/zenity.sh sh "$WINETRICKS_WORKDIR"/zenity.sh | tr '|' ' ' ;; @@ -2234,16 +2290,16 @@ for metadatafile in "$WINETRICKS_METADATA"/$WINETRICKS_CURMENU/*.vars do - code=`winetricks_metadata_basename $metadatafile` + code=`winetricks_metadata_basename "$metadatafile"` ( title='?' author='?' - . $metadatafile + . "$metadatafile" printf "%s %s %s %s" " " FALSE \ $code \ "\"$title\"" ) - done >> $WINETRICKS_WORKDIR/zenity.sh + done >> "$WINETRICKS_WORKDIR"/zenity.sh sh "$WINETRICKS_WORKDIR"/zenity.sh | tr '|' ' ' ;; @@ -2360,14 +2416,14 @@ ;; esac > "$WINETRICKS_WORKDIR"/zenity.sh - > $WINETRICKS_WORKDIR/installed.txt + > "$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='?' - . $metadatafile + . "$metadatafile" if test "$W_OPT_SHOWBROKEN" = 1 || test "$wine_showstoppers" = "" then # Compute cached and downloadable flags @@ -2377,7 +2433,7 @@ if winetricks_is_installed $code then installed=TRUE - echo $code >> $WINETRICKS_WORKDIR/installed.txt + echo $code >> "$WINETRICKS_WORKDIR"/installed.txt fi printf %s " $installed \ $code \ @@ -2391,7 +2447,7 @@ " fi ) - done >> $WINETRICKS_WORKDIR/zenity.sh + done >> "$WINETRICKS_WORKDIR"/zenity.sh # Filter out any verb that's already installed sh "$WINETRICKS_WORKDIR"/zenity.sh | @@ -2511,8 +2567,8 @@ # 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` - . $_W_metadatafile + code=`winetricks_metadata_basename "$_W_metadatafile"` + . "$_W_metadatafile" if winetricks_is_cached $code then echo $code @@ -2547,8 +2603,8 @@ # 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` - . $_W_metadatafile + code=`winetricks_metadata_basename "$_W_metadatafile"` + . "$_W_metadatafile" if winetricks_is_installed $code then echo $code @@ -2590,8 +2646,8 @@ # 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` - . $_W_metadatafile + code=`winetricks_metadata_basename "$_W_metadatafile"` + . "$_W_metadatafile" # Compute cached and downloadable flags flags="" @@ -2831,7 +2887,7 @@ # Use conv=noerror,sync to replace unreadable blocks with zeroes case $WINETRICKS_OPT_DD in dd) - dd if=$WINETRICKS_DEV of="$W_CACHE"/temp.iso bs=2048 conv=noerror,sync & + $WINETRICKS_OPT_DD if=$WINETRICKS_DEV of="$W_CACHE"/temp.iso bs=2048 conv=noerror,sync & WINETRICKS_DD_PID=$! ;; ddrescue) @@ -2839,11 +2895,11 @@ then w_die "Please install ddrescue first." fi - ddrescue -v -b 2048 $WINETRICKS_DEV "$W_CACHE"/temp.iso & + $WINETRICKS_OPT_DD -v -b 2048 $WINETRICKS_DEV "$W_CACHE"/temp.iso & WINETRICKS_DD_PID=$! ;; esac - echo $WINETRICKS_DD_PID > $WINETRICKS_WORKDIR/dd-pid + echo $WINETRICKS_DD_PID > "$WINETRICKS_WORKDIR"/dd-pid # Note: if user presses ^C, winetricks_cleanup will call winetricks_iso_cleanup # FIXME: add progress bar for kde, too @@ -2863,7 +2919,7 @@ done | $WINETRICKS_GUI --title "Copying to $_W_expected_volname.iso" --progress --pulsate --auto-kill ;; esac - rm $WINETRICKS_WORKDIR/dd-pid + rm "$WINETRICKS_WORKDIR"/dd-pid mv "$W_CACHE"/temp.iso "$WINETRICKS_IMG" @@ -2994,7 +3050,7 @@ # If that fails, read volume name the hard way for each volume # Have to use file to return results from implicit subshell - rm -f /tmp/_W_tmp.$LOGNAME + rm -f "/tmp/_W_tmp.$USERNAME" winetricks_list_mounts . | while true do IFS= read _W_tmp @@ -3006,17 +3062,17 @@ if test "$1" = "$_W_volname" then # Volume found! Want to return from function here, but can't - echo "$_W_tmp" > /tmp/_W_tmp.$LOGNAME + echo "$_W_tmp" > "/tmp/_W_tmp.$USERNAME" break fi done - if test -f /tmp/_W_tmp.$LOGNAME + if test -f "/tmp/_W_tmp.$USERNAME" then # Volume found! Return from function. - _W_dev=`cat /tmp/_W_tmp.$LOGNAME | sed 's/ .*//'` - _W_mountpoint="`cat /tmp/_W_tmp.$LOGNAME | sed 's/^[^ ]* //'`" - rm -f /tmp/_W_tmp.$LOGNAME + _W_dev=`cat "/tmp/_W_tmp.$USERNAME" | sed 's/ .*//'` + _W_mountpoint="`cat "/tmp/_W_tmp.$USERNAME" | sed 's/^[^ ]* //'`" + rm -f "/tmp/_W_tmp.$USERNAME" return 0 fi @@ -3067,20 +3123,13 @@ winetricks_cleanup() { - test "$WINETRICKS_CACHE_SYMLINK" && rm -f "$WINETRICKS_CACHE_SYMLINK" - test "$W_OPT_NOCLEAN" = 1 || rm -rf "$WINETRICKS_WORKDIR" -} - -winetricks_kill_handler() -{ - #echo "Caught signal, cleaning up." + set +e if test -f "$WINETRICKS_WORKDIR/dd-pid" then kill `cat "$WINETRICKS_WORKDIR/dd-pid"` fi - winetricks_cleanup - #echo "Done cleanup, quitting." - exit + test "$WINETRICKS_CACHE_SYMLINK" && rm -f "$WINETRICKS_CACHE_SYMLINK" + test "$W_OPT_NOCLEAN" = 1 || rm -rf "$WINETRICKS_WORKDIR" } winetricks_set_unattended() @@ -3258,8 +3307,17 @@ { #---- Private Variables ---- + if ! test "$USERNAME" + then + # Posix only requires LOGNAME to be defined, and sure enough, when + # logging in via console and startx in ubuntu, USERNAME is not set! + # I tried using only LOGNAME in this script, but it's so easy to slip + # and use USERNAME, so define it here if needed. + USERNAME="$LOGNAME" + fi + # Ephemeral files for this run - WINETRICKS_WORKDIR=/tmp/w.$LOGNAME.$$ + WINETRICKS_WORKDIR="/tmp/w.$USERNAME.$$" test "$W_OPT_NOCLEAN" = 1 || rm -rf "$WINETRICKS_WORKDIR" # Registering a verb creates a file in WINETRICKS_METADATA @@ -3276,7 +3334,7 @@ WINETRICKS_CURMENU=prefix # Delete work directory after each run, on exit either graceful or abrupt - trap winetricks_kill_handler EXIT HUP INT QUIT ABRT + trap winetricks_cleanup EXIT HUP INT QUIT ABRT # Whether to always cache cached iso's (1) or only use cache if present (0) # Can be inherited from environment or set via -k, defaults to off @@ -3307,15 +3365,6 @@ *) WINETRICKS_SOURCEFORGE=http://downloads.sourceforge.net;; esac - if ! test "$USERNAME" - then - # Posix only requires LOGNAME to be defined, and sure enough, when - # logging in via console and startx in ubuntu, USERNAME is not set! - # I tried using only LOGNAME in this script, but it's so easy to slip - # and use USERNAME, so define it here if needed. - USERNAME="$LOGNAME" - fi - #---- Public Variables ---- # Where application installers are cached @@ -3344,16 +3393,45 @@ case "$OS" in "Windows_NT") WINE="" + WINESERVER="" W_DRIVE_C="C:/" ;; *) WINE="${WINE:-wine}" + if test -x "${WINE}server" + then + WINESERVER="${WINE}server" + elif test -x "`dirname $WINE`/server/wineserver" + then + WINESERVER="`dirname $WINE`/server/wineserver" + elif test -x "`which wineserver`" + then + WINESERVER="`which wineserver`" + else + w_die "wineserver not found!" + fi + if test "$WINEPREFIX" then WINETRICKS_ORIGINAL_WINEPREFIX="$WINEPREFIX" + #if test WINETRICKS_OPT_SHAREDPREFIX=0 + #then + # w_info "To install apps into $WINEPREFIX, give the --no-isolate option" + #fi else WINETRICKS_ORIGINAL_WINEPREFIX="$HOME/.wine" fi + _abswine="`which $WINE 2>/dev/null`" + if ! test -x "$_abswine" || ! test -f "$_abswine" + then + w_die "WINE is $WINE, which is neither on the path nor an executable file" + fi + case "$WINETRICKS_OPT_VERBOSE" in + "1") echo -n "Wine is '$WINE'; Wine version is " + $WINE --version || w_die "Can't get wine version" + ;; + esac + unset _abswine ;; esac winetricks_set_wineprefix @@ -3368,8 +3446,13 @@ # Overridden for windows W_ISO_MOUNT_ROOT=/mnt/winetricks W_ISO_MOUNT_LETTER=i - + WINETRICKS_WINE_VERSION=`winetricks_early_wine --version | sed 's/.*wine/wine/'` + # A small hack... + case "$WINETRICKS_WINE_VERSION" in + wine-1.4-rc*) WINETRICKS_WINE_VERSION="wine-1.3.38"; export WINETRICKS_WINE_VERSION;; + wine-1.4) WINETRICKS_WINE_VERSION="wine-1.4.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/'` } @@ -3459,7 +3542,7 @@ -r|--ddrescue) WINETRICKS_OPT_DD=ddrescue ;; -k|--keep_isos) WINETRICKS_OPT_KEEPISOS=1 ;; -q|--unattended) winetricks_set_unattended 1 ;; - -v|--verbose) set -x ;; + -v|--verbose) WINETRICKS_OPT_VERBOSE=1; set -x ;; -V|--version) winetricks_print_version ; exit 0;; -h|--help) winetricks_usage ; exit 0 ;; --isolate) WINETRICKS_OPT_SHAREDPREFIX=0 ;; @@ -3557,7 +3640,7 @@ #---------------------------------------------------------------- w_metadata adobeair dlls \ - title="Adobe AIR 2.6" \ + title="Adobe AIR 2.7" \ publisher="Adobe" \ year="2011" \ media="download" \ @@ -3572,7 +3655,8 @@ # 2010-07-29: 2.0.2 sha1sum 7b93aedaf48ad7854940e7a4e7d9394a255e888b # 2010-12-08: 2.5.1 sha1sum 2664207ca8e836f5070ee356064829a39785a92e # 2011-04-13: 2.6 sha1sum 3d9c2f9d8f3533424cfea84d61fcb9464278d9fc - w_download http://airdownload.adobe.com/air/win/download/2.6/AdobeAIRInstaller.exe 3d9c2f9d8f3533424cfea84d61fcb9464278d9fc + # 2011-10-26: 2.7 sha1sum dfa337d4b53e9d924356febc116450190fa183dd + w_download http://airdownload.adobe.com/air/win/download/2.7/AdobeAIRInstaller.exe dfa337d4b53e9d924356febc116450190fa183dd cd "$W_CACHE"/adobeair w_try $WINE AdobeAIRInstaller.exe $W_UNATTENDED_DASH_SILENT } @@ -3640,6 +3724,27 @@ #---------------------------------------------------------------- +w_metadata cmd dlls \ + title="MS cmd.exe" \ + publisher="Microsoft" \ + year="2000" \ + media="download" \ + file1="Q259622_W2K_SP1_x86_en.EXE" \ + installed_file1="$W_SYSTEM32_DLLS_WIN/cmd.exe" + +load_cmd() +{ + # http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=7541 + w_download http://download.microsoft.com/download/win2000platform/Patch/Q259622/NT5/EN-US/Q259622_W2K_SP1_x86_en.EXE ab545df50287c26aea7705039cf00471bfeb043c + + w_try_cabextract --directory="$W_TMP" "$W_CACHE"/cmd/$file1 + w_try cp "$W_TMP"/cmd.exe "$W_SYSTEM32_DLLS"/cmd.exe + + w_override_dlls native,builtin cmd.exe +} + +#---------------------------------------------------------------- + w_metadata comctl32 dlls \ title="MS common controls 5.80" \ publisher="Microsoft" \ @@ -4284,14 +4389,13 @@ # Hans' workaround to avoid winehq nonbug 26464, crash in servicemodelreg.exe rm -rf "$W_WINDIR_UNIX"/Microsoft.NET/Framework/v2.0.50727 + # Delete registry keys used to indicate .net 2.x's presence + # Breaks .net 3.5 install, leave it out until we figure that out + #$WINE reg delete "HKLM\\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727" + # http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5 w_download http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe a3625c59d7a2995fb60877b5f5324892a1693b2a - if [ "$W_UNATTENDED_SLASH_Q"x = ""x ] - then - w_try $WINE dotnetfx.exe - else - w_try $WINE dotnetfx.exe /q /c:"install.exe /q" - fi + 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 @@ -4305,6 +4409,64 @@ #---------------------------------------------------------------- +w_metadata dotnet20sp1 dlls \ + title="MS .NET 2.0 SP1 (experimental)" \ + publisher="Microsoft" \ + year="2008" \ + media="download" \ + file1="NetFx20SP1_x86.exe" \ + installed_file1="c:/windows/assembly/NativeImages_v2.0.50727_32/indexb.dat" + +load_dotnet20sp1() +{ + if w_workaround_wine_bug 16956 "wine version too old" 1.3.22, + then + w_die "wine-1.3.22 or later required to install dotnet20sp1 properly" + fi + + w_call dotnet20 + + WINEDLLOVERRIDES= + if w_workaround_wine_bug 16956 "Setting windows version so installer works" + then + # 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=ngen.exe,regsvcs.exe,mscorsvw.exe=b + export WINEDLLOVERRIDES + fi + + # 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 + + w_download http://download.microsoft.com/download/0/8/c/08c19fa4-4c4f-4ffb-9d6c-150906578c9e/NetFx20SP1_x86.exe eef5a36924cdf0c02598ccf96aa4f60887a49840 + cd "$W_CACHE"/dotnet20sp1 + $WINE NetFx20SP1_x86.exe ${W_OPT_UNATTENDED:+/q} + 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 + + # 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. + # See also http://bugs.winehq.org/show_bug.cgi?id=16577 + # This affects Victoria 2 demo, see http://forum.paradoxplaza.com/forum/showthread.php?p=11523967 + rm -f "$W_SYSTEM32_DLLS"/msvc?80.dll + + w_unset_winver +} + +#---------------------------------------------------------------- + w_metadata dotnet20sp2 dlls \ title="MS .NET 2.0 SP2 (experimental)" \ publisher="Microsoft" \ @@ -4327,16 +4489,28 @@ 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 # http://www.microsoft.com/downloads/details.aspx?familyid=5B2C0358-915B-4EB5-9B1D-10E506DA9D0F w_download http://download.microsoft.com/download/c/6/e/c6e88215-0178-4c6c-b5f3-158ff77b1f38/NetFx20SP2_x86.exe 22d776d4d204863105a5db99e8b8888be23c61a7 - w_try $WINE "$W_CACHE"/dotnet20sp2/NetFx20SP2_x86.exe - # FIXME: add ${W_OPT_UNATTENDED:+ /q /c:"install.exe /q"} - # once we fix the exit status 67, or if that turns out to be harmless. + cd "$W_CACHE"/dotnet20sp2 + $WINE NetFx20SP2_x86.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_unset_winver } @@ -4364,6 +4538,11 @@ w_call dotnet20 + # Delete files and registry keys related to .net 3.x + # Breaks .net 3.5 installation, so don't do this yet + #rm -rf "$W_WINDIR_UNIX"/Microsoft.NET/Framework/v3.0 + #$WINE reg delete "HKLM\\Software\Microsoft\NET Framework Setup\NDP\v3.0" + w_warn "Installing .net 3.0 runtime takes 3 minutes on a very fast machine, and the Finished dialog may hide in the taskbar." # http://msdn.microsoft.com/en-us/netframework/bb264589.aspx w_download http://download.microsoft.com/download/3/F/0/3F0A922C-F239-4B9B-9CB0-DF53621C57D9/dotnetfx3.exe f3d2c3c7e4c0c35450cf6dab1f9f2e9e7ff50039 @@ -4379,13 +4558,46 @@ 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. + $WINE sc delete "FontCache3.0.0.0" cd "$W_CACHE"/dotnet30 - if [ "$W_UNATTENDED_SLASH_Q"x = ""x ] - then - w_try $WINE dotnetfx3.exe - else - w_try $WINE dotnetfx3.exe /q /c:"install.exe /q" - fi + w_try $WINE $file1 ${W_OPT_UNATTENDED:+ /q /c:"install.exe /q"} +} + +#---------------------------------------------------------------- + +w_metadata dotnet30sp1 dlls \ + title="MS .NET 3.0 SP1" \ + publisher="Microsoft" \ + year="2007" \ + media="download" \ + file1="NetFx30SP1_x86.exe" \ + installed_file1="c:/windows/system32/XpsFilt.dll" # we're cheating a bit here + +load_dotnet30sp1() +{ + case "$OS" in + "Windows_NT") ;; + *) w_warn "dotnet30sp1 does not yet fully work or install on wine. Caveat emptor." ;; + esac + + w_call dotnet30 + + w_download http://download.microsoft.com/download/8/F/E/8FEEE89D-9E4F-4BA3-993E-0FFEA8E21E1B/NetFx30SP1_x86.exe 8d779e337920b097aa0c01859912950606e9fc12 + cd "$W_CACHE/$W_PACKAGE" + + $WINE reg add "HKLM\\Software\\Microsoft\\Net Framework Setup\\NDP\\v3.0" /v Version /t REG_SZ /d "3.0" /f + $WINE reg add "HKLM\\Software\\Microsoft-\\Net Framework Setup\\NDP\\v3.0" /v SP /t REG_DWORD /d 0001 /f + + # Recipe from http://bugs.winehq.org/show_bug.cgi?id=25060#c10 + w_download http://download.microsoft.com/download/2/5/2/2526f55d-32bc-410f-be18-164ba67ae07d/"XPSEP XP and Server 2003 32 bit.msi" 5d332ebd1025e294adafe72030fe33db707b2c82 + w_try $WINE msiexec /i "XPSEP XP and Server 2003 32 bit.msi" # ${W_OPT_UNATTENDED:+/q} broken? + $WINE sc delete FontCache3.0.0.0 + + $WINE $file1 ${W_OPT_UNATTENDED:+/q} + status=$? + w_info $file1 exited with status $status } #---------------------------------------------------------------- @@ -4405,11 +4617,15 @@ *) w_warn "dotnet35 does not yet fully work or install on wine. Caveat emptor." ;; esac - # According to AF's recipe, installing dotnet30 first works around msi bugs - w_call dotnet30 + w_call dotnet20sp1 + $WINESERVER -w + w_call dotnet30sp1 + $WINESERVER -w # http://www.microsoft.com/downloads/details.aspx?FamilyId=333325FD-AE52-4E35-B531-508D977D32A6 - w_download http://download.microsoft.com/download/6/0/f/60fc5854-3cb8-4892-b6db-bd4f42510f28/dotnetfx35.exe + w_download http://download.microsoft.com/download/6/0/f/60fc5854-3cb8-4892-b6db-bd4f42510f28/dotnetfx35.exe 0a271bb44531aadef902829f98dfad66e4a57586 + + $WINE reg delete "HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP\\v3.5" # See also http://blogs.msdn.com/astebner/archive/2008/07/17/8745415.aspx cd "$W_TMP" @@ -4417,25 +4633,68 @@ cd wcu/dotNetFramework $WINE dotNetFx35setup.exe /lang:ENU $W_UNATTENDED_SLASH_Q - # FIXME: Do this only if the above commmand failed (not sure how to detect it... look for some file, I s'pose) - if w_workaround_wine_bug 25060 - then - # Thanks to Louis for this partial recipe - #w_try $WINE reg add 'HKLM\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727' /v SP /t REG_DWORD /d 0001 - cat > "$W_TMP"/sp1.reg <<_EOF_ -REGEDIT4 +} +#---------------------------------------------------------------- -[HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727] -"SP"=dword:00000001 +w_metadata dotnet40 dlls \ + title="MS .NET 4.0" \ + publisher="Microsoft" \ + year="2011" \ + media="manual_download" \ + file1="dotNetFx40_Full_x86_x64.exe" \ + installed_file1="c:/windows/Microsoft.NET/Framework/v4.0.30319/ngen.exe" + +load_dotnet40() +{ + case "$OS" in + "Windows_NT") ;; + *) 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 + + w_download_manual http://www.mediafire.com/?v8rw5h1ra7maod4 gacutil-net40.tar.bz2 d40cc1249ea051338c064aff5ba0f1a5f24b59a5 + + # Remove Mono registry entry: + $WINE reg delete "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4" /f + + case "$OS" in + "Windows_NT") ;; + *) w_warn "The installer will fail after the first try, don't freak out." ;; + esac + + w_try rm "$W_WINDIR_UNIX/system32/mscoree.dll" + + cd "$W_CACHE/$W_PACKAGE" + + $WINE dotNetFx40_Full_x86_x64.exe ${W_OPT_UNATTENDED:+/q /c:"install.exe /q"} || true + + w_override_dlls native mscoree + + $WINE reg add "HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP\\v4\\Full" /v Install /t REG_DWORD /d 0001 /f + $WINE reg add "HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP\\v4\\Full" /v Version /t REG_SZ /d "4.0.30319" /f + + 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" -_EOF_ - w_try $WINE regedit "$W_TMP"/sp1.reg - cd "$W_TMP"/wcu/dotNetFramework/dotNetFX35/x86 - w_try_cabextract netfx35_x86.exe - w_try $WINE msiexec /i vs_setup.msi ADDEPLOY=1 - fi } + #---------------------------------------------------------------- w_metadata dxdiagn dlls \ @@ -4485,10 +4744,10 @@ publisher="Adobe" \ year="2011" \ media="download" \ - file1="install_flash_player.exe" \ - file2="install_flash_player_ax.exe" \ - installed_file1="$W_SYSTEM32_DLLS_WIN/Macromed/Flash/FlashUtil10u_Plugin.exe" \ - installed_file2="$W_SYSTEM32_DLLS_WIN/Macromed/Flash/FlashUtil10u_ActiveX.exe" \ + file1="install_flash_player_10.exe" \ + file2="install_flash_player_10_active_x.exe" \ + installed_file1="$W_SYSTEM32_DLLS_WIN/Macromed/Flash/FlashUtil10zb_Plugin.exe" \ + installed_file2="$W_SYSTEM32_DLLS_WIN/Macromed/Flash/FlashUtil10zb_ActiveX.exe" \ homepage="http://www.adobe.com/products/flashplayer/" load_flash() @@ -4504,10 +4763,14 @@ # 2011-05-13: sha1sum ae401aa3ba54ebe12c2fb3b94cd1bb5881074169 # 2011-06-13: sha1sum 2c1ae9cf04f67ca611af7df695d3ea4337fb73fc # 2011-06-23: sha1sum da3f4b28f77a44b25cfb1453278683b888904714 - w_download http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_ax.exe da3f4b28f77a44b25cfb1453278683b888904714 + # 2011-10-26: sha1sum 964199abcbaa9f42273ed5030d039ead03407b76 + # 2011-11-12: sha1sum 1b84a14b4325a6ae17c590b7c9de749daeca7b6f + # 2012-02-23: sha1sum 3e9a3d8d7e5fef87ad449c93fa72d4799306ff07 + # 2012-03-08: sha1sum ccbf24ab0dfa3635fb12d895eb55c5e888879c5d + w_download http://fpdownload.macromedia.com/get/flashplayer/current/licensing/win/install_flash_player_10_active_x.exe ccbf24ab0dfa3635fb12d895eb55c5e888879c5d cd "$W_CACHE"/flash - w_try $WINE install_flash_player_ax.exe ${W_OPT_UNATTENDED:+ /install} + w_try $WINE install_flash_player_10_active_x.exe ${W_OPT_UNATTENDED:+ /install} # Mozilla / Firefox plugin # 2010-11-04: sha1sum 09f2491c5bec7286155234f4e6e1af70c7cef78f @@ -4519,9 +4782,43 @@ # 3aefb5132f7c326b046e4bc82e41bf399fc7cf5f # 2011-06-13: sha1sum f6248cdda8c5b3d36bb414d67d2373f205e257c7 # 2011-06-23: sha1sum 8c14f60fa625d26698afceb1e234eaae4637389e - w_download http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player.exe 8c14f60fa625d26698afceb1e234eaae4637389e + # 2011-10-26: sha1sum a04d5ecc27dbc439d9ca0c994ac7db39a0d3d081 + # 2011-11-12: sha1sum 2e834f95880fd0b96a9db93ff48f1e4178ee0913 + # 2012-02-23: sha1sum 49ee6230f2ba47bcb5f978cf7a97721fb0f3db78 + # 2012-03-08: sha1sum aeddca4eddb0ad91c1b8bc32f8c543069b519325 + w_download http://fpdownload.macromedia.com/get/flashplayer/current/licensing/win/install_flash_player_10.exe aeddca4eddb0ad91c1b8bc32f8c543069b519325 + + w_try $WINE install_flash_player_10.exe ${W_OPT_UNATTENDED:+ /install} +} - w_try $WINE install_flash_player.exe ${W_OPT_UNATTENDED:+ /install} +#---------------------------------------------------------------- + +# FIXME: update winetricks_is_installed to look at installed_file2 +w_metadata flash11 dlls \ + title="Flash Player 11" \ + publisher="Adobe" \ + year="2011" \ + media="download" \ + file1="install_flash_player_32bit.exe" \ + file2="install_flash_player_ax_32bit.exe" \ + installed_file1="$W_SYSTEM32_DLLS_WIN/Macromed/Flash/FlashUtil11e_Plugin.exe" \ + installed_file2="$W_SYSTEM32_DLLS_WIN/Macromed/Flash/FlashUtil11e_ActiveX.exe" \ + homepage="http://www.adobe.com/products/flashplayer/" + +load_flash11() +{ + # Active X plugin + # 2011-11-12: sha1sum 8314061c4d73c9957dfb4da525d77437ee6abf0e + w_download http://fpdownload.macromedia.com/get/flashplayer/pdc/11.1.102.55/install_flash_player_ax_32bit.exe 8314061c4d73c9957dfb4da525d77437ee6abf0e + cd "$W_CACHE"/flash11 + + w_try $WINE install_flash_player_ax_32bit.exe ${W_OPT_UNATTENDED:+ /install} + + # Mozilla / Firefox plugin + # 2011-11-12: sha1sum f1f76c35564c9f842a7e005d97f5008173466d46 + w_download http://fpdownload.macromedia.com/get/flashplayer/pdc/11.1.102.55/install_flash_player_32bit.exe f1f76c35564c9f842a7e005d97f5008173466d46 + + w_try $WINE install_flash_player_32bit.exe ${W_OPT_UNATTENDED:+ /install} } #---------------------------------------------------------------- @@ -4821,10 +5118,12 @@ year="2003" \ media="download" \ file1="jet40sp8_9xnt.exe" \ - installed_file1="$W_COMMONFILES_X86_WIN/Microsoft shared/dao/dao360.dll" + installed_file1="$W_COMMONFILES_X86_WIN/Microsoft Shared/dao/dao360.dll" load_jet40() { + w_call mdac27 + w_call wsh57 # http://support.microsoft.com/kb/239114 # See also http://bugs.winehq.org/show_bug.cgi?id=6085 # FIXME: "failed with error 2" @@ -4865,16 +5164,15 @@ year="2011" \ media="download" \ file1="KindleForPC-installer.exe" \ - installed_exe1="$W_PROGRAMS_WIN/Amazon/Kindle For PC/Kindle.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/32337/KindleForPC-installer.exe \ - 2ad916877f418ceb8bdc4ae13b0c5e9099ffb8d7 + w_download http://kindleforpc.amazon.com/36154/KindleForPC-installer.exe aca576086de7abd1d82c211dbeeb810387e046f5 cd "$W_CACHE"/kindle w_try $WINE $file1 ${W_OPT_UNATTENDED:+ /S} - w_declare_exe "$W_PROGRAMS_WIN\\Amazon\\Kindle For PC" Kindle.exe + w_declare_exe "$W_PROGRAMS_WIN\\Amazon\\Kindle" Kindle.exe } #---------------------------------------------------------------- @@ -4916,7 +5214,7 @@ # http://www.microsoft.com/downloads/en/details.aspx?FamilyId=9AD000F2-CAE7-493D-B0F3-AE36C570ADE8&displaylang=en w_download_manual http://download.cnet.com/Microsoft-Data-Access-Components-MDAC-2-7-Service-Pack-1-Refresh/3000-10250_4-10729498.html mdac_typ.exe f68594d1f578c3b47bf0639c46c11c5da161feee load_native_mdac - w_set_winver win2k + w_set_winver nt40 w_try $WINE "$W_CACHE"/mdac27/mdac_typ.exe ${W_OPT_UNATTENDED:+ /q /C:"setup /QNT"} w_unset_winver } @@ -5006,14 +5304,14 @@ publisher="Novell" \ year="2011" \ media="download" \ - file1="mono-2.10.2-gtksharp-2.12.10-win32-5.exe" \ - installed_file1="$W_PROGRAMS_X86_WIN/Mono-2.10.2/bin/mono-2.0.dll" + file1="mono-2.10.8-gtksharp-2.12.11-win32-1.exe" \ + installed_file1="$W_PROGRAMS_X86_WIN/Mono-2.10.8/bin/mono-2.0.dll" load_mono210() { - w_download http://ftp.novell.com/pub/mono/archive/2.10.2/windows-installer/5/mono-2.10.2-gtksharp-2.12.10-win32-5.exe 630769a5bf70d025308c994920d3826dbadb03f5 + w_download http://download.mono-project.com/archive/2.10.8/windows-installer/1/mono-2.10.8-gtksharp-2.12.11-win32-1.exe adf2f944056b55aceb48bf4e028ebb0814f290f9 cd "$W_CACHE"/mono210 - w_try $WINE mono-2.10.2-gtksharp-2.12.10-win32-5.exe $W_UNATTENDED_SLASH_SILENT + w_try $WINE $file1 $W_UNATTENDED_SLASH_SILENT } #---------------------------------------------------------------- @@ -5140,6 +5438,27 @@ #---------------------------------------------------------------- +w_metadata mspatcha dlls \ + title="MS mspatcha" \ + publisher="Microsoft" \ + year="2001" \ + media="download" \ + file1="InstMsiA.exe" \ + installed_exe1="$W_SYSTEM32_DLLS_WIN/mspatcha.dll" + +load_mspatcha() +{ + # http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=CEBBACD8-C094-4255-B702-DE3BB768148F + w_download http://download.microsoft.com/download/WindowsInstaller/Install/2.0/W9XMe/EN-US/InstMsiA.exe e739c40d747e7c27aacdb07b50925b1635ee7366 + + w_try_cabextract --directory="$W_TMP" "$W_CACHE"/mspatcha/InstMsiA.exe + w_try cp -f "$W_TMP"/mspatcha.dll "$W_SYSTEM32_DLLS" + + w_override_dlls native,builtin mspatcha +} + +#---------------------------------------------------------------- + w_metadata msscript dlls \ title="MS Windows Script Control" \ publisher="Microsoft" \ @@ -5579,6 +5898,23 @@ #---------------------------------------------------------------- +w_metadata sdl dlls \ + title="Simple DirectMedia Layer" \ + publisher="Sam Lantinga" \ + year="2009" \ + media="download" \ + file1="SDL-1.2.14-win32.zip" \ + installed_file1="$W_SYSTEM32_DLLS_WIN/SDL.dll" + +load_sdl() +{ + # http://www.libsdl.org/download-1.2.php + w_download http://www.libsdl.org/release/SDL-1.2.14-win32.zip d22c71d1c2bdf283548187c4b0bd7ef9d0c1fb23 + w_try_unzip "$W_CACHE"/sdl/SDL-1.2.14-win32.zip -d "$W_SYSTEM32_DLLS" SDL.dll +} + +#---------------------------------------------------------------- + w_metadata secur32 dlls \ title="MS Security Support Provider Interface" \ publisher="Microsoft" \ @@ -5618,14 +5954,42 @@ # 2010-11-03 sha1sum: 2ff28665543e80f3bd4ff1933ac05ec9314aaac6 # 2011-02-03 sha1sum: e71ddc4fa42662208b2f52c1bd34a40e7775ad75 # 2011-06-13 sha1sum: 7fd6cc61bb20d0bef654a44f4501a5a65b55b0c9 + # 2011-11-10 sha1sum: b55974b471c516f13fb032424247c07390baf380 + # 2012-03-07 sha1sum: 3b10f645ba1a6815fa97924a6bde4eda3177ff68 - w_download http://fpdownload.macromedia.com/get/shockwave/default/english/win95nt/latest/sw_lic_full_installer.msi 7fd6cc61bb20d0bef654a44f4501a5a65b55b0c9 + w_download http://fpdownload.macromedia.com/get/shockwave/default/english/win95nt/latest/sw_lic_full_installer.msi 3b10f645ba1a6815fa97924a6bde4eda3177ff68 cd "$W_CACHE"/shockwave w_try $WINE msiexec /i sw_lic_full_installer.msi $W_UNATTENDED_SLASH_Q } #---------------------------------------------------------------- +w_metadata speechsdk dlls \ + title="MS Speech SDK 5.1" \ + publisher="Microsoft" \ + year="2009" \ + media="download" \ + file1="SpeechSDK51.exe" \ + installed_file1="$W_PROGRAMS_X86_WIN/Microsoft Speech SDK 5.1/Bin/SAPI51SampleApp.exe" + +load_speechsdk() +{ + # http://www.microsoft.com/download/en/details.aspx?id=10121 + w_download http://download.microsoft.com/download/B/4/3/B4314928-7B71-4336-9DE7-6FA4CF00B7B3/SpeechSDK51.exe f69efaee8eb47f8c7863693e8b8265a3c12c4f51 + + w_try_unzip -d "$W_TMP" "$W_CACHE"/speechsdk/SpeechSDK51.exe + + # Otherwise it only installs the SDK and not the redistributable: + w_set_winver win2k + + cd "$W_TMP" + w_try $WINE msiexec /i "Microsoft Speech SDK 5.1.msi" $W_UNATTENDED_SLASH_Q + + w_unset_winver +} + +#---------------------------------------------------------------- + w_metadata usp10 dlls \ title="Uniscribe 1.325 " \ publisher="Microsoft" \ @@ -5776,12 +6140,12 @@ } w_metadata vcrun6 dlls \ - title="Visual C++ 6 sp4 libraries (mfc42, msvcp60, msvcrt)" \ + title="Visual C++ 6 sp4 libraries (mfc42, msvcp60, msvcirt)" \ publisher="Microsoft" \ year="2000" \ media="download" \ file1="vc6redistsetup_enu.exe" \ - installed_file1="$W_SYSTEM32_DLLS_WIN/msvcrt.dll" + installed_file1="$W_SYSTEM32_DLLS_WIN/mfc42.dll" load_vcrun6() { @@ -5805,12 +6169,10 @@ # And then some apps need mfc42u.dll, dunno what right way # is to get it, vcredist doesn't install it by default? load_mfc42 - - w_override_dlls native,builtin msvcrt } w_metadata mfc42 dlls \ - title="Visual C++ 6 sp4 mfc42 library (mfc42); same as vcrun6" \ + title="Visual C++ 6 sp4 mfc42 library; part of vcrun6" \ publisher="Microsoft" \ year="2000" \ media="download" \ @@ -5824,6 +6186,21 @@ w_try_cabextract "$W_CACHE"/vcrun6/vcredist.exe -d "$W_SYSTEM32_DLLS" -F "mfc42*.dll" } +w_metadata msvcirt dlls \ + title="Visual C++ 6 sp4 msvcirt library; part of vcrun6" \ + publisher="Microsoft" \ + year="2000" \ + media="download" \ + file1="../vcrun6/vc6redistsetup_enu.exe" \ + installed_file1="$W_SYSTEM32_DLLS_WIN/msvcirt.dll" + +load_msvcirt() +{ + winetricks_vcrun6_helper + + w_try_cabextract "$W_CACHE"/vcrun6/vcredist.exe -d "$W_SYSTEM32_DLLS" -F msvcirt.dll +} + #---------------------------------------------------------------- # FIXME: we don't currently have an install check that can distinguish @@ -5836,7 +6213,7 @@ year="2004" \ media="download" \ file1="Vs6sp6.exe" \ - installed_file1="$W_SYSTEM32_DLLS_WIN/msvcrt.dll" + installed_file1="$W_SYSTEM32_DLLS_WIN/mfc42.dll" load_vcrun6sp6() { @@ -5866,8 +6243,6 @@ # 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? - - w_override_dlls native,builtin msvcrt } #---------------------------------------------------------------- @@ -6004,8 +6379,9 @@ w_download http://download.microsoft.com/download/f/f/1/ff178bb1-da91-48ed-89e5-478a99387d4f/wic_x86_enu.exe 53c18652ac2f8a51303deb48a1b7abbdb1db427f # Avoid a file existence check. - w_try rm -f "$W_SYSTEM32_DLLS"/windowscodecs.dll - w_override_dlls native,builtin windowscodecs + rm -f "$W_SYSTEM32_DLLS"/windowscodecs.dll "$W_SYSTEM32_DLLS"/photometadatahandler.dll + # AF says in appdb entry for .net 3.0 that windowscodecs has to be native only + w_override_dlls native windowscodecs # Always run the WIC installer in passive mode. # See http://bugs.winehq.org/show_bug.cgi?id=16876 and @@ -6075,7 +6451,7 @@ w_download http://download.microsoft.com/download/platformsdk/wmi9x/1.5/W9X/EN-US/wmi9x.exe 62752e9c1b879688c26f205eebf07d3783906c3e w_set_winver win98 - w_override_dlls native,builtin wbemprox.dll wmiutils.dll + w_override_dlls native,builtin wbemprox wmiutils # Note: there is a crash in the background towards the end, doesn't seem to hurt; see http://bugs.winehq.org/show_bug.cgi?id=7920 cd "$W_CACHE"/wmi w_try $WINE wmi9x.exe $W_UNATTENDED_SLASH_S @@ -6099,6 +6475,9 @@ 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 + w_try rm "$W_SYSTEM32_DLLS/jscript.dll" w_try $WINE Windows2000-KB917344-56-x86-enu.exe $W_UNATTENDED_SLASH_Q } @@ -6119,6 +6498,9 @@ w_download http://download.microsoft.com/download/IE60/Patch/Q318089/W9XNT4Me/EN-US/vbs56men.exe 48f14a93db33caff271da0c93f334971f9d7cb22 cd "$W_CACHE"/wsh56vb + w_override_dlls native,builtin vbscript + # setupapi looks at the versions in new and original vbscript.dll, and wine's original is newer than wsh56vb's, so have to nuke the original + w_try rm "$W_SYSTEM32_DLLS/vbscript.dll" w_try $WINE vbs56men.exe $W_UNATTENDED_SLASH_Q } @@ -6140,7 +6522,7 @@ w_try_cabextract -d "$W_SYSTEM32_DLLS" "$W_CACHE"/wsh57/scripten.exe # Wine doesn't provide the other dll's (yet?) - w_override_dlls native,builtin jscript.dll + w_override_dlls native,builtin jscript w_try_regsvr dispex.dll jscript.dll scrobj.dll scrrun.dll vbscript.dll wshcon.dll wshext.dll } @@ -6280,6 +6662,24 @@ #---------------------------------------------------------------- +w_metadata xna31 dlls \ + title="MS XNA Framework Redistributable 3.1" \ + publisher="Microsoft" \ + year="2009" \ + media="download" \ + file1="xnafx31_redist.msi" \ + installed_file1="C:/windows/assembly/GAC_32/Microsoft.Xna.Framework.Game/3.1.0.0__6d5c3888ef60e27d/Microsoft.Xna.Framework.Game.dll" + +load_xna31() +{ + w_call dotnet20sp2 + w_download http://download.microsoft.com/download/5/9/1/5912526C-B950-4662-99B6-119A83E60E5C/xnafx31_redist.msi bdd33b677c9576a63ff2a6f65e12c0563cc116e6 + cd "$W_CACHE"/xna31 + w_try $WINE msiexec ${W_OPT_UNATTENDED:+/quiet} /i $file1 +} + +#---------------------------------------------------------------- + w_metadata xvid dlls \ title="Xvid Video Codec" \ publisher="xvid.org" \ @@ -6456,7 +6856,7 @@ installed_file1="$W_FONTSDIR_WIN/DroidSans-Bold.ttf" do_droid() { - w_download ${DROID_URL}$1';hb=HEAD' $3 $1 + w_download ${DROID_URL}$1'?raw=true' $3 $1 w_try cp -f "$W_CACHE"/droid/$1 "$W_FONTSDIR_UNIX" w_register_font $1 "$2" } @@ -6464,10 +6864,11 @@ load_droid() { # See http://en.wikipedia.org/wiki/Droid_(font) - DROID_URL='http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob_plain;f=data/fonts/' + # Old url was http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob_plain;f=data/fonts/' + DROID_URL='https://github.com/android/platform_frameworks_base/blob/master/data/fonts/' do_droid DroidSans-Bold.ttf "Droid Sans Bold" 560e4bcafdebaf29645fbf92633a2ae0d2f9801f - do_droid DroidSansFallback.ttf "Droid Sans Fallback" 64de2fde75868ab8d4c6714add08c8f08b3fae1e + do_droid DroidSansFallback.ttf "Droid Sans Fallback" 2cbe4cc389294d1c43e662c4d98c64dab28fb9cb do_droid DroidSansJapanese.ttf "Droid Sans Japanese" b3a248c11692aa88a30eb25df425b8910fe05dc5 do_droid DroidSansMono.ttf "Droid Sans Mono" 133fb6cf26ea073b456fb557b94ce8c46143b117 do_droid DroidSans.ttf "Droid Sans" 62f2841f61e4be66a0303cd1567ed2d300b4e31c @@ -6696,7 +7097,7 @@ publisher="OpenOffice.org" \ year="2010" \ media="download" \ - file1="ttf-opensymbol_3.2.1-11+squeeze2_all.deb" \ + file1="ttf-opensymbol_3.2.1-11+squeeze4_all.deb" \ installed_file1="$W_FONTSDIR_WIN/opens___.ttf" load_opensymbol() @@ -6704,10 +7105,10 @@ # 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+squeeze2_all.deb dfcfc10a3e9b0be43520c7fd26cef6df0e713697 + w_download http://ftp.us.debian.org/debian/pool/main/o/openoffice.org/ttf-opensymbol_3.2.1-11+squeeze4_all.deb 7950540f404daf1af7f279a67cd1164a6d599fc1 cd "$W_TMP" - w_try ar x "$W_CACHE/opensymbol/ttf-opensymbol_3.2.1-11+squeeze2_all.deb" data.tar.bz2 + 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 mv "$W_TMP/usr/share/fonts/truetype/openoffice/opens___.ttf" "$W_FONTSDIR_UNIX" w_register_font opens___.ttf "OpenSymbol" @@ -6930,15 +7331,17 @@ { w_download http://download.audible.com/AM50/ActiveSetupN.exe 49f501471912ccca442bcc1c8f2c69160579f712 cd "$W_CACHE/$W_PACKAGE" + # Use exact title match! w_ahk_do " SetWinDelay 500 - SetTitleMatchMode, 2 + SetTitleMatchMode, 3 Run, $file1 WinWait, AudibleManager Setup ControlClick, Button3 ; accept WinWait, AudibleManager Setup, Start by ControlClick, Button6 ; OK WinWaitClose + ; many windows come and go, quite a few of them starting with AudibleManager, so use exact match to get the real mccoy WinWait, AudibleManager ; the dang thing starts up WinKill " @@ -6999,21 +7402,21 @@ #---------------------------------------------------------------- -w_metadata borders apps \ - title="Borders Desktop (Kobo e-book reader)" \ +w_metadata kobo apps \ + title="Kobo e-book reader" \ publisher="Kobo" \ year="2011" \ media="download" \ file1="KoboSetup.exe" \ - installed_exe1="$W_PROGRAMS_X86_WIN/Borders Desktop/Borders Desktop.exe" \ + installed_exe1="$W_PROGRAMS_X86_WIN/Kobo/Kobo.exe" \ homepage="http://www.borders.com/online/store/MediaView_ereaderapps" -load_borders() +load_kobo() { - w_download http://download.kobobooks.com/desktop/1/KoboSetup.exe - cd "$W_CACHE"/borders + w_download http://download.kobobooks.com/desktop/1/KoboSetup.exe 31a5f5583edf4b716b9feacb857d2170104cabd9 + cd "$W_CACHE"/kobo w_try $WINE $file1 ${W_OPT_UNATTENDED:+ /S} - w_declare_exe "$W_PROGRAMS_X86_WIN\\Borders Desktop" "Borders Desktop.exe" + w_declare_exe "$W_PROGRAMS_X86_WIN\\Kobo" "Kobo.exe" } #---------------------------------------------------------------- @@ -7021,16 +7424,16 @@ w_metadata cmake apps \ title="CMake 2.8" \ publisher="Kitware" \ - year="2010" \ + year="2011" \ media="download" \ - file1="cmake-2.8.2-win32-x86.exe" \ + file1="cmake-2.8.6-win32-x86.exe" \ installed_exe1="$W_PROGRAMS_X86_WIN/CMake 2.8/bin/cmake-gui.exe" load_cmake() { - w_download http://www.cmake.org/files/v2.8/cmake-2.8.2-win32-x86.exe 2c46f4e804787b231c2f45e1b43f1838462e8dfe + w_download http://www.cmake.org/files/v2.8/cmake-2.8.6-win32-x86.exe 47172b78e5d5f99cf5dc623db309781234153d56 cd "$W_CACHE"/cmake - w_try $WINE cmake-2.8.2-win32-x86.exe $W_UNATTENDED_SLASH_S + w_try $WINE cmake-2.8.6-win32-x86.exe $W_UNATTENDED_SLASH_S w_declare_exe "$W_PROGRAMS_X86_WIN\\CMake 2.8\\bin" "cmake-gui.exe" } @@ -7189,19 +7592,24 @@ #---------------------------------------------------------------- w_metadata firefox36 apps \ - title="Firefox 3.6 (broken in wine)" \ + title="Firefox 3.6" \ publisher="Mozilla" \ year="2011" \ media="download" \ - file1="Firefox Setup 3.6.18.exe" \ + file1="Firefox Setup 3.6.24.exe" \ installed_exe1="$W_PROGRAMS_X86_WIN/Mozilla Firefox/firefox.exe" load_firefox36() { - w_download "http://download.mozilla.org/?product=firefox-3.6.18&os=win&lang=en-US" c6673047eec8b909fad67f387e3ef8f8f43d54e3 "$file1" + w_download "http://download.mozilla.org/?product=firefox-3.6.24&os=win&lang=en-US" 7d149a9a45fd7cdd9b31b1a966650466b7111f1f "$file1" cd "$W_CACHE"/firefox36 w_try $WINE "$file1" ${W_OPT_UNATTENDED:+ -ms} + if w_workaround_wine_bug 29077 + then + w_warn "Visit about:config, search for dom.ipc, and set those booleans false if you want to use flash." + fi + w_declare_exe "$W_PROGRAMS_X86_WIN\\Mozilla Firefox" firefox.exe myexec="Exec=env WINEPREFIX=\"$HOME/.local/share/wineprefixes/firefox\" wine cmd /c 'C:\\\\\\Run-firefox.bat'" @@ -7215,22 +7623,56 @@ #---------------------------------------------------------------- -w_metadata firefox apps \ - title="Firefox 5 (broken in wine)" \ +w_metadata firefox5 apps \ + title="Firefox 5" \ publisher="Mozilla" \ year="2011" \ media="download" \ file1="Firefox Setup 5.0.exe" \ installed_exe1="$W_PROGRAMS_X86_WIN/Mozilla Firefox/firefox.exe" -load_firefox() +load_firefox5() { if w_workaround_wine_bug 22972 "" 1.3.0, then w_die "Requires wine-1.3.0 or later to install" fi + if w_workaround_wine_bug 29077 + then + w_warn "Visit about:config, search for dom.ipc, and set those booleans false if you want to use flash." + fi + w_download "http://download.mozilla.org/?product=firefox-5.0&os=win&lang=en-US" 288895db0a58b91801c5c1dfc0017131300dba00 "$file1" + cd "$W_CACHE"/firefox5 + w_try $WINE "$file1" ${W_OPT_UNATTENDED:+ -ms} + + w_declare_exe "$W_PROGRAMS_X86_WIN\\Mozilla Firefox" firefox.exe +} + +#---------------------------------------------------------------- + +w_metadata firefox apps \ + title="Firefox 10" \ + publisher="Mozilla" \ + year="2011" \ + media="download" \ + file1="Firefox Setup 10.0.2.exe" \ + installed_exe1="$W_PROGRAMS_X86_WIN/Mozilla Firefox/firefox.exe" + +load_firefox() +{ + if w_workaround_wine_bug 22972 "" 1.3.0, + then + w_die "Requires wine-1.3.0 or later to install" + fi + + if w_workaround_wine_bug 29077 + then + w_warn "Visit about:config, search for dom.ipc, and set those booleans false if you want to use flash." + fi + + w_download "http://download.mozilla.org/?product=firefox-10.0&os=win&lang=en-US" fa47ff26b14ec94fd6e5c3369d80b11fe153fae3 "$file1" cd "$W_CACHE"/firefox w_try $WINE "$file1" ${W_OPT_UNATTENDED:+ -ms} @@ -7329,6 +7771,46 @@ #---------------------------------------------------------------- +w_metadata ie3 dlls \ + title="Internet Explorer 3" \ + publisher="Microsoft" \ + year="1996" \ + media="download" \ + file1="msie302m95.exe" \ + installed_file1="c:/Program Files/Internet Explorer/INST32.DLL" + +load_ie3() +{ + w_warn "This is for debugging purposes only, DO NOT INSTALL." + + w_set_winver win95 + + # FIXME: /q is quiet, but still has some promps.. + w_download http://www.mirrorservice.org/sites/browsers.evolt.org/browsers/ie/win32/3.02/win95full/msie302m95.exe a55c3834860347342c0b91e0f572124b440eb195 + + cat > "$W_TMP"/override-dll.reg <<_EOF_ +REGEDIT4 + +[HKEY_CURRENT_USER\Software\Wine\AppDefaults\infinst2.exe\DllOverrides] +"shell32"="native" + +_EOF_ + w_try_regedit "$W_TMP_WIN"\\override-dll.reg + + cd "$W_CACHE/$W_PACKAGE" + $WINE msie302m95.exe + # IE3 exits with 194 to signal a reboot + status=$? + case $status in + 0|194) ;; + *) w_die ie6 installation failed + esac + + # FIXME: installer reboots and has a failure, not sure how to detect that cleanly. +} + +#---------------------------------------------------------------- + # 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. w_metadata ie6 dlls \ @@ -7347,7 +7829,7 @@ w_die "This package does not work on a 64-bit installation" fi - w_download http://browsers-us.mirrors.zensoft.net/ie/win32/6.0/ie60.exe 8e483db28ff01a7cabd39147ab6c59753ea1f533 + w_download http://download.oldapps.com/Internet_Explorer/ie60.exe 8e483db28ff01a7cabd39147ab6c59753ea1f533 cd "$W_TMP" $WINE "$W_CACHE"/ie6/ie60.exe @@ -7384,7 +7866,7 @@ # Work around http://bugs.winehq.org/show_bug.cgi?id=25432 w_try_cabextract -F inseng.dll "$W_TMP/IE 6.0 Full/ACTSETUP.CAB" mv inseng.dll "$W_SYSTEM32_DLLS" - w_override_dlls native inseng.dll + w_override_dlls native inseng cd "$W_TMP/IE 6.0 Full" if [ $W_UNATTENDED_SLASH_Q ] @@ -7723,9 +8205,9 @@ { # dates from curl --head # 10 Feb 2011 sha1sum 4a06a529b93ed33c3518326d874b40d8d7b70e7a - w_download \ - http://images.barnesandnoble.com/PResources/download/eReader2/bndr2_setup_latest.exe \ - 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 $WINE $file1 ${W_OPT_UNATTENDED:+ /S} # normally has exit status 199? @@ -7861,12 +8343,12 @@ publisher="Opera Software" \ year="2011" \ media="download" \ - file1="Opera_1111_en_Setup.exe" \ + file1="Opera_1150_en_Setup.exe" \ installed_exe1="$W_PROGRAMS_X86_WIN/Opera/opera.exe" load_opera() { - w_download ftp://ftp.opera.com/pub/opera/win/1111/en/Opera_1111_en_Setup.exe 36c34feb0fa7e4611bb0480a38d51a16bc9443d8 + 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 @@ -8013,7 +8495,7 @@ year="2011" \ media="download" \ file1="SpotifyInstaller.exe" \ - installed_exe1="$W_PROGRAMS_X86_WIN/Spotify/spotify.exe" + installed_exe1="c:/users/$USERNAME/Application Data/Spotify/spotify.exe" load_spotify() { @@ -8031,23 +8513,24 @@ cp Spotify%20Installer.exe SpotifyInstaller.exe 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 " SetTitleMatchMode, 2 run SpotifyInstaller.exe - WinWait, Spotify, Location + WinWait, ahk_class SpotifyMainWindow if ( w_opt_unattended > 0 ) { - Sleep 500 - ControlClick Button7 ; Start after install - Sleep 500 - ControlClick Button2 ; Install - WinWait, Spotify, Complete - Sleep 500 - ControlClick Button2 ; Close + WinClose } WinWaitClose " - w_declare_exe "$W_PROGRAMS_X86_WIN\\Spotify" "spotify.exe" + if w_workaround_wine_bug 27476 "Installing winhttp to work around a facebook integration crash on login" + then + w_call winhttp + fi + + w_declare_exe "c:\\users\\$USERNAME\\Application Data\\Spotify" spotify.exe } #---------------------------------------------------------------- @@ -8104,7 +8587,7 @@ load_sketchup() { - w_download http://dl.google.com/sketchup/GoogleSketchUpWEN.exe 84a72bbe9fd131c34bad855c6781c98a8196b7bf + w_download http://dl.google.com/sketchup/GoogleSketchUpWEN.exe a86dbeb9148118407992828457dba4660febb9f4 cd "$W_CACHE/$W_PACKAGE" w_ahk_do " @@ -8156,16 +8639,16 @@ title="Songbird" \ publisher="POTI" \ year="2010" \ - media="download" \ - file1="Songbird_1.9.3-1959_windows-i686-msvc8.exe" \ + media="manual_download" \ + file1="Songbird_1.10.1-2160_windows-i686-msvc8.exe" \ installed_exe1="$W_PROGRAMS_X86_WIN/Songbird/songbird.exe" \ homepage="http://getsongbird.com" load_songbird() { - w_download \ - http://download.songbirdnest.com/installer/windows/i686-msvc8/Songbird_1.9.3-1959_windows-i686-msvc8.exe \ - 1e6bdc9d5681f44320987cc73cde66f85b3e8032 + w_download_manual \ + http://getsongbird.com/system-requirements.php Songbird_1.10.1-2160_windows-i686-msvc8.exe \ + 3939988180e1bfba3f28ff5720942cbbc20b7fbf cd "$W_CACHE/songbird" w_try $WINE $file1 ${W_OPT_UNATTENDED:+ /S} w_declare_exe "$W_PROGRAMS_X86_WIN\\Songbird" songbird.exe @@ -8186,12 +8669,17 @@ # 18 Mar 2011 7f2fee9ffeaba8424a6c76d6c95b794735ac9959 w_download http://storefront.steampowered.com/download/SteamInstall.msi 7f2fee9ffeaba8424a6c76d6c95b794735ac9959 cd "$W_CACHE"/steam - w_try $WINE msiexec /i SteamInstall.msi $W_UNATTENDED_SLASH_Q + + # 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 + + w_try $WINE msiexec /i SteamInstall.msi $W_UNATTENDED_SLASH_Q + # Not all users need this disabled, but let's play it safe for now if w_workaround_wine_bug 22053 "Disabling gameoverlayrenderer to prevent game crashes on some machines." then @@ -8207,8 +8695,8 @@ title="µTorrent 2.2.1" \ publisher="BitTorrent" \ year="2011" \ - media="download" \ - file1="utorrent.exe" \ + media="manual_download" \ + file1="utorrent_2.2.1.exe" \ installed_exe1="c:/windows/utorrent.exe" load_utorrent() @@ -8222,9 +8710,10 @@ # Apr 14 2011 2.2.1 sha1sum b1378d7cbe5d1e1b168ce44def8f59facdc046d5 # 7 May 2011 sha1sum 2932c9ed1c1225e485f7e3dd2ed267aa7d568c80 # 14 May 2011 removed checksum, updates too quickly to track :-( - w_download http://download.utorrent.com/2.2.1/utorrent.exe + # 7 Mar 2012 sha1sum c6d9a80c02898139b17194d10293f17ecef054cb + 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/utorrent.exe" "$W_WINDIR_UNIX"/utorrent.exe + w_try cp -f "$W_CACHE/utorrent/$file1" "$W_WINDIR_UNIX"/utorrent.exe w_declare_exe "c:\\windows" "utorrent.exe" } @@ -8232,11 +8721,11 @@ #---------------------------------------------------------------- w_metadata utorrent3 apps \ - title="µTorrent 3.0" \ + title="µTorrent 3.1" \ publisher="BitTorrent" \ year="2011" \ media="download" \ - file1="utorrent-3.0-latest.exe" \ + file1="uTorrent.exe" \ installed_exe1="$W_PROGRAMS_X86_WIN/uTorrent/uTorrent.exe" load_utorrent3() @@ -8245,14 +8734,15 @@ # 27 Apr 2011: sha1sum d969f0c61cf2b2afaea4121f097ef690dffbf771 # 7 May 2011: sha1sum 1793a7b15d905a9fa82f9a969a96fa53abaac04c # 14 May: removed checksum, changes too often to track - w_download http://download.utorrent.com/beta/utorrent-3.0-latest.exe + # 7 Mar 2012: sha1sum 73ba69b5d0004239a709af5db57c88c9d9c8f7b2 + w_download http://download.utorrent.com/3.1.2/uTorrent.exe 73ba69b5d0004239a709af5db57c88c9d9c8f7b2 case "$W_OPT_UNATTENDED" in 0) _W_opt="" ;; *) _W_opt="/PERFORMINSTALL /NORUN" ;; esac cd "$W_CACHE/$W_PACKAGE" - $WINE utorrent-3.0-latest.exe $_W_opt + $WINE $file1 $_W_opt # dang installer exits with status 1 on success status=$? @@ -8293,7 +8783,7 @@ # Unpack ISO (how handy that 7z can do this!) cd "$W_TMP" - w_try 7z x "$W_CACHE"/vc2005express/VC.iso + w_try_7z x "$W_CACHE"/vc2005express/VC.iso if [ $W_UNATTENDED_SLASH_Q ] then @@ -8338,6 +8828,10 @@ 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 @@ -8411,7 +8905,7 @@ publisher="AOL (Nullsoft)" \ year="2011" \ media="download" \ - file1="winamp561_full_emusic-7plus_en-us.exe" \ + file1="winamp5621_full_emusic-7plus_en-us.exe" \ installed_exe1="$W_PROGRAMS_X86_WIN/Winamp/winamp.exe" \ homepage="http://www.winamp.com" @@ -8419,7 +8913,7 @@ { w_info "may send information while installing, see http://www.microsoft.com/security/portal/Threat/Encyclopedia/Entry.aspx?threatid=159633" w_download \ - http://download.nullsoft.com/winamp/client/winamp561_full_emusic-7plus_en-us.exe 21eeab7c68beba0acd59ec452b772641ae784d0a + http://download.nullsoft.com/winamp/client/winamp5621_full_emusic-7plus_en-us.exe afc172039db52fdc202114bec7bcf8b5bf2468bb cd "$W_CACHE/$W_PACKAGE" if test $W_OPT_UNATTENDED then @@ -8537,6 +9031,11 @@ w_die "Installer doesn't support 64-bit architecture." fi + if w_workaround_wine_bug 28994 "virtualprotect problem" ,1.3.31 1.3.35, + then + w_die "Please upgrade to wine-1.3.35 to install wmp9." + fi + w_call wsh57 w_set_winver win2k @@ -8888,6 +9387,63 @@ } #---------------------------------------------------------------- + +w_metadata unigine_heaven benchmarks \ + title="Unigen Heaven 2.1 Benchmark" \ + publisher="Unigen" \ + year="2010" \ + media="manual_download" \ + file1="Unigine_Heaven-2.1.msi" + +load_unigine_heaven() +{ + # FIXME: use w_download_torrent() + w_download_manual http://unigine.com/download/torrents/Unigine_Heaven-2.1.msi.torrent Unigine_Heaven-2.1.msi 3d7b94a3734cdae85f98032b61668e743979c444 + + cd "$W_CACHE/$W_PACKAGE" + w_ahk_do " + SetWinDelay 1000 + SetTitleMatchMode, 2 + run msiexec /i $file1 + if ( w_opt_unattended > 0 ) { + WinWait ahk_class MsiDialogCloseClass + Send {Enter} + WinWait ahk_class MsiDialogCloseClass, License + ControlClick Button1 ; Accept + ControlClick Button3 ; Accept + WinWait ahk_class MsiDialogCloseClass, Choose + ControlClick Button1 ; Typical + WinWait ahk_class MsiDialogCloseClass, Ready + ControlClick Button2 ; Install + ; FIXME: on systems with OpenAL already (Win7?), the next four lines + ; are not needed. We should somehow wait for either OpenAL window + ; *or* Completed window. + WinWait ahk_class OpenAL Installer + ControlClick Button2 ; OK + WinWait ahk_class #32770 + ControlClick Button1 ; OK + } + WinWait ahk_class MsiDialogCloseClass, Completed + if ( w_opt_unattended > 0 ) { + ControlClick Button1 ; Finish + Send {Enter} + } + 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" +} + +#---------------------------------------------------------------- # Games #---------------------------------------------------------------- @@ -9064,7 +9620,7 @@ SetTitleMatchMode, 2 WinKill,Empires " - # or should we just do wineserver -k, like fable_tlc does? + # or should we just do $WINESERVER -k, like fable_tlc does? PID=`ps augxw | grep IDriver | grep -v grep | awk '{print $2}'` kill $PID fi @@ -9185,7 +9741,7 @@ if ps augxw | grep -i exe | egrep 'winemenubuilder.exe|setup.exe|PnkBstrA.exe | egrep -v egrep' then w_warn "Killing processes so patcher does not complain about game still running" - wineserver -k + $WINESERVER -k sleep 10 fi @@ -9595,16 +10151,13 @@ title="Blade Kitten Demo" \ publisher="Krome Studios" \ year="2010" \ - media="download" \ + media="manual_download" \ file1="BladeKittenDemoInstall.exe" \ installed_exe1="$W_PROGRAMS_X86_WIN/Krome Studios/Blade Kitten Demo/BladeKitten_Demo.exe" load_bladekitten_demo() { - if ! test -f "$W_CACHE/$W_PACKAGE/BladeKittenDemoInstall.exe" - then - w_download "http://downloads.megagames.com/download.php?file=BladeKittenDemoInstall.exe" 8c41706ff3ad029317e5eb6853c34732498d97c7 BladeKittenDemoInstall.exe - fi + w_download_manual http://news.bigdownload.com/2010/09/23/download-blade-kitten-demo BladeKittenDemoInstall.exe d3568f94c1ce284b7381e457e9497065bd45001d cp "$W_CACHE/$W_PACKAGE"/BladeKittenDemoInstall.exe "$W_TMP" cd "$W_TMP" @@ -9657,7 +10210,7 @@ { if ! test -f "$W_CACHE/$W_PACKAGE/braid_windows_r3.exe" then - w_download http://download.instantaction.com/games/pgh_legacy/braid_windows_r3.exe 7ea08ddbf5f2fb2f38057d930389b5af7d737e2c + w_download http://mirror.3fl.net.au/games/arcade/braid/client/braid_windows_r3.exe 7ea08ddbf5f2fb2f38057d930389b5af7d737e2c fi cd "$W_CACHE/$W_PACKAGE" @@ -9707,7 +10260,7 @@ { if ! test -f "$W_CACHE/$W_PACKAGE/braid_windows_r3.exe" then - w_download http://download.instantaction.com/games/pgh_legacy/braid_windows_r3.exe 7ea08ddbf5f2fb2f38057d930389b5af7d737e2c + w_download http://mirror.3fl.net.au/games/arcade/braid/client/braid_windows_r3.exe 7ea08ddbf5f2fb2f38057d930389b5af7d737e2c fi cd "$W_CACHE/$W_PACKAGE" @@ -10568,6 +11121,109 @@ #---------------------------------------------------------------- +w_metadata dcuo games \ + title="DC Universe Online" \ + publisher="EA" \ + year="2011" \ + media="dvd" \ + file1="DCUO - Disc 1.iso" \ + file2="DCUO - Disc 2.iso" \ + installed_exe1="$W_PROGRAMS_X86_WIN/Sony Online Entertainment/Installed Games/DC Universe Online Live/LaunchPad.exe" + +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 " + SetWinDelay 1000 + SetTitleMatchMode, 2 + run, ${W_ISO_MOUNT_LETTER}:setup.exe + if ( w_opt_unattended > 0 ) { + winwait, DC Universe, Anti-virus + ControlClick, Button1 ; next + winwait, DC Universe, License + ControlClick, Button5 ; accept + sleep 500 + ControlClick, Button2 ; next + winwait, DC Universe, Shortcut + ControlClick, Button3 ; next + Loop + { + IfWinExist, DC Universe, not enough space + { + exit 1 ; dang, have to quit + } + IfWinExist, DC Universe, Ready + { + break + } + Sleep 1000 + } + winwait, DC Universe, Ready + ControlClick, Button1 ; next + } + winwait, Setup Needs The Next Disk, Please insert disk 2 + " + + w_mount "DCUO - Disc 2" + w_ahk_do " + SetWinDelay 1000 + SetTitleMatchMode, 2 + winwait, Setup Needs The Next Disk, Please insert disk 2 + if ( w_opt_unattended > 0 ) { + ControlClick, Button2 ; next + winwaitclose + Loop + { + IfWinExist, DirectX, Welcome + { + ControlClick, Button1 ; accept + Sleep 1000 + ControlClick, Button4 ; next + WinWait, DirectX, Runtime Install + ControlClick, Button4 ; next + WinWait, DirectX, Complete + ControlClick, Button4 ; next + sleep 1000 + process, close, dxsetup.exe ; work around strange 'next button does nothing' bug + } + IfWinExist, Flash ; a newer version of flash is already installed + { + ControlClick, Button3 ; quit + } + IfWinExist, DC Universe, Complete + { + break + } + Sleep 1000 + } + } + WinWait, DC Universe, Complete + if ( w_opt_unattended > 0 ) { + ControlClick, Button4 ; finish + } + 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 +} + +#---------------------------------------------------------------- + w_metadata deadspace games \ title="Dead Space" \ publisher="EA" \ @@ -10887,21 +11543,21 @@ year="2011" \ media="download" \ file1="digitanks.exe" \ - installed_exe1="$W_PROGRAMS_X86_WIN/Digitanks/digitanks.exe" \ + installed_exe1="$W_PROGRAMS_X86_WIN/Digitanks/digitanksdemo.exe" \ homepage="http://www.digitanks.com" load_digitanks_demo() { # 8 june 2011: f204b13dc64c1a54fb1aaf27187c6083ebb16acf - w_download "http://static.digitanks.com/files/digitanks.exe" \ - f204b13dc64c1a54fb1aaf27187c6083ebb16acf + # 11 Nov 2011: e54ffb07232f434bcfaf7b3d43ddf9affa93ef15 + 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" then w_call corefonts fi - w_declare_exe "$W_PROGRAMS_X86_WIN\\Digitanks" digitanks.exe + w_declare_exe "$W_PROGRAMS_X86_WIN\\Digitanks" digitanksdemo.exe } w_metadata dirt2_demo games \ @@ -11306,7 +11962,7 @@ winwait, Dragon Age II Demo Setup, Select send {Enter} } - winwait, Dragon Age II Demo Setup, Completed + winwait, Dragon Age II Demo Setup, Complete, completed if ( w_opt_unattended > 0 ) { send {Enter} winwait, Dragon Age II Demo Setup, Completing @@ -11613,13 +12269,12 @@ publisher="S2 Games" \ year="2010" \ media="download" \ - file1="HoNClient-2.0.36v2.exe" \ + file1="HoNClient-2.2.8.exe" \ installed_exe1="$W_PROGRAMS_X86_WIN/Heroes of Newerth/hon.exe" load_hon() { - w_download http://dl.heroesofnewerth.com/HoNClient-2.0.36v2.exe \ - 0e1889279dc07179eeb59e29f803b64d75b688c4 + w_download http://dl.heroesofnewerth.com/HoNClient-2.2.8.exe 15eb6fc4b5da5b2316e52d955dbfb0797496789c cd "$W_CACHE/$W_PACKAGE" w_ahk_do " @@ -12020,7 +12675,7 @@ #---------------------------------------------------------------- w_metadata hegemonygold_demo games \ - title="Hegemony Gold beta 13" \ + title="Hegemony Gold" \ publisher="Longbow Games" \ year="2011" \ media="download" \ @@ -12039,7 +12694,10 @@ # 6 Mar 2011: 8c4d8aa8f997b106c78b065a4b200e5e1ab846a8 # 28 Apr 2011: 93677013fc17f014b1640bed070e8bb1b2a17445 # 25 Jun 2011: 4069656ea3c3760b67d1c5adff37de7472955f72 - w_download "http://www.longbowgames.com/downloads/Hegemony%20Gold%20Installer.exe" 4069656ea3c3760b67d1c5adff37de7472955f72 HegemonyGoldInstaller.exe + # 5 Nov 2011: 723c575ff5fff77941a1c786e28f46c094b8159c + # 8 Mar 2012: 36634314f571e345d082bdefe1150c76ef5610a7 + + w_download "http://www.longbowgames.com/downloads/Hegemony%20Gold%20Installer.exe" 36634314f571e345d082bdefe1150c76ef5610a7 HegemonyGoldInstaller.exe cd "$W_CACHE/$W_PACKAGE" @@ -12062,7 +12720,7 @@ ControlClick Button2 ; Install WinWait,Hegemony, Completing ControlFocus,Button4,launch - Sleep 500 + Sleep 1000 Send {Space} Sleep 500 ControlClick Button2 ; finish @@ -12199,12 +12857,17 @@ publisher="IMVU" \ year="2004" \ media="download" \ - file1="InstallIMVU_460.0_st_c.exe" \ - installed_exe1="c:/users/$LOGNAME/Application Data/IMVUClient/IMVUClient.exe" + file1="InstallIMVU_465.0_st_c.exe" \ + installed_exe1="c:/users/$USERNAME/Application Data/IMVUClient/IMVUClient.exe" load_imvu() { - w_download http://static-akm.imvu.com/imvufiles/installers/InstallIMVU_460.0_st_c.exe + 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" @@ -12228,7 +12891,7 @@ winwaitclose " - w_declare_exe "c:\\users\\$LOGNAME\\Application Data\\IMVUClient" "IMVUClient.exe" + w_declare_exe "c:\\users\\$USERNAME\\Application Data\\IMVUClient" "IMVUClient.exe" } #---------------------------------------------------------------- @@ -12960,7 +13623,7 @@ 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, + 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 } @@ -13103,7 +13766,7 @@ publisher="Taleworlds" \ year="2010" \ media="download" \ - file1="mb_warband_setup_1134.exe" \ + file1="mb_warband_setup_1143.exe" \ installed_exe1="$W_PROGRAMS_X86_WIN/Mount&Blade Warband/mb_warband.exe" \ homepage="http://www.taleworlds.com" @@ -13116,12 +13779,12 @@ 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_1134.exe" 1aac92b6c97869350b80fe7a08f559719deb37d7 + w_download "http://download.taleworlds.com/mb_warband_setup_1143.exe" 94fb829068678e27bcd67d9e0fde7f08c51a23af cd "$W_CACHE/$W_PACKAGE" w_ahk_do " SetTitleMatchMode 2 - run mb_warband_setup_1134.exe + run mb_warband_setup_1143.exe winwait Warband if ( w_opt_unattended > 0 ) { controlclick button2 @@ -13287,7 +13950,8 @@ load_nfsshift_demo() { - w_download http://cdn.needforspeed.com/data/downloads/shift/NFSSHIFTPCDEMO.exe 7b267654d08c54f15813f2917d9d74ec40905db7 + #w_download http://cdn.needforspeed.com/data/downloads/shift/NFSSHIFTPCDEMO.exe 7b267654d08c54f15813f2917d9d74ec40905db7 + w_download http://www.legendaryreviews.com/download-center/demos/NFSSHIFTPCDEMO.exe 7b267654d08c54f15813f2917d9d74ec40905db7 w_try cp "$W_CACHE/$W_PACKAGE/$file1" "$W_TMP" @@ -13351,7 +14015,7 @@ publisher="EA" \ year="2011" \ media="download" \ - file1="setup_441.exe" \ + file1="setup_659.exe" \ installed_exe1="$W_PROGRAMS_X86_WIN/Electronic Arts/Need For Speed World/GameLauncher.exe" load_nfsworld() @@ -13360,7 +14024,7 @@ # This changes frequently, I'm afraid # Be careful to update $file1 when you update the url - w_download http://static.cdn.ea.com/blackbox/u/f/NFSWO/Launcher/weblaunch_1.8.35.441/setup_441.exe 0f75ea12fc3fe40dd97bf0b6556ed146de435edf + w_download http://static.cdn.ea.com/blackbox/u/f/NFSWO/Launcher/weblaunch_1.8.40.659/akamai/setup_659.exe b1f10af09350e2b3f5ccbc679dbea628e9f432d0 w_workaround_wine_bug 27048 "The patcher hangs a lot. When it does, retry the patch (you may need to kill it first). After five or ten tries, it should work." @@ -13368,6 +14032,11 @@ w_call ie7 w_call dotnet20 + if test "$W_OPT_UNATTENDED" && w_workaround_wine_bug 25961 + then + w_call vcrun2008 + fi + if w_workaround_wine_bug 26915 "installing corefonts so help works" then w_call corefonts @@ -13401,6 +14070,7 @@ send {Space} ; uncheck readme send {Tab} send {Space} ; uncheck launch + sleep 1000 ; let launch uncheck take effect? ControlClick TNewButton5 ; Finish } winwaitclose @@ -13415,12 +14085,12 @@ publisher="EA" \ year="2011" \ media="download" \ - file1="setup_441.exe" \ + file1="setup_659.exe" \ installed_exe1="$W_PROGRAMS_X86_WIN/Electronic Arts/Need For Speed World/GameLauncher.exe" load_nfsworld_mono() { - w_download http://static.cdn.ea.com/blackbox/u/f/NFSWO/Launcher/weblaunch_1.8.35.441/setup_441.exe 0f75ea12fc3fe40dd97bf0b6556ed146de435edf + w_download http://static.cdn.ea.com/blackbox/u/f/NFSWO/Launcher/weblaunch_1.8.40.659/akamai/setup_659.exe b1f10af09350e2b3f5ccbc679dbea628e9f432d0 if w_workaround_wine_bug 25658 "Installing Mono 2.6" then @@ -13432,6 +14102,11 @@ w_try tar -C "$W_PROGRAMS_X86_UNIX/Mono-2.6.7/lib" -xvf "$W_CACHE/$W_PACKAGE"/mono-winebug23458.tar.gz fi + if test "$W_OPT_UNATTENDED" && w_workaround_wine_bug 25961 + then + w_call vcrun2008 + fi + if w_workaround_wine_bug 26915 "installing corefonts so help works" then w_call corefonts @@ -13467,6 +14142,7 @@ send {Space} ; uncheck readme send {Tab} send {Space} ; uncheck launch (Vincent says let it launch?) + sleep 1000 ; let launch uncheck take effect? ControlClick TNewButton5 ; Finish } winwaitclose @@ -13498,6 +14174,80 @@ #---------------------------------------------------------------- +w_metadata njcwp_trial apps \ + title="NJStar Chinese Word Processor trial" \ + publisher="NJStar" \ + year="2009" \ + media="download" \ + file1="njcwp.exe" \ + installed_exe1="$W_PROGRAMS_X86_WIN/NJStar Chinese WP/njstar.exe" \ + homepage="http://www.njstar.com/cms/njstar-chinese-word-processor" + +load_njcwp_trial() +{ + w_download http://www.njstar.com/download/njcwp.exe 006da155bad1ac4a73b953c98cb821eb7fd96507 + cd "$W_CACHE/$W_PACKAGE" + if test "$W_OPT_UNATTENDED" + then + w_ahk_do " + SetTitleMatchMode, 2 + run $file1 + WinWait, Setup, Wizard + ControlClick Button2 ; next + WinWait, Setup, License + ControlClick Button2 ; agree + WinWait, Setup, Install + ControlClick Button2 ; install + WinWait, Setup, Completing + ControlClick Button4 ; do not launch + ControlClick Button2 ; finish + WinWaitClose + " + else + w_try $WINE $file1 + fi + w_declare_exe "$W_PROGRAMS_X86_WIN\\NJStar Chinese WP" "njstar.exe" +} + +#---------------------------------------------------------------- + +w_metadata njjwp_trial apps \ + title="NJStar Japanese Word Processor trial" \ + publisher="NJStar" \ + year="2009" \ + media="download" \ + file1="njjwp.exe" \ + installed_exe1="$W_PROGRAMS_X86_WIN/NJStar Japanese WP/njstarj.exe" \ + homepage="http://www.njstar.com/cms/njstar-japanese-word-processor" + +load_njjwp_trial() +{ + w_download http://www.njstar.com/download/njjwp.exe 363d22e4ca7b79d0290a8ccdb0fa99169971d418 + cd "$W_CACHE/$W_PACKAGE" + if test "$W_OPT_UNATTENDED" + then + w_ahk_do " + SetTitleMatchMode, 2 + run $file1 + WinWait, Setup, Wizard + ControlClick Button2 ; next + WinWait, Setup, License + ControlClick Button2 ; agree + WinWait, Setup, Install + ControlClick Button2 ; install + WinWait, Setup, Completing + ControlClick Button4 ; do not launch + ControlClick Button2 ; finish + WinWaitClose + " + else + w_try $WINE $file1 + fi + w_declare_exe "$W_PROGRAMS_X86_WIN\\NJStar Japanese WP" "njstarj.exe" +} + +#---------------------------------------------------------------- + w_metadata oblivion games \ title="Elder Scrolls: Oblivion" \ publisher="Bethesda Game Studios" \ @@ -13745,6 +14495,54 @@ #---------------------------------------------------------------- +w_metadata ragnarok games \ + title="Ragnarok" \ + publisher="GRAVITY" \ + year="2002" \ + media="manual_download" \ + file1="iRO-13.2.2-FullInstall-20110421-1717.msi" \ + installed_exe1="$W_PROGRAMS_X86_WIN/Gravity/Ragnarok Online/Ragnarok.exe" + +load_ragnarok() +{ + if w_workaround_wine_bug 657 "Visual C++ 6 runtime" + 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 + w_download_manual http://www.playragnarok.com/downloads/clientdownload.aspx iRO-13.2.2-FullInstall-20110421-1717.msi bda295e3a2a57cd02bd122ed7bf4836ac012369a + + cd "$W_CACHE/$W_PACKAGE" + + w_ahk_do " + Run, msiexec /i $file1 + SetTitleMatchMode, 2 + WinWait, Ragnarok Online Setup, Please read the Ragnarok Online License Agreement + if ( w_opt_unattended > 0 ) { + Sleep 500 + ControlClick Button1 + Sleep 500 + ControlClick Button3 + } + WinWait, Ragnarok Online Setup, Completed the Ragnarok Online Setup Wizard + if ( w_opt_unattended > 0 ) { + Sleep 500 + ControlClick Button1 ;Direct + } + " + + # Game autoupdates: + killall "Ragnarok.exe" +} + +#---------------------------------------------------------------- + w_metadata rct3deluxe games \ title="RollerCoaster Tycoon 3 Deluxe (drm broken on wine)" \ publisher="Atari" \ @@ -13920,17 +14718,18 @@ publisher="Linden Labs" \ year="2003-2011" \ media="download" \ - file1="Second_Life_2-5-0-220251_Setup.exe" \ - installed_exe1="$W_PROGRAMS_X86_WIN/SecondLifeViewer2/SecondLife.exe" + file1="Second_Life_3-2-8-248931_Setup.exe" \ + installed_exe1="$W_PROGRAMS_X86_WIN/SecondLifeViewer/SecondLife.exe" load_secondlife() { - w_download http://download.cloud.secondlife.com/Viewer-2-5/Second_Life_2-5-0-220251_Setup.exe 841b089eb8b7b782718538c697cba5fd714f5eac + w_download http://download.cloud.secondlife.com/Viewer-3/Second_Life_3-2-8-248931_Setup.exe e08c16edc4d2fb68bb6275bed11a259a74918da5 cd "$W_CACHE/$W_PACKAGE" w_ahk_do " SetTitleMatchMode, 2 - run, Second_Life_2-5-0-220251_Setup.exe + SetWinDelay 500 + run, $file1 if ( w_opt_unattended > 0 ) { winwait, Installer Language send {Enter} @@ -13944,7 +14743,7 @@ winwaitclose " - w_declare_exe "$W_PROGRAMS_X86_WIN\\SecondLifeViewer2" "SecondLife.exe" + w_declare_exe "$W_PROGRAMS_X86_WIN\\SecondLifeViewer" "SecondLife.exe" } #---------------------------------------------------------------- @@ -14177,7 +14976,7 @@ send {Enter} loop { - SetTitleMatchMode, 2 + SetTitleMatchMode, 2 ifwinexist, - InstallShield Wizard, Setup will now attempt to update { ControlClick, Button1, - InstallShield Wizard @@ -14191,7 +14990,7 @@ { winactivate, Sims, License sleep 1000 - ControlClick, Button3 + ControlClick, Button3 sleep 1000 ControlClick, Button1 sleep 1000 @@ -14200,7 +14999,7 @@ sleep 1000 } winwait, Sims, Please enter the entire Registration Code - sleep 1000 + sleep 1000 send {Raw}$W_KEY send {Enter} winwait, - InstallShield Wizard, Setup Type @@ -14886,7 +15685,7 @@ 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" + if w_workaround_wine_bug 24845 "disabling mmdevapi to fix sound" 1.3.21, then w_override_dlls disabled mmdevapi fi @@ -14992,7 +15791,7 @@ load_wglgears() { - w_download http://www.cs.nmsu.edu/~jeffery/win32/wglgears.exe d65d2098bc11af76cb614946342913b1af62924d + w_download http://www2.cs.uidaho.edu/~jeffery/win32/wglgears.exe d65d2098bc11af76cb614946342913b1af62924d 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" @@ -15296,6 +16095,68 @@ #---------------------------------------------------------------- +w_metadata wot games \ + title="World of Tanks" \ + publisher="Wargaming" \ + year="2011" \ + media="download" \ + file1="WoT_0.6.7_us_setup.exe" \ + installed_exe1="c:/Games/World_of_Tanks/WorldOfTanks.exe" \ + wine_showstoppers="20395" # list a showstopper to hide this from average users for now + +load_wot() +{ + if w_workaround_wine_bug 20395 "game requires raw input hack" + then + w_open_webpage https://gist.github.com/895204#gistcomment-41069 + w_warn "You need to apply rawinput-hack.patch from vincas for this game to work" + fi + if w_workaround_wine_bug 25730 "installing msxml3 to avoid startup crash" 1.3.33, + then + w_call msxml3 + fi + if w_workaround_wine_bug 11675 "need d3dx9_36 for effects framework" + then + w_call d3dx9_36 + fi + if w_workaround_wine_bug 25779 "installing ie7 for launcher" + then + w_call ie7 + fi + + # http://cdn1.worldoftanks.com/patches/auto/WoT_0.6.7_us_setup.exe.torrent + w_download http://cdn1.worldoftanks.com/patches/auto/WoT_0.6.7_us_setup.exe 440c4b3f8269d3746c912db94d697eccb139d3a6 + + cd "$W_CACHE/$W_PACKAGE" + w_ahk_do " + SetWinDelay 500 + run $file1 + winwait, Setup - World of Tanks + if ( w_opt_unattended > 0 ) { + ControlClick, TNewButton1 ; Next + winwait, Setup - World of Tanks, Select Destination + ControlClick, TNewButton3 ; Next + winwait, Setup - World of Tanks, Select Start + ControlClick, TNewButton4 ; Next + winwait, Setup - World of Tanks, Select Additional + ControlClick, TNewButton4 ; Next + winwait, Setup - World of Tanks, Ready + ControlClick, TNewButton4 ; Next + } + winwait, Setup - World of Tanks, Completing + if ( w_opt_unattended > 0 ) { + ControlFocus, TNewCheckListBox1 + send {space} ; uncheck Wiki + sleep 500 + ControlClick, TNewButton4 ; Finish + winwaitclose + } + " + w_declare_exe "c:\\Games\\World_of_Tanks" WorldOfTanks.exe +} + +#---------------------------------------------------------------- + w_metadata wowtrial games \ title="World of Warcraft trial" \ publisher="Blizzard" \ @@ -15425,6 +16286,28 @@ winetricks_load_gog "sacrifice" "Sacrifice" "" "TsCheckBox2" "sacrifice" "" "" "591161642,63e77685599ce20c08b004a9fa3324e466ce1679" } +w_metadata the_witcher_2_gog games \ + title="The Witcher 2: Assassins of Kings" \ + publisher="Atari" \ + year="2011" \ + media="manual_download" \ + file1="setup_the_witcher_2.exe" \ + installed_exe1="$W_PROGRAMS_X86_WIN/GOG.com/The Witcher 2/bin/witcher2.exe" + +load_the_witcher_2_gog() +{ + winetricks_load_gog "the_witcher_2" \ + "The Witcher 2 - Assassins of Kings" \ + "setup_the_witcher_2-1.bin,2048477,b826cd7b096fd98eab78517752522b2a3ca8af5e\ + setup_the_witcher_2-2.bin,2050788,a419926e4d02de81d79d586bf893150d3231833c \ + setup_the_witcher_2-3.bin,2050788,6974cadc29fb8a8795aa245c5f8bb24e5e0cff5e \ + setup_the_witcher_2-4.bin,2050788,ed79c1e9456801addf6fd6e687528fa01354b0d8 \ + setup_the_witcher_2-5.bin,1631852,354cb73ae3e73cb88dedc53dd472803862a654cf \ + setup_the_witcher_2.bin,129136,d3aa93bf147e155c5035ae15444916feabfd47b4" \ + "" "bin/witcher2.exe" "" "The Witcher 2" \ + "2308,9ca06383301f242143f69fe08974f9d4d713ac6b" +} + # Brief HOWTO for adding a GOG game: # - "beneath_a_steel_sky" is the installer exe name, minus "setup_" and ".exe" # - "Beneath a Steel Sky" is installer window title, minus "Setup - " @@ -15491,6 +16374,45 @@ #---------------------------------------------------------------- +w_metadata civ5_demo_steam games \ + title="Civ V Demo (Steam)" \ + publisher="2K Games" \ + year="2010" \ + media="download" \ + installed_exe1="$W_PROGRAMS_X86_WIN/Steam/steamapps/common/sid meier's civilization v - demo/CivilizationV.exe" + +load_civ5_demo_steam() +{ + # Start autohotkey watching for directx9 option in the background, and select it when it comes up + w_ahk_do " + SetWinDelay 500 + loop + { + ifWinExist, Sid Meier's Civilization V - Demo - Steam + { + winactivate + click 26,108 ; select directx9 + sleep 500 + click 200,150 ; Play + } + ifWinExist, Updating Sid Meier's Civilization V - Demo + { + break + } + sleep 1000 + } + " & + _job=$! + # While that's running, install the game. + # 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_steam_install_game 65900 "Sid Meier's Civilization V - Demo" + kill -HUP $_job # just in case +} + +#---------------------------------------------------------------- + w_metadata ruse_demo_steam games \ title="Ruse Demo (Steam)" \ publisher="Ubisoft" \ @@ -15746,9 +16668,9 @@ #---------------------------------------------------------------- w_metadata strictdrawordering=enabled settings \ - title="Enable StrictDrawOrdering (default)" + title="Enable StrictDrawOrdering" w_metadata strictdrawordering=disabled settings \ - title="Disable StrictDrawOrdering" + title="Disable StrictDrawOrdering (default)" load_strictdrawordering() { @@ -15776,6 +16698,19 @@ } #---------------------------------------------------------------- +# AlwaysOffscreen settings + +w_metadata ao=enabled settings \ + title="Enable AlwaysOffscreen" +w_metadata ao=disabled settings \ + title="Disable AlwaysOffscreen (default)" + +load_ao() +{ + winetricks_set_wined3d_var AlwaysOffscreen $1 +} + +#---------------------------------------------------------------- # DirectDraw settings w_metadata ddr=gdi settings \ @@ -15906,7 +16841,7 @@ load_forcemono() { - w_override_dlls native mscoree.dll + w_override_dlls native mscoree w_override_dlls disabled mscorsvw.exe } @@ -16125,6 +17060,8 @@ title="Tell Wine your video card has 512MB RAM" w_metadata videomemorysize=1024 settings \ title="Tell Wine your video card has 1024MB RAM" +w_metadata videomemorysize=2048 settings \ + title="Tell Wine your video card has 2048MB RAM" load_videomemorysize() { @@ -16234,6 +17171,16 @@ #---------------------------------------------------------------- +w_metadata win95 settings \ + title="Set windows version to Windows 95" + +load_win95() +{ + w_set_winver win95 +} + +#---------------------------------------------------------------- + w_metadata win98 settings \ title="Set windows version to Windows 98" @@ -16570,7 +17517,7 @@ winetricks_stats_log_command() { # log what we execute for possible later statistics reporting - echo "$*" >> "$WINETRICKS_WORKDIR/breadcrumbs" + echo "$*" >> "$WINETRICKS_WORKDIR"/breadcrumbs # and for the user's own reference later, when figuring out what he did case "$OS" in @@ -16662,6 +17609,7 @@ psm=disable*) w_call psm=disabled ;; rtlm=disable*) w_call rtlm=disabled ;; sound=disable*) w_call sound=disabled ;; + ao=disable*) w_call ao=disabled ;; strictdrawordering=disable*) w_call strictdrawordering=disabled ;; # For convenience, allow users to use lower case and abbreviate. @@ -16733,6 +17681,7 @@ fi case "$1" in + 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,