[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#686091: unblock: winetricks/0.0+20120826+svn907-1



On 2012-08-28 19:40, Adam D. Barratt wrote:
| On Tue, 2012-08-28 at 15:43 +0300, Jari Aalto wrote:
| > I've not attached debdiff because this is a new upstream release and
| > changes to the code would be extensive.
| 
| That doesn't make sense.  If the changes are small enough to sanely
| review (which the description suggests they should be), they're small
| enough to attach as a debdiff.


Between Svn 831 and 907 there are many changes. Attached.

Jari
diff -Nru winetricks-0.0+20120606+svn831/debian/changelog winetricks-0.0+20120826+svn907/debian/changelog
--- winetricks-0.0+20120606+svn831/debian/changelog	2012-08-01 20:11:35.000000000 +0300
+++ winetricks-0.0+20120826+svn907/debian/changelog	2012-08-28 06:30:39.000000000 +0300
@@ -1,3 +1,17 @@
+winetricks (0.0+20120826+svn907-1) unstable; urgency=high
+
+  * New upstream release
+    - All download links (e.g. those pointing to Microsoft) updated.
+  * debian/control
+    - (Depends): Add libwine | libwine-unstable | libwine-dbg-unstable to
+      satisfy requirement for wineserver.
+  * debian/patches
+    - (10): New; Fix --gui option to start GUI only when option is enabled.
+  * debian/README.Debian
+    - New file.
+
+ -- Jari Aalto <jari.aalto@cante.net>  Mon, 27 Aug 2012 17:37:27 +0300
+
 winetricks (0.0+20120606+svn831-3) unstable; urgency=low
 
   * debian/control
diff -Nru winetricks-0.0+20120606+svn831/debian/control winetricks-0.0+20120826+svn907/debian/control
--- winetricks-0.0+20120606+svn831/debian/control	2012-08-01 20:11:35.000000000 +0300
+++ winetricks-0.0+20120826+svn907/debian/control	2012-08-28 06:30:39.000000000 +0300
@@ -11,7 +11,7 @@
 
 Package: winetricks
 Architecture: all
-Depends: ${misc:Depends}, wine-bin | wine-bin-unstable | wine64-bin, wget, cabextract, unzip, p7zip
+Depends: ${misc:Depends}, wine-bin | wine-bin-unstable | wine64-bin, libwine | libwine-unstable | libwine-dbg-unstable, wget, cabextract, unzip, p7zip
 Recommends: zenity | kdebase-bin, xdg-utils, sudo | gksu
 Suggests: wine-unstable | wine
 Description: package manager for WINE to install software easily
diff -Nru winetricks-0.0+20120606+svn831/debian/patches/10-option-gui.patch winetricks-0.0+20120826+svn907/debian/patches/10-option-gui.patch
--- winetricks-0.0+20120606+svn831/debian/patches/10-option-gui.patch	1970-01-01 02:00:00.000000000 +0200
+++ winetricks-0.0+20120826+svn907/debian/patches/10-option-gui.patch	2012-08-28 06:30:39.000000000 +0300
@@ -0,0 +1,33 @@
+From: Jari Aalto <jari.aalto@cante.net>
+Subject: Start GUI only when --gui option is used. Handle empty args.
+
+---
+ src/winetricks |   10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+--- a/src/winetricks
++++ b/src/winetricks
+@@ -17815,6 +17815,14 @@
+         shift
+     fi
+ 
++    if [ ! "$1" ] && [ "$WINETRICKS_GUI" = "none" ] ; then
++       echo "Nothing to do. See --help. Graphical UI can be started with --gui"
++       exit 0
++    elif [ ! "$1" ] && [ "$WINETRICKS_GUI" != "none" ] ; then
++       # no arguments, but gui asked.
++       set -- gui
++    fi
++
+     case "$1" in
+     die) w_die "we who are about to die salute you." ;;
+     volnameof=*)
+@@ -17828,7 +17836,7 @@
+         # This will read the volname from the given image and put it to stdout.
+         winetricks_volname ${1#volnameof=}
+         ;;
+-    "")
++    gui)
+         if test x"$DISPLAY" = x""
+         then
+             echo "DISPLAY not set, not defaulting to gui"
diff -Nru winetricks-0.0+20120606+svn831/debian/patches/series winetricks-0.0+20120826+svn907/debian/patches/series
--- winetricks-0.0+20120606+svn831/debian/patches/series	1970-01-01 02:00:00.000000000 +0200
+++ winetricks-0.0+20120826+svn907/debian/patches/series	2012-08-28 06:30:39.000000000 +0300
@@ -0,0 +1 @@
+10-option-gui.patch
diff -Nru winetricks-0.0+20120606+svn831/debian/README.Debian winetricks-0.0+20120826+svn907/debian/README.Debian
--- winetricks-0.0+20120606+svn831/debian/README.Debian	1970-01-01 02:00:00.000000000 +0200
+++ winetricks-0.0+20120826+svn907/debian/README.Debian	2012-08-28 06:30:39.000000000 +0300
@@ -0,0 +1,15 @@
+Wine setup / before using winetricks
+
+	Most of the software is 32bit only, so if you have 64bit OS,
+	consider setting:
+
+	    export WINEARCH=win32
+
+	before initializing wine; before ~/.wine is created. This
+	prevents wine being structured as a 64-bit installation and
+	allows winetricks to work. Refer to LP#1006909 for more
+	information:
+
+	https://bugs.launchpad.net/ubuntu/+source/winetricks/+bug/1006909
+
+ -- Jari Aalto <jari.aalto@cante.net>, Sat, 25 Aug 2012 17:41:13 +0300
diff -Nru winetricks-0.0+20120606+svn831/src/fix-ptrace.sh winetricks-0.0+20120826+svn907/src/fix-ptrace.sh
--- winetricks-0.0+20120606+svn831/src/fix-ptrace.sh	1970-01-01 02:00:00.000000000 +0200
+++ winetricks-0.0+20120826+svn907/src/fix-ptrace.sh	2012-07-18 06:23:32.000000000 +0300
@@ -0,0 +1,3 @@
+# For http://bugs.winehq.org/show_bug.cgi?id=30410
+# A patch is included in the ppa, but if you build from source, you need this workaround for ubuntu 12.04 and up
+echo 0|sudo tee /proc/sys/kernel/yama/ptrace_scope
diff -Nru winetricks-0.0+20120606+svn831/src/install-gecko.sh winetricks-0.0+20120826+svn907/src/install-gecko.sh
--- winetricks-0.0+20120606+svn831/src/install-gecko.sh	2012-06-05 10:35:41.000000000 +0300
+++ winetricks-0.0+20120826+svn907/src/install-gecko.sh	2012-07-18 22:17:02.000000000 +0300
@@ -1,6 +1,7 @@
 #!/bin/sh
 # Install the Gecko and Mono needed by modern wines
-set -ex
+set -e
+set -x
 
 # Wine installs to /usr/local by default:
 if test -d /usr/local/share/wine
@@ -47,6 +48,22 @@
         esac
         GECKO_SUFFIX=.msi
         ;;
+    gecko-1.6)
+        GECKO_VERSION=1.6
+        case $myarch in
+        x86)   GECKO_SHA1SUM=41167632dbc30f32dce7dca43c2a0487aa7cac04 ;;
+        x86_64) GECKO_SHA1SUM=edc626480024f58e294447573c7ab94606e8d610 ;;
+        esac
+        GECKO_SUFFIX=.msi
+        ;;
+    gecko-1.7)
+        GECKO_VERSION=1.7
+        case $myarch in
+        x86)   GECKO_SHA1SUM=efebc4ed7a86708e2dc8581033a3c5d6effe0b0b ;;
+        x86_64) GECKO_SHA1SUM=2253e7ce3a699ddd110c6c9ce4c7ca7e6f7c02f5 ;;
+        esac
+        GECKO_SUFFIX=.msi
+        ;;
     *)
         GECKO_VERSION=1.1.0
         GECKO_SHA1SUM=1b6c637207b6f032ae8a52841db9659433482714
@@ -97,6 +114,8 @@
 
 # Install gecko for stable wine and the current dev branch
 myarch=x86
+install_gecko gecko-1.7
+install_gecko gecko-1.6
 install_gecko gecko-1.5
 install_gecko gecko-1.4
 install_gecko gecko-1.3
@@ -106,6 +125,8 @@
 case `arch` in
 amd64|x86_64)
     myarch=x86_64
+    install_gecko gecko-1.7
+    install_gecko gecko-1.6
     install_gecko gecko-1.5
     install_gecko gecko-1.4
     install_gecko gecko-1.3
diff -Nru winetricks-0.0+20120606+svn831/src/winetricks winetricks-0.0+20120826+svn907/src/winetricks
--- winetricks-0.0+20120606+svn831/src/winetricks	2012-06-06 03:05:23.000000000 +0300
+++ winetricks-0.0+20120826+svn907/src/winetricks	2012-08-26 23:08:08.000000000 +0300
@@ -1,7 +1,8 @@
 #!/bin/sh
 
 # Name of this version of winetricks (YYYYMMDD)
-WINETRICKS_VERSION=20120308
+# (This doesn't change often, use the sha1sum of the file when reporting problems)
+WINETRICKS_VERSION=20120819
 
 # This is a utf-8 file
 # You should see an o with two dots over it here [ö]
@@ -43,7 +44,7 @@
 #   Copyright (C) 2007-2012 Dan Kegel <dank!kegel.com>
 #   Copyright (C) 2008-2012 Austin English <austinenglish!gmail.com>
 #   Copyright (C) 2010-2011 Phil Blankenship <phillip.e.blankenship!gmail.com>
-#   Copyright (C) 2010-2011 Shannon VanWagner <shannon.vanwagner!gmail.com>
+#   Copyright (C) 2010-2012 Shannon VanWagner <shannon.vanwagner!gmail.com>
 #   Copyright (C) 2010 Belhorma Bendebiche <amro256!gmail.com>
 #   Copyright (C) 2010 Eleazar Galano <eg.galano!gmail.com>
 #   Copyright (C) 2010 Travis Athougies <iammisc!gmail.com>
@@ -137,6 +138,9 @@
 # FIXME: maybe obey XDG_DATA_HOME
 W_PREFIXES_ROOT="${WINE_PREFIXES:-$HOME/.local/share/wineprefixes}"
 
+# ftp.microsoft.com resolves to two different IP addresses, one of which is broken
+ftp_microsoft_com=64.4.17.176
+
 #---- Public Functions ----
 
 # Ask permission to continue
@@ -2025,7 +2029,9 @@
         echo "Zenity not found!  Using kdialog as poor substitute."
         WINETRICKS_GUI=kdialog
     else
-        echo "Please install zenity if you want a graphical interface."
+        echo "No arguments given, so tried to start GUI, but zenity not found."
+        echo "Please install zenity if you want a graphical interface, or "
+        echo "run with --help for more options."
         exit 1
     fi
 }
@@ -3579,6 +3585,7 @@
 
 Commands:
 list                  list categories
+list-all              list all categories and their verbs
 apps list             list verbs in category 'applications'
 benchmarks list       list verbs in category 'benchmarks'
 dlls list             list verbs in category 'dlls'
@@ -3695,7 +3702,26 @@
     w_override_dlls native $dllname
 }
 
-#----------------------------------------------------------------
+helper_win2ksp4()
+{
+    filename=$1
+
+    # http://www.microsoft.com/downloads/details.aspx?FamilyID=1001AAF1-749F-49F4-8010-297BD6CA33A0&displaylang=en
+    w_download_to win2ksp4 http://download.microsoft.com/download/E/6/A/E6A04295-D2A8-40D0-A0C5-241BFECD095E/W2KSP4_EN.EXE fadea6d94a014b039839fecc6e6a11c20afa4fa8
+    w_try_cabextract -d "$W_TMP" -L -F $filename "$W_CACHE"/win2ksp4/W2KSP4_EN.EXE
+}
+
+helper_xpsp2()
+{
+    filename=$1
+
+    # http://www.microsoft.com/en-us/download/details.aspx?id=28
+    w_download_to xpsp2 http://download.microsoft.com/download/1/6/5/165b076b-aaa9-443d-84f0-73cf11fdcdf8/WindowsXP-KB835935-SP2-ENU.exe 33a8fef60d48ae1f2c4feea27111af5ceca3c4f6
+
+    w_try_cabextract -d "$W_TMP" -L -F $filename "$W_CACHE"/xpsp2/WindowsXP-KB835935-SP2-ENU.exe
+}
+
+#---------------------------------------------------------
 
 w_metadata  adobeair dlls \
     title="Adobe AIR 2.7" \
@@ -3766,18 +3792,33 @@
     publisher="Adobe" \
     year="2009" \
     media="download" \
-    file1="W2KSP4_EN.EXE" \
+    file1="../win2ksp4/W2KSP4_EN.EXE" \
     installed_file1="$W_SYSTEM32_DLLS_WIN/atmlib.dll"
 
 load_atmlib()
 {
-    # http://www.microsoft.com/downloads/details.aspx?FamilyID=1001AAF1-749F-49F4-8010-297BD6CA33A0&displaylang=en
-    # FIXME: This is a huge download for a single dll.
-    # FIXME: This download is also used to get msasn1.dll, but we can't download into common cache directory until the file1 metadata download check is extended to handle that.  It'd be better to not need the huge download.
-    w_download http://download.microsoft.com/download/E/6/A/E6A04295-D2A8-40D0-A0C5-241BFECD095E/W2KSP4_EN.EXE fadea6d94a014b039839fecc6e6a11c20afa4fa8
-    cd "$W_TMP"
-    w_try_cabextract "$W_CACHE"/atmlib/W2KSP4_EN.EXE i386/atmlib.dl_
-    w_try cp atmlib.dll "$W_SYSTEM32_DLLS"
+    helper_win2ksp4 i386/atmlib.dl_
+    w_try_cabextract --directory="$W_SYSTEM32_DLLS" "$W_TMP"/i386/atmlib.dl_
+}
+
+#----------------------------------------------------------------
+
+w_metadata cabinet dlls \
+    title="Microsoft cabinet.dll" \
+    publisher="Microsoft" \
+    year="2002" \
+    media="manual_download" \
+    file1="mdac_typ.exe" \
+    installed_file1="$W_SYSTEM32_DLLS_WIN/cabinet.dll"
+
+load_cabinet()
+{
+    # 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
+    w_try_cabextract --directory="$W_TMP" "$W_CACHE"/cabinet/$file1
+    w_try cp "$W_TMP"/cabinet.dll "$W_SYSTEM32_DLLS"/cabinet.dll
+
+    w_override_dlls native,builtin cabinet
 }
 
 #----------------------------------------------------------------
@@ -3785,18 +3826,15 @@
 w_metadata cmd dlls \
     title="MS cmd.exe" \
     publisher="Microsoft" \
-    year="2000" \
+    year="2004" \
     media="download" \
-    file1="Q259622_W2K_SP1_x86_en.EXE" \
+    file1="Q811493_W2K_SP4_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_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_override_dlls native,builtin cmd.exe
 }
@@ -3814,7 +3852,8 @@
 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 http://download.microsoft.com/download/platformsdk/redist/5.80.2614.3600/w9xnt4/en-us/cc32inst.exe 94c3c494258cc54bd65d2f0153815737644bffde
+    w_download $WINETRICKS_SOURCEFORGE/pocmin/Win%2095_98%20Controls/Win%2095_98%20Controls/CC32inst.exe 94c3c494258cc54bd65d2f0153815737644bffde cc32inst.exe
 
     w_try $WINE "$W_CACHE"/comctl32/cc32inst.exe "/T:$W_TMP_WIN" /c $W_UNATTENDED_SLASH_Q
     w_try_unzip -d "$W_TMP" "$W_TMP"/comctl32.exe
@@ -3877,17 +3916,16 @@
     publisher="Microsoft" \
     year="2003" \
     media="download" \
-    file1="Q823182_XPE_SP2_X86_ENU.EXE" \
+    file1="../xpsp2/WindowsXP-KB835935-SP2-ENU.exe" \
     installed_file1="$W_SYSTEM32_DLLS_WIN/crypt32.dll"
 
 load_crypt32()
 {
     w_call msasn1
 
-    # https://www.microsoft.com/downloads/en/details.aspx?FamilyID=3d733ddd-1182-4d46-87c1-3357ca3fed28&DisplayLang=en
-    w_download http://download.microsoft.com/download/1/6/2/1629d13a-dc5e-4dc6-a2a4-a6784942b94e/Q823182_XPE_SP2_X86_ENU.EXE c3e0aa35ab5197ede0d495c0edc242cf0fade54a
-    w_try_cabextract -d "$W_SYSTEM32_DLLS" "$W_CACHE"/crypt32/Q823182_XPE_SP2_X86_ENU.EXE -F rep/329115_crypt32.dll
-    mv "$W_SYSTEM32_DLLS"/rep/329115_crypt32.dll "$W_SYSTEM32_DLLS"/crypt32.dll
+    helper_win2ksp4 i386/crypt32.dl_
+    w_try_cabextract --directory="$W_SYSTEM32_DLLS" "$W_TMP"/i386/crypt32.dl_
+
     w_override_dlls native crypt32
 }
 
@@ -4354,6 +4392,71 @@
 
 #----------------------------------------------------------------
 
+w_metadata dx8sdk dlls \
+    title="MS DirectX 8 SDK (developers only)" \
+    publisher="Microsoft" \
+    year="2001" \
+    media="download" \
+    file1="dx81sdk_full.exe" \
+    installed_file1="c:/DXSDK/include/d3dx8math.h"
+
+load_dx8sdk()
+{
+    # http://download.microsoft.com/download/whistler/dx/8.1/w982kmexp/en-us/DX81SDK_FULL.exe
+    w_download http://www.darwinbots.com/numsgil/dx81sdk_full.exe 61b5733209205e942f37431ee40da712e1f50e6a
+
+    cd "$W_TMP"
+    w_try_unzip "$W_CACHE"/dx8sdk/dx81sdk_full.exe
+    cd DXF
+    w_try $WINE setup.exe   # /S/v/qn  for silent mode, but it's broken?
+}
+
+#----------------------------------------------------------------
+
+w_metadata dxsdk_nov2006 dlls \
+    title="MS DirectX SDK, November 2006 (developers only)" \
+    publisher="Microsoft" \
+    year="2006" \
+    media="download" \
+    file1="dxsdk_aug2006.exe" \
+    installed_file1="$W_PROGRAMS_X86_WIN/Microsoft DirectX SDK (August 2006)/Lib/x86/d3d10.lib"
+
+load_dxsdk_nov2006()
+{
+    w_download http://download.microsoft.com/download/9/e/5/9e5bfc66-a621-4e0d-8bfe-6688058c3f00/dxsdk_aug2006.exe 1e9cdbef391ebfbf781e6c87a375138d8c195c57
+
+    # dxview.dll uses mfc42u while registering
+    w_call mfc42
+
+    cd "$W_TMP"
+    w_try_cabextract "$W_CACHE"/dxsdk_nov2006/dxsdk_aug2006.exe
+    w_try_unzip dxsdk.exe
+    w_try $WINE msiexec /i Microsoft_DirectX_SDK.msi $W_UNATTENDED_SLASH_Q
+}
+
+#----------------------------------------------------------------
+
+w_metadata dxsdk_jun2010 dlls \
+    title="MS DirectX SDK, June 2010 (developers only)" \
+    publisher="Microsoft" \
+    year="2010" \
+    media="download" \
+    file1="DXSDK_Jun10.exe" \
+    installed_file1="$W_PROGRAMS_X86_WIN/Microsoft DirectX SDK (June 2010)/Lib/x86/d3d11.lib"
+
+load_dxsdk_jun2010()
+{
+    w_download http://download.microsoft.com/download/A/E/7/AE743F1F-632B-4809-87A9-AA1BB3458E31/DXSDK_Jun10.exe 8fe98c00fde0f524760bb9021f438bd7d9304a69
+
+    # Without dotnet20, install aborts halfway through
+    w_call dotnet20
+
+    cd "$W_TMP"
+    w_try $WINE "$W_CACHE"/dxsdk_jun2010/DXSDK_Jun10.exe ${W_OPT_UNATTENDED:+/U}
+}
+
+#----------------------------------------------------------------
+
 w_metadata dmsynth dlls \
     title="MS midi synthesizer from DirectX user redistributable" \
     publisher="Microsoft" \
@@ -4448,24 +4551,46 @@
 
 #----------------------------------------------------------------
 
+w_metadata dotnet_verifier dlls \
+    title="MS .NET Verifier" \
+    publisher="Microsoft" \
+    year="2012" \
+    media="download" \
+    file1="netfx_5F00_setupverifier_5F00_new.zip" \
+    installed_file1="$W_SYSTEM32_DLLS_WIN/netfx_setupverifier.exe"
+
+load_dotnet_verifier()
+{
+    # http://blogs.msdn.com/b/astebner/archive/2008/10/13/8999004.aspx
+    w_download http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Components-PostAttachments/00-08-99-90-04/netfx_5F00_setupverifier_5F00_new.zip c41b866bb760ec0530a29a16ed89444f413a0b6c
+
+    cd "$W_CACHE"/dotnet_verifier
+
+    w_try_unzip -d "$W_SYSTEM32_DLLS" netfx_5F00_setupverifier_5F00_new.zip netfx_setupverifier.exe
+}
+
+#----------------------------------------------------------------
+
 w_metadata dotnet20 dlls \
     title="MS .NET 2.0" \
     publisher="Microsoft" \
     year="2006" \
-    media="download" \
+    media="manual_download" \
     file1="dotnetfx.exe" \
     installed_file1="c:/windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll"
 
 load_dotnet20()
 {
+    w_call remove_mono
     w_call fontfix
 
     # Recipe from http://bugs.winehq.org/show_bug.cgi?id=10467#c57
+    # and http://bugs.winehq.org/show_bug.cgi?id=30845#c10
     w_set_winver win2k
 
     cd "$W_CACHE"/dotnet20
 
-    if test ! -f l_intl.nls
+    if test ! -f l_intl.nls && w_workaround_wine_bug 10467 "Install l_intl.nls" 1.1.44,
     then
         # See http://kegel.com/wine/l_intl-sh.txt for how l_intl.nls was generated
         # Use zip rather than naked file to get past strange web proxies
@@ -4476,19 +4601,28 @@
         w_try_unzip -d "$W_SYSTEM32_DLLS" l_intl.zip
     fi
 
-    # Remove wine-mono if present
-    $WINE uninstaller --remove '{E45D8920-A758-4088-B6C6-31DBB276992E}' || true
-
     # 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"
+    if test -d "$W_WINDIR_UNIX"/Microsoft.NET/Framework/v2.0.50727
+    then
+        rm -rf "$W_WINDIR_UNIX"/Microsoft.NET/Framework/v2.0.50727
+    fi
 
     # http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5
-    w_download http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe a3625c59d7a2995fb60877b5f5324892a1693b2a
-    w_try $WINE dotnetfx.exe ${W_OPT_UNATTENDED:+/q /c:"install.exe /q"}
+    w_download_manual http://download.cnet.com/Microsoft-NET-Framework-Redistributable-Package-x86/3000-10250_4-10726028.html dotnetfx.exe a3625c59d7a2995fb60877b5f5324892a1693b2a
+
+    # A bug that popped up in 1.5.3 was fixed in 1.5.7; until then a
+    # crappy workaround helps
+    if w_workaround_wine_bug 30845 "Adding .NETFramework registry key.  Ignore fatal error dialog if it pops up." ,1.5.3 1.5.7,
+    then
+        $WINE reg add 'HKLM\Software\Microsoft\.NETFramework' /v InstallRoot /d 'C:\Windows\Microsoft.NET\Framework\' /f
+    fi
+
+    if w_workaround_wine_bug 30845 "Using native fusion while installing..." ,1.5.6
+    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
     w_unset_winver
 
     # We can't stop installing dotnet20 in win2K mode until wine supports
@@ -4614,12 +4748,20 @@
     title="MS .NET 3.0" \
     publisher="Microsoft" \
     year="2006" \
-    media="download" \
-    file1="dotnetfx3.exe" \
+    media="manual_download" \
+    file1="netframework3.exe" \
     installed_file1="c:/windows/Microsoft.NET/Framework/v3.0/Microsoft .NET Framework 3.0/logo.bmp"
 
 load_dotnet30()
 {
+    if test -f /proc/sys/kernel/yama/ptrace_scope
+    then
+        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`
@@ -4629,6 +4771,8 @@
         ;;
     esac
 
+    # dotnet20 does this:
+    # w_call remove_mono
     w_call dotnet20
 
     # Delete files and registry keys related to .net 3.x
@@ -4638,7 +4782,7 @@
 
     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
+    w_download_manual http://www.oldversion.com/download-.Net-Framework-3.0.html netframework3.exe f3d2c3c7e4c0c35450cf6dab1f9f2e9e7ff50039
 
     # AF's workaround to avoid long pause
     LANGPACKS_BASE_PATH="${W_WINDIR_UNIX}/SYSMSICache/Framework/v3.0"
@@ -4654,6 +4798,18 @@
     # 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"
+
+    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
     w_try $WINE $file1 ${W_OPT_UNATTENDED:+ /q /c:"install.exe /q"}
 }
@@ -4675,6 +4831,8 @@
     *) w_warn "dotnet30sp1 does not yet fully work or install on wine.  Caveat emptor." ;;
     esac
 
+    # dotnet20 does this, which is called by dotnet30:
+    # w_call remove_mono
     w_call dotnet30
 
     w_download http://download.microsoft.com/download/8/F/E/8FEEE89D-9E4F-4BA3-993E-0FFEA8E21E1B/NetFx30SP1_x86.exe 8d779e337920b097aa0c01859912950606e9fc12
@@ -4752,6 +4910,10 @@
     # http://www.microsoft.com/download/en/details.aspx?id=25150
     w_download http://download.microsoft.com/download/2/0/e/20e90413-712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe 3dce66bae0dd71284ac7a971baed07030a186918
 
+    # Work around hang in http://bugs.winehq.org/show_bug.cgi?id=25060#c19
+    WINEDLLOVERRIDES=ngen.exe,mscorsvw.exe=b 
+    export WINEDLLOVERRIDES
+
     cd "$W_CACHE"/dotnet35sp1
     $WINE dotnetfx35.exe /lang:ENU $W_UNATTENDED_SLASH_Q
 }
@@ -4781,22 +4943,16 @@
         w_download_manual http://www.mediafire.com/?v8rw5h1ra7maod4 gacutil-net40.tar.bz2 d40cc1249ea051338c064aff5ba0f1a5f24b59a5
     fi
 
-    # Remove wine-mono if present
-    $WINE uninstaller --remove '{E45D8920-A758-4088-B6C6-31DBB276992E}' || true
+    w_call remove_mono
 
     # 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"
+    w_try rm -f "$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
+    WINEDLLOVERRIDES=fusion=b $WINE dotNetFx40_Full_x86_x64.exe ${W_OPT_UNATTENDED:+/q /c:"install.exe /q"} || true
 
     w_override_dlls native mscoree
 
@@ -4876,8 +5032,8 @@
     media="download" \
     file1="install_flash_player_10_plugin.exe" \
     file2="install_flash_player_10_active_x.exe" \
-    installed_file1="$W_SYSTEM32_DLLS_WIN/Macromed/Flash/FlashUtil10zd_Plugin.exe" \
-    installed_file2="$W_SYSTEM32_DLLS_WIN/Macromed/Flash/FlashUtil10zd_ActiveX.exe" \
+    installed_file1="$W_SYSTEM32_DLLS_WIN/Macromed/Flash/FlashUtil10ze_Plugin.exe" \
+    installed_file2="$W_SYSTEM32_DLLS_WIN/Macromed/Flash/FlashUtil10ze_ActiveX.exe" \
     homepage="http://www.adobe.com/products/flashplayer/";
 
 load_flash()
@@ -4900,7 +5056,8 @@
     # 2012-02-23: sha1sum 3e9a3d8d7e5fef87ad449c93fa72d4799306ff07
     # 2012-03-08: sha1sum ccbf24ab0dfa3635fb12d895eb55c5e888879c5d
     # 2012-05-02: sha1sum d86ca46afc312b14375aad483d1c7e5f12c707a4
-    w_download http://fpdownload.macromedia.com/get/flashplayer/current/licensing/win/install_flash_player_10_active_x.exe d86ca46afc312b14375aad483d1c7e5f12c707a4
+    # 2012-05-11: sha1sum 4020135dfbfe4b49067bb679000e0a6b7c7ed8bc
+    w_download http://fpdownload.macromedia.com/get/flashplayer/current/licensing/win/install_flash_player_10_active_x.exe 4020135dfbfe4b49067bb679000e0a6b7c7ed8bc
     cd "$W_CACHE"/flash
 
     w_try $WINE install_flash_player_10_active_x.exe ${W_OPT_UNATTENDED:+ /install}
@@ -4919,7 +5076,8 @@
     # 2012-02-23: sha1sum 49ee6230f2ba47bcb5f978cf7a97721fb0f3db78
     # 2012-03-08: sha1sum aeddca4eddb0ad91c1b8bc32f8c543069b519325
     # 2102-05-02: sha1sum 0a7a7b9b8b6b834e452b456205e33210fb3b544c, name change
-    w_download http://fpdownload.macromedia.com/get/flashplayer/current/licensing/win/install_flash_player_10_plugin.exe 0a7a7b9b8b6b834e452b456205e33210fb3b544c
+    # 2102-05-11: sha1sum 060f11d5479863af609272a24dea82e6b04e0641
+    w_download http://fpdownload.macromedia.com/get/flashplayer/current/licensing/win/install_flash_player_10_plugin.exe 060f11d5479863af609272a24dea82e6b04e0641
 
     w_try $WINE install_flash_player_10_plugin.exe ${W_OPT_UNATTENDED:+ /install}
 }
@@ -4964,26 +5122,17 @@
 w_metadata gdiplus dlls \
     title="MS GDI+" \
     publisher="Microsoft" \
-    year="2009" \
-    media="download" \
-    file1="WindowsXP-KB975337-x86-ENU.exe" \
+    year="2004" \
+    media="manual_download" \
+    file1="NDP1.0sp2-KB830348-X86-Enu.exe" \
     installed_file1="$W_SYSTEM32_DLLS_WIN/gdiplus.dll"
 
 load_gdiplus()
 {
-    # FIXME: do newer versions of windows install a gdiplus in winsxs?
-    # If so, and one is present, perhaps we should return without doing
-    # anything here.
-
-    # http://www.microsoft.com/downloads/details.aspx?familyid=6A63AB9C-DF12-4D41-933C-BE590FEAA05A&displaylang=en
-    w_download http://download.microsoft.com/download/a/b/c/abc45517-97a0-4cee-a362-1957be2f24e1/WindowsXP-KB975337-x86-ENU.exe b9a84bc3de92863bba1f5eb1d598446567fbc646
-    # Used to use $W_UNATTENDED_SLASH_Q, but that mean that in non-q
-    # mode, a mysterious "Extraction Complete" dialog was all user saw.
-    # Showing that isn't useful, so always use /q.
+    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 $WINE WindowsXP-KB975337-x86-ENU.exe /extract:$W_TMP_WIN /q
-    # And then make it globally available.
-    w_try cp "$W_TMP/asms/10/msft/windows/gdiplus/gdiplus.dll" "$W_SYSTEM32_DLLS"
+    w_try_cabextract -d "$W_TMP" -F FL_gdiplus_dll_____X86.3643236F_FC70_11D3_A536_0090278A1BB8 "$W_CACHE"/gdiplus/$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...?
     w_override_dlls native gdiplus
@@ -5265,7 +5414,7 @@
     # 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://download.microsoft.com/download/4/3/9/4393c9ac-e69e-458d-9f6d-2fe191c51469/jet40sp8_9xnt.exe 8cd25342030857969ede2d8fcc34f3f7bcc2d6d4
+    w_download http://www.autoxplorer.com/exe/Jet40SP8_9xNT.exe 8cd25342030857969ede2d8fcc34f3f7bcc2d6d4
     cd "$W_CACHE"/jet40
     w_try $WINE jet40sp8_9xnt.exe $W_UNATTENDED_SLASH_Q
 }
@@ -5388,53 +5537,20 @@
 w_metadata mfc40 dlls \
     title="MS mfc40 (Microsoft Foundation Classes from Visual C++ 4.0)" \
     publisher="Microsoft" \
-    year="2004" \
+    year="1999" \
     media="download" \
-    file1="ole2v.exe" \
-    installed_file1="$W_SYSTEM32_DLLS_WIN/MFC40.DLL"
+    file1="mfc40.cab" \
+    installed_file1="$W_SYSTEM32_DLLS_WIN/mfc40.dll"
 
 load_mfc40()
 {
-    # See http://support.microsoft.com/kb/122244
-    w_download http://download.microsoft.com/download/ole/ole2v/3.5/w351/en-us/ole2v.exe c6cac71f32405ccb09c6f375e0738e6e13f073e4
-    w_try_unzip -d "$W_TMP" "$W_CACHE"/mfc40/ole2v.exe
-    w_try cp -f "$W_TMP"/MFC40.DLL "$W_SYSTEM32_DLLS"
-}
-
-#----------------------------------------------------------------
-
-w_metadata mono26 dlls \
-    title="Mono 2.6 (.NET compatability)" \
-    publisher="Novell" \
-    year="2009" \
-    media="download" \
-    file1="mono-2.6.7-gtksharp-2.12.10-win32-2.exe" \
-    installed_file1="$W_PROGRAMS_X86_WIN/Mono-2.6.7/bin/mono.dll"
-
-load_mono26()
-{
-    # Load Mono, have it handle all .net requests
-    w_download http://ftp.novell.com/pub/mono/archive/2.6.7/windows-installer/2/mono-2.6.7-gtksharp-2.12.10-win32-2.exe c31c06063aa82006dff2f8df22dcc6ba046afbc2
-    w_try $WINE "$W_CACHE"/mono26/mono-2.6.7-gtksharp-2.12.10-win32-2.exe $W_UNATTENDED_SLASH_SILENT
+    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
 }
 
 #----------------------------------------------------------------
 
-w_metadata mono28 dlls \
-    title="Mono 2.8 (.NET compatability)" \
-    publisher="Novell" \
-    year="2010" \
-    media="download" \
-    file1="mono-2.8.2-gtksharp-2.12.10-win32-1.exe" \
-    installed_file1="$W_PROGRAMS_X86_WIN/Mono-2.8.2/bin/mono-2.0.dll"
-
-load_mono28()
-{
-    # Load Mono, have it handle all .net requests
-    w_download http://ftp.novell.com/pub/mono/archive/2.8.2/windows-installer/1/mono-2.8.2-gtksharp-2.12.10-win32-1.exe d0ee2360b6fb7f16c35b54ee67044ff22bb1487e 
-    w_try $WINE "$W_CACHE"/mono28/mono-2.8.2-gtksharp-2.12.10-win32-1.exe $W_UNATTENDED_SLASH_SILENT
-}
-
 #----------------------------------------------------------------
 
 w_metadata mono210 dlls \
@@ -5477,19 +5593,13 @@
     publisher="Microsoft" \
     year="2003" \
     media="download" \
-    file1="W2KSP4_EN.EXE" \
+    file1="../win2ksp4/W2KSP4_EN.EXE" \
     installed_file1="$W_SYSTEM32_DLLS_WIN/msasn1.dll"
 
 load_msasn1()
 {
-    # http://www.microsoft.com/downloads/details.aspx?FamilyID=1001AAF1-749F-49F4-8010-297BD6CA33A0&displaylang=en
-    # FIXME: This is a huge download for a single dll.
-    w_download http://download.microsoft.com/download/E/6/A/E6A04295-D2A8-40D0-A0C5-241BFECD095E/W2KSP4_EN.EXE fadea6d94a014b039839fecc6e6a11c20afa4fa8
-    cd "$W_TMP"
-    w_try_cabextract -F i386/msasn1.dl_ "$W_CACHE"/msasn1/W2KSP4_EN.EXE
-    w_try_cabextract i386/msasn1.dl_
-    w_try cp msasn1.dll "$W_SYSTEM32_DLLS"
-    w_try rm -rf i386
+    helper_win2ksp4 i386/msasn1.dl_
+    w_try_cabextract --directory="$W_SYSTEM32_DLLS" "$W_TMP"/i386/msasn1.dl_
 }
 
 #----------------------------------------------------------------
@@ -5538,59 +5648,18 @@
 
 #----------------------------------------------------------------
 
-w_metadata msi2 dlls \
-    title="Windows Installer 2.0" \
-    publisher="Microsoft" \
-    year="2001" \
-    media="download" \
-    file1="InstMsiA.exe" \
-    installed_exe1="$W_SYSTEM32_DLLS_WIN/msiexec.exe"
-
-load_msi2()
-{
-    # Install native msi per http://wiki.winehq.org/NativeMsi
-    # http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=CEBBACD8-C094-4255-B702-DE3BB768148F
-    w_download http://download.microsoft.com/download/WindowsInstaller/Install/2.0/W9XMe/EN-US/InstMsiA.exe e739c40d747e7c27aacdb07b50925b1635ee7366
-
-    # Pick win98 so we can install native msi
-    w_set_winver win98
-
-    # Avoid "err:setupapi:SetupDefaultQueueCallbackA copy error 5 ..."
-    rm -f "$W_SYSTEM32_DLLS"/msi.dll
-    rm -f "$W_SYSTEM32_DLLS"/msiexec.exe
-
-    # Avoid "instMSIA.exe returned status 20.  Aborting."
-    if w_workaround_wine_bug 26816 "Removing fake mspatcha to skip version check" ,1.3.16
-    then
-        rm -f "$W_SYSTEM32_DLLS"/mspatcha.dll
-    fi
-
-    cd "$W_CACHE"/msi2
-    WINEDLLOVERRIDES="msi,msiexec.exe=n" w_try $WINE InstMSIA.exe $W_UNATTENDED_SLASH_Q
-
-    w_override_dlls native,builtin msi msiexec.exe
-
-    # and undo version win98
-    w_unset_winver
-}
-
-#----------------------------------------------------------------
-
 w_metadata mspatcha dlls \
     title="MS mspatcha" \
     publisher="Microsoft" \
-    year="2001" \
+    year="2004" \
     media="download" \
-    file1="InstMsiA.exe" \
+    file1="../win2ksp4/W2KSP4_EN.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"
+    helper_win2ksp4 i386/mspatcha.dl_
+    w_try_cabextract --directory="$W_SYSTEM32_DLLS" "$W_TMP"/i386/mspatcha.dl_
 
     w_override_dlls native,builtin mspatcha
 }
@@ -5622,14 +5691,14 @@
     publisher="Microsoft" \
     year="2001" \
     media="download" \
-    file1="../msi2/InstMsiA.exe" \
+    file1="InstMsiW.exe" \
     installed_file1="$W_SYSTEM32_DLLS_WIN/msls31.dll"
 
 load_msls31()
 {
     # Needed by native richedit and internet explorer
-    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"/msls31/InstMsiA.exe
+    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"
 }
 
@@ -5822,18 +5891,18 @@
 #----------------------------------------------------------------
 
 w_metadata pngfilt dlls \
-    title="pngfilt.dll (from ie6)" \
+    title="pngfilt.dll (from ie5)" \
     publisher="Microsoft" \
-    year="2002" \
+    year="2004" \
     media="download" \
-    file1="q328970.exe" \
+    file1="IE5.01sp4-KB871260-Windows2000sp4-x86-ENU.exe" \
     installed_file1="$W_SYSTEM32_DLLS_WIN/pngfilt.dll"
 
 load_pngfilt()
 {
-    # http://support.microsoft.com/kb/328970
-    w_download http://download.microsoft.com/download/IE60/30secpac/6/W98NT42KMeXP/EN-US/q328970.exe 5fd84a335c43d194c0138a091dc0ea151ecc331c
-    w_try_cabextract -d "$W_SYSTEM32_DLLS" -L -F pngfilt.dll "$W_CACHE"/pngfilt/q328970.exe
+    # http://www.microsoft.com/en-us/download/details.aspx?id=3907
+    w_download http://download.microsoft.com/download/5/0/c/50c42d0e-07a8-4a2b-befb-1a403bd0df96/IE5.01sp4-KB871260-Windows2000sp4-x86-ENU.exe 6f5db296ebf58e81c49bc667049a3f88a3f1ec3d
+    w_try_cabextract -d "$W_SYSTEM32_DLLS" -L -F pngfilt.dll "$W_CACHE"/pngfilt/IE5.01sp4-KB871260-Windows2000sp4-x86-ENU.exe
     w_try_regsvr pngfilt.dll
 }
 
@@ -5969,23 +6038,41 @@
         fi
     fi
 }
+
+#----------------------------------------------------------------
+
+w_metadata remove_mono settings \
+    title="Remove builtin wine-mono"
+
+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\|`"
+    if test "$mono_uuid"
+    then
+         $WINE uninstaller --remove $mono_uuid
+    else
+        w_warn "Mono does not appear to be installed."
+    fi
+}
+
 #----------------------------------------------------------------
 
 w_metadata riched20 dlls \
-    title="MS RichEdit Control version 2.0 (riched20.dll, riched32.dll)" \
+    title="MS RichEdit Control version 2.0 (riched20.dll)" \
     publisher="Microsoft" \
-    year="1999" \
+    year="2004" \
     media="download" \
-    file1="Q249973i.EXE" \
+    file1="../win2ksp4/W2KSP4_EN.EXE" \
     installed_file1="$W_SYSTEM32_DLLS_WIN/riched20.dll"
 
 load_riched20()
 {
-    # http://support.microsoft.com/?kbid=249973
-    w_download http://download.microsoft.com/download/winntsp/Patch/RTF/NT4/EN-US/Q249973i.EXE f0b7663f15dbd31410435483ba832318c7a70470
-    w_try_cabextract --directory="$W_TMP" "$W_CACHE"/riched20/Q249973i.EXE
-    w_try cp -f "$W_TMP"/riched??.dll "$W_SYSTEM32_DLLS"
-    w_override_dlls native,builtin riched20 riched32
+    # FIXME: this verb used to also install riched32.  Does anyone need that?
+    helper_win2ksp4 i386/riched20.dl_
+    w_try_cabextract --directory="$W_SYSTEM32_DLLS" "$W_TMP"/i386/riched20.dl_
+    w_override_dlls native,builtin riched20
 }
 
 #----------------------------------------------------------------
@@ -6094,8 +6181,10 @@
     # 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 3b10f645ba1a6815fa97924a6bde4eda3177ff68
+    # 2012-04-26 sha1sum: 48b1a44b2c12c486916d641f3b4e20abffb3d6e4
+    # 2012-08-08 sha1sum: 3c4d531ccf0bb5788f1c197c63e9c0aa89885ee6
+ 
+    w_download http://fpdownload.macromedia.com/get/shockwave/default/english/win95nt/latest/sw_lic_full_installer.msi 3c4d531ccf0bb5788f1c197c63e9c0aa89885ee6 
     cd "$W_CACHE"/shockwave
     w_try $WINE msiexec /i sw_lic_full_installer.msi $W_UNATTENDED_SLASH_Q
 }
@@ -6160,7 +6249,7 @@
 {
     # Not referenced on MS web anymore, but the old Microsoft Software Library FTP still has it.
     # See ftp://ftp.microsoft.com/Softlib/index.txt
-    w_download ftp://ftp.microsoft.com/Softlib/MSLFILES/VBRUN200.EXE ac0568b73ee375408778e9b505df995f79ab907e
+    w_download ftp://$ftp_microsoft_com/Softlib/MSLFILES/VBRUN200.EXE ac0568b73ee375408778e9b505df995f79ab907e
     w_try_unzip -d "$W_TMP" "$W_CACHE"/vb2run/VBRUN200.EXE
     w_try cp -f "$W_TMP/VBRUN200.DLL" "$W_SYSTEM32_DLLS"
 }
@@ -6225,7 +6314,7 @@
     title="MS Visual Basic 6 runtime sp6" \
     publisher="Microsoft" \
     year="2004" \
-    media="download" \
+    media="manual_download" \
     file1="vbrun60sp6.exe" \
     installed_file1="$W_SYSTEM32_DLLS_WIN/MSVBVM60.DLL"
 
@@ -6234,7 +6323,7 @@
     # http://support.microsoft.com/kb/290887
     if test ! -f "$W_CACHE"/vb6run/vbrun60sp6.exe
     then
-        w_download http://download.microsoft.com/download/5/a/d/5ad868a0-8ecd-4bb0-a882-fe53eb7ef348/VB6.0-KB290887-X86.exe 73ef177008005675134d2f02c6f580515ab0d842
+        w_download_manual "http://download.cnet.com/Service-Pack-6-for-Visual-Basic-6-0-Run-Time-Redistribution-Pack-vbrun60sp6-exe/3000-2206_4-10726557.html?tag=downloadRatingModule;summaryRatings"; VB6.0-KB290887-X86.exe 73ef177008005675134d2f02c6f580515ab0d842
 
         w_try $WINE "$W_CACHE"/vb6run/VB6.0-KB290887-X86.exe "/T:$W_TMP_WIN" /c $W_UNATTENDED_SLASH_Q
         if test ! -f "$W_TMP"/vbrun60sp6.exe
@@ -6266,9 +6355,9 @@
 winetricks_vcrun6_helper() {
     if test ! -f "$W_CACHE"/vcrun6/vcredist.exe
     then
-        w_download_to vcrun6 http://download.microsoft.com/download/vc60pro/update/1/w9xnt4/en-us/vc6redistsetup_enu.exe 382c8f5a7f41189af8d4165cf441f274b7e2a457
+        w_download_to vcrun6 http://download.microsoft.com/download/vc60pro/Update/2/W9XNT4/EN-US/VC6RedistSetup_deu.exe a8c4dd33e281c166488846a10edf97ff0ce37044
 
-        w_try $WINE "$W_CACHE"/vcrun6/vc6redistsetup_enu.exe "/T:$W_TMP_WIN" /c $W_UNATTENDED_SLASH_Q
+        w_try $WINE "$W_CACHE"/vcrun6/vc6redistsetup_deu.exe "/T:$W_TMP_WIN" /c $W_UNATTENDED_SLASH_Q
         if test ! -f "$W_TMP"/vcredist.exe
         then
             w_die vcredist.exe not found
@@ -6282,7 +6371,7 @@
     publisher="Microsoft" \
     year="2000" \
     media="download" \
-    file1="vc6redistsetup_enu.exe" \
+    file1="vc6redistsetup_deu.exe" \
     installed_file1="$W_SYSTEM32_DLLS_WIN/mfc42.dll"
 
 load_vcrun6()
@@ -6314,7 +6403,7 @@
     publisher="Microsoft" \
     year="2000" \
     media="download" \
-    file1="../vcrun6/vc6redistsetup_enu.exe" \
+    file1="../vcrun6/vc6redistsetup_deu.exe" \
     installed_file1="$W_SYSTEM32_DLLS_WIN/mfc42u.dll"
 
 load_mfc42()
@@ -6329,7 +6418,7 @@
     publisher="Microsoft" \
     year="2000" \
     media="download" \
-    file1="../vcrun6/vc6redistsetup_enu.exe" \
+    file1="../vcrun6/vc6redistsetup_deu.exe" \
     installed_file1="$W_SYSTEM32_DLLS_WIN/msvcirt.dll"
 
 load_msvcirt()
@@ -6349,13 +6438,13 @@
     title="Visual C++ 6 sp6 libraries (with fixes in atl and mfc)" \
     publisher="Microsoft" \
     year="2004" \
-    media="download" \
+    media="manual_download" \
     file1="Vs6sp6.exe" \
     installed_file1="$W_SYSTEM32_DLLS_WIN/mfc42.dll"
 
 load_vcrun6sp6()
 {
-    w_download http://download.microsoft.com/download/1/9/f/19fe4660-5792-4683-99e0-8d48c22eed74/Vs6sp6.exe 2292437a8967349261c810ae8b456592eeb76620
+    w_download_manual "http://download.cnet.com/Service-Pack-6-for-Visual-Basic-6-0-Visual-C-6-0-with-Visual-Source-Safe-6-0d/3000-2206_4-10726553.html?tag=rb_content;contentBody"; Vs6sp6.exe 2292437a8967349261c810ae8b456592eeb76620
 
     # No EULA is presented when passing command-line extraction arguments,
     # so we'll simplify extraction with cabextract.
@@ -6551,14 +6640,13 @@
     publisher="Microsoft" \
     year="2005" \
     media="download" \
-    file1="Windows2000-KB842773-x86-ENU.EXE" \
+    file1="../win2ksp4/W2KSP4_EN.EXE" \
     installed_file1="$W_SYSTEM32_DLLS_WIN/winhttp.dll"
 
 load_winhttp()
 {
-    # See https://www.microsoft.com/downloads/en/details.aspx?FamilyID=3ee866a0-3a09-4fdf-8bdb-c906850ab9f2
-    w_download http://download.microsoft.com/download/5/d/8/5d802926-6bab-45fa-b96e-bee15413523b/Windows2000-KB842773-x86-ENU.EXE e676d47e065a314bbf1d15b096a67aede6b0539a
-    w_try_cabextract -d "$W_SYSTEM32_DLLS" -L -F winhttp.dll "$W_CACHE"/winhttp/Windows2000-KB842773-x86-ENU.EXE
+    helper_win2ksp4 i386/new/winhttp.dl_
+    w_try_cabextract --directory="$W_SYSTEM32_DLLS" "$W_TMP"/i386/new/winhttp.dl_
     w_override_dlls native,builtin winhttp
 }
 
@@ -6567,19 +6655,15 @@
 w_metadata wininet dlls \
     title="MS Windows Internet API" \
     publisher="Microsoft" \
-    year="1999" \
+    year="2008" \
     media="download" \
-    file1="3725.exe" \
+    file1="../win2ksp4/W2KSP4_EN.EXE" \
     installed_file1="$W_SYSTEM32_DLLS_WIN/wininet.dll"
 
 load_wininet()
 {
-    # This is an updated wininet from IE 5.0.1.
-    # (Good enough for Active Worlds browser.  Also helps "Avatar - Legends of the Arena" get to login screen.)
-    # See http://www.microsoft.com/downloads/details.aspx?familyid=6DEE32AB-B618-4FB3-9A45-CDD08162E167
-    w_download http://download.microsoft.com/download/ie5/Update/1/WIN98/EN-US/3725.exe b048e0b4e303298de3317b16f7008c43ca71ddfe
-    w_try_cabextract --directory="$W_TMP" "$W_CACHE/wininet/3725.exe"
-    w_try cp -f "$W_TMP"/Wininet.dll "$W_SYSTEM32_DLLS"/wininet.dll
+    helper_win2ksp4 i386/wininet.dl_
+    w_try_cabextract --directory="$W_SYSTEM32_DLLS" "$W_TMP"/i386/wininet.dl_
     w_override_dlls native,builtin wininet
 }
 
@@ -6676,7 +6760,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
+    w_override_dlls native,builtin jscript scrrun vbscript
     w_try_regsvr dispex.dll jscript.dll scrobj.dll scrrun.dll vbscript.dll wshcon.dll wshext.dll
 }
 
@@ -6918,6 +7002,28 @@
 
 #----------------------------------------------------------------
 
+w_metadata consolas fonts \
+    title="MS Consolas Console font" \
+    publisher="Microsoft" \
+    year="2011" \
+    media="download" \
+    file1="PowerPointViewer.exe" \
+    installed_file1="$W_FONTSDIR_WIN/consola.ttf"
+
+load_consolas()
+{
+    # http://www.microsoft.com/en-us/download/details.aspx?id=13
+    w_download http://download.microsoft.com/download/E/6/7/E675FFFC-2A6D-4AB0-B3EB-27C9F8C8F696/PowerPointViewer.exe ab48a8ebac88219c84f293c6c1e81f1a0f420da6
+    w_try_cabextract -d "$W_TMP" -L -F ppviewer.cab "$W_CACHE"/consolas/PowerPointViewer.exe
+    w_try_cabextract -d "$W_FONTSDIR_UNIX" -L -F 'CONSOL*.TTF' "$W_TMP"/ppviewer.cab
+    w_register_font consola.ttf "Consoleas"
+    w_register_font consolab.ttf "Consoleas Bold"
+    w_register_font consolai.ttf "Consoleas Italic"
+    w_register_font consolaz.ttf "Consoleas Bold Italic"
+}
+
+#----------------------------------------------------------------
+
 w_metadata corefonts fonts \
     title="MS Arial, Courier, Times fonts" \
     publisher="Microsoft" \
@@ -7042,7 +7148,7 @@
     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"     2cbe4cc389294d1c43e662c4d98c64dab28fb9cb
+    do_droid DroidSansFallback.ttf     "Droid Sans Fallback"     0da957b8ca2e7535d991b04b46a62fb52d2d54e8
     do_droid DroidSansJapanese.ttf     "Droid Sans Japanese"     b3a248c11692aa88a30eb25df425b8910fe05dc5
     do_droid DroidSansMono.ttf         "Droid Sans Mono"         133fb6cf26ea073b456fb557b94ce8c46143b117
     do_droid DroidSans.ttf             "Droid Sans"              62f2841f61e4be66a0303cd1567ed2d300b4e31c
@@ -7259,7 +7365,7 @@
 
 load_lucida()
 {
-    w_download ftp://ftp.microsoft.com/bussys/winnt/winnt-public/fixes/usa/NT40TSE/hotfixes-postSP3/Euro-fix/eurofixi.exe 64c47ad92265f6f10b0fd909a703d4fd1b05b2d5
+    w_download ftp://$ftp_microsoft_com/bussys/winnt/winnt-public/fixes/usa/NT40TSE/hotfixes-postSP3/Euro-fix/eurofixi.exe 64c47ad92265f6f10b0fd909a703d4fd1b05b2d5
     w_try_cabextract -d "$W_FONTSDIR_UNIX" -L -F 'lucon.ttf' "$W_CACHE"/lucida/eurofixi.exe
     w_register_font lucon.ttf "Lucida Console"
 }
@@ -7302,7 +7408,7 @@
 {
     # The tahoma and tahomabd fonts are needed by e.g. Steam
 
-    w_download http://download.microsoft.com/download/office97pro/fonts/1/w95/en-us/tahoma32.exe 888ce7b7ab5fd41f9802f3a65fd0622eb651a068
+    w_download ftp://$ftp_microsoft_com/Softlib/MSLFILES/tahoma32.exe 888ce7b7ab5fd41f9802f3a65fd0622eb651a068
     w_try_cabextract --directory="$W_TMP" "$W_CACHE"/tahoma/tahoma32.exe
     w_try cp -f "$W_TMP"/Tahoma.TTF "$W_FONTSDIR_UNIX"/tahoma.ttf
     w_try cp -f "$W_TMP"/Tahomabd.TTF "$W_FONTSDIR_UNIX"/tahomabd.ttf
@@ -7678,7 +7784,7 @@
 
 load_cygwin()
 {
-    if w_workaround_wine_bug 21206
+    if w_workaround_wine_bug 24018
     then
         # Wine can't handle current cygwin, so use some random verison of cygwin's setup from mid-2009
         w_download http://kegel.com/cygwin/1.5/setup.exe 5cfb8ebe4f385b0fcffa04d22d607ec75ea05180
@@ -7686,7 +7792,7 @@
         # -X option is insecure, but we have to use it because fruitbat.org didn't archive .sig files :-(
         _W_cygopts="-X"
     else
-        w_download http://cygwin.com/setup.exe aaa2552de78e14891937c1fde86032e811cf3c3a
+        w_download http://cygwin.com/setup.exe 9a24bcbcf58d8ab25d9e915399c9be51ac1837c3
         _W_cygopts=
     fi
 
@@ -7850,7 +7956,7 @@
 
 load_fontxplorer()
 {
-    w_download http://www.moonsoftware.com/files/Font_Xplorer_122_Free.exe 22feb63be28730cbfad5458b139464490a25a68d
+    w_download http://www.moonsoftware.com/files/legacy/Font_Xplorer_122_Free.exe 22feb63be28730cbfad5458b139464490a25a68d
 
     cd "$W_CACHE/fontxplorer"
     w_try $WINE Font_Xplorer_122_Free.exe $W_UNATTENDED_SLASH_S
@@ -7862,16 +7968,15 @@
 w_metadata irfanview apps \
     title="Irfanview" \
     publisher="Irfan Skiljan" \
-    year="2011" \
-    media="download" \
-    file1="iview428_setup.exe" \
+    year="2012" \
+    media="manual_download" \
+    file1="iview433_setup.exe" \
     installed_file1="$W_PROGRAMS_X86_WIN/IrfanView/i_view32.exe" \
     homepage="http://www.irfanview.com/";
 
 load_irfanview()
 {
-    w_download http://www.software.com/files/iview428_setup.exe \
-               a51c3f5fbb651c4c00f13c59d3de9d0f0552ea46
+    w_download_manual http://download.cnet.com/IrfanView/3000-2192_4-10021962.html iview433_setup.exe 79a7ebe2325ad204712761aa3c3a072025b07784
 
     if w_workaround_wine_bug 657 "Installing mfc42"
     then
@@ -7929,54 +8034,14 @@
 
 #----------------------------------------------------------------
 
-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 \
     title="Internet Explorer 6" \
     publisher="Microsoft" \
     year="2002" \
-    media="download" \
-    file1="ie60.exe" \
+    media="manual_download" \
+    file1="msie60.exe" \
     installed_file1="c:/Program Files/Internet Explorer/iedetect.dll"
 
 load_ie6()
@@ -7987,10 +8052,10 @@
         w_die "This package does not work on a 64-bit installation"
     fi
 
-    w_download http://download.oldapps.com/Internet_Explorer/ie60.exe 8e483db28ff01a7cabd39147ab6c59753ea1f533
+    w_download_manual http://www.oldversion.com/download-Internet-Explorer-6.0.html msie60.exe 8e483db28ff01a7cabd39147ab6c59753ea1f533
 
     cd "$W_TMP"
-    $WINE "$W_CACHE"/ie6/ie60.exe
+    $WINE "$W_CACHE"/ie6/$file1
 
     w_call msls31
 
@@ -8671,6 +8736,11 @@
         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 "
@@ -8683,10 +8753,10 @@
         WinWaitClose
         "
 
-    if w_workaround_wine_bug 27476 "Installing winhttp to work around a facebook integration crash on login"
-    then
-        w_call winhttp
-    fi
+    # Kill the background task started if "Allow Spotify to be started from the Web" is specified
+    # or should we just do $WINESERVER -k, like fable_tlc does?
+    PID=`ps augxw | grep SpotifyWebHelper.exe | grep -v grep | awk '{print $2}'`
+    kill $PID
 
     w_declare_exe "c:\\users\\$USERNAME\\Application Data\\Spotify" spotify.exe
 }
@@ -8745,7 +8815,7 @@
 
 load_sketchup()
 {
-    w_download http://dl.google.com/sketchup/GoogleSketchUpWEN.exe a86dbeb9148118407992828457dba4660febb9f4
+    w_download http://dl.google.com/sketchup/GoogleSketchUpWEN.exe 8a7e270c54eb3b6def797547becd02809ef6e439
 
     cd "$W_CACHE/$W_PACKAGE"
     w_ahk_do "
@@ -8753,23 +8823,23 @@
         run GoogleSketchUpWEN.exe
         WinWait, SketchUp, Welcome
         if ( w_opt_unattended > 0 ) {
-            Sleep 2000
+            Sleep 4000
             Send {Enter}
             WinWait, SketchUp, License
-            Sleep 500
+            Sleep 1000
             ControlClick Button1 ; accept
-            Sleep 500
-            ControlClick Button3 ; Next
+            Sleep 1000
+            ControlClick Button4 ; Next
             WinWait, SketchUp, Destination
-            Sleep 500
+            Sleep 1000
             ControlClick Button1 ; Next
             WinWait, SketchUp, Ready
-            Sleep 500
+            Sleep 1000
             ControlClick Button1 ; Install
         }
         WinWait, SketchUp, Completed
         if ( w_opt_unattended > 0 ) {
-            Sleep 500
+            Sleep 1000
             ControlClick Button1 ; Finish
         }
         WinWaitClose
@@ -8843,6 +8913,11 @@
         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"
 }
 
@@ -9038,6 +9113,34 @@
 
 #----------------------------------------------------------------
 
+w_metadata vc2008express apps \
+    title="MS Visual C++ 2008 Express" \
+    publisher="Microsoft" \
+    year="2008" \
+    media="download" \
+    file1="VS2008ExpressENUX1397868.iso" \
+    installed_exe1="$W_PROGRAMS_X86_WIN/Microsoft Visual Studio 9.0/Common7/IDE/VCExpress.exe"
+
+load_vc2008express()
+{
+    w_call dotnet35
+
+    # 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
+    cd "$W_TMP"
+    w_try_7z x "$W_CACHE"/vc2008express/VS2008ExpressENUX1397868.iso
+    cd VCExpress
+
+    # See also http://blogs.msdn.com/b/astebner/archive/2008/04/25/8425198.aspx
+    w_try $WINE setup.exe $W_UNATTENDED_SLASH_Q
+
+    w_declare_exe "$W_PROGRAMS_X86_WIN\\Microsoft Visual Studio 9.0\\Common7\\IDE" "VCExpress.exe"
+}
+
+#----------------------------------------------------------------
+
 w_metadata vlc apps \
     title="VLC media player" \
     publisher="videolan.org" \
@@ -9162,7 +9265,8 @@
 
     # 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.
-    w_download_to wm9codecs http://download.microsoft.com/download/5/c/2/5c29d825-61eb-4b16-8eb8-58367d0464d5/WM9Codecs9x.exe 8b76bdcbea0057eb12b7966edab4b942ddacc253
+    # http://birds.camden.rutgers.edu/
+    w_download_to wm9codecs http://birds.camden.rutgers.edu/WM9Codecs9x.exe 8b76bdcbea0057eb12b7966edab4b942ddacc253
     cd "$W_CACHE/wm9codecs"
     w_set_winver win2k
     w_try $WINE WM9Codecs9x.exe $W_UNATTENDED_SLASH_Q
@@ -9200,6 +9304,13 @@
     # See also http://www.microsoft.com/windows/windowsmedia/player/9series/default.aspx
     w_download http://download.microsoft.com/download/1/b/c/1bc0b1a3-c839-4b36-8f3c-19847ba09299/MPSetup.exe 580536d10657fa3868de2869a3902d31a0de791b
 
+    # Wine's wmvcore crashes when the installer asks it to register itself?
+    w_override_dlls native wmvcore
+    # 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
+    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
     w_try $WINE MPSetup.exe $W_UNATTENDED_SLASH_Q
@@ -9222,7 +9333,7 @@
     title="Windows Media Player 10" \
     publisher="Microsoft" \
     year="2006" \
-    media="download" \
+    media="manual_download" \
     file1="MP10Setup.exe" \
     installed_file1="$W_SYSTEM32_DLLS_WIN/l3codecp.acm"
 
@@ -9235,7 +9346,7 @@
     w_call wsh57
 
     # http://www.microsoft.com/downloads/en/details.aspx?FamilyID=b446ae53-3759-40cf-80d5-cde4bbe07999
-    w_download http://download.microsoft.com/download/1/2/A/12A31F29-2FA9-4F50-B95D-E45EF7013F87/MP10Setup.exe 69862273a5d9d97b4a2e5a3bd93898d259e86657
+    w_download_manual http://www.softpedia.com/get/Multimedia/Audio/Audio-Players/Windows-Media-Player.shtml MP10Setup.exe 69862273a5d9d97b4a2e5a3bd93898d259e86657
 
     # Crashes on exit, but otherwise ok; see http://bugs.winehq.org/show_bug.cgi?id=12633
     cd "$W_CACHE"/wmp10
@@ -14225,100 +14336,6 @@
 
 #----------------------------------------------------------------
 
-w_metadata nfsworld_mono games \
-    title="Need For Speed World (using Mono)" \
-    publisher="EA" \
-    year="2011" \
-    media="download" \
-    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.40.659/akamai/setup_659.exe b1f10af09350e2b3f5ccbc679dbea628e9f432d0
-
-    if w_workaround_wine_bug 25658 "Installing Mono 2.6"
-    then
-        # newer mono fails?
-        w_call mono26
-        # Work around bug fixed in later versions of mono (thanks, Vincent)
-        w_download http://madewokherd.nfshost.com/omgsecret/mono-winebug23458.tar.gz \
-             156a7d79e70864b67af22315ae257dc798cb2a2e
-        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
-    fi
-
-    cd "$W_CACHE/$W_PACKAGE"
-    w_ahk_do "
-        SetWinDelay 500
-        SetTitleMatchMode, 2
-        run $file1
-        winwait Setup - Need For Speed
-        if ( w_opt_unattended > 0 ) {
-            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, do not have Microsoft .NET 2.0   ; only on old wine
-            ;send {Enter}
-        }
-        winwait Setup - Need For Speed, Completing
-        if ( w_opt_unattended > 0 ) {
-            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
-    "
-
-    # Work around winebrowser snafu mentioned in http://bugs.winehq.org/show_bug.cgi?id=13891
-    # else you'll quickly get a dialog saying the app is broken
-    # FIXME: file a bug for this
-    if w_workaround_wine_bug 0000 "Kludging registry entry for winebrowser so patcher starts"
-    then
-        $WINE reg add "HKCR\\http\\shell\\open\\command" /ve /d "C:\\windows\\system32\\winebrowser.exe -nohome \"%1\"" /f
-    fi
-
-    # Create custom start batch file
-    # FIXME: Before wine-1.3.22, del /s will crash, see http://bugs.winehq.org/show_bug.cgi?id=26885
-    cat > "$W_DRIVE_C/run-$W_PACKAGE.bat" <<__EOF__
-c:
-
-rem Work around mono bug mentioned by Vincent
-cd "c:\\users\\%USERNAME%\\Local Settings\\Application Data"
-if exist "Electronic Arts Inc" del /s "Electronic Arts Inc\\user.config"
-
-echo Warning, do not move window, Vincent says it will break keyboard input
-cd "C:\\Program Files\\Electronic Arts\\Need For Speed World"
-GameLauncher.exe
-__EOF__
-
-}
-
-#----------------------------------------------------------------
-
 w_metadata njcwp_trial apps \
     title="NJStar Chinese Word Processor trial" \
     publisher="NJStar" \
@@ -16115,6 +16132,43 @@
 
 #----------------------------------------------------------------
 
+w_metadata typingofthedead_demo games \
+    title="Typing of the Dead Demo" \
+    publisher="Sega" \
+    year="1999" \
+    media="download" \
+    file1="Tod_e_demo.exe" \
+    installed_exe1="$W_PROGRAMS_X86_WIN/SEGA/TOD-Demo/Tod_e_demo.exe"
+
+load_typingofthedead_demo()
+{
+    w_download "http://downloads.pcworld.com/pub/new/fun_and_games/other/tod-demo.zip"; 96fe3edb2431210932af840e29c59bce6b7fc80f
+
+    cd "$W_CACHE/$W_PACKAGE"
+    mkdir "$W_TMP"
+    cd "$W_TMP"
+    w_try_unzip "$W_CACHE/$W_PACKAGE/tod-demo.zip"
+
+    w_ahk_do "
+        SetTitleMatchMode, 2
+        run SETUP.EXE
+        if ( w_opt_unattended > 0 ) {
+            WinWait,InstallShield Wizard,where
+            sleep 1000
+            ControlClick Button1 ; Next
+            WinWait,InstallShield Wizard,icons
+            sleep 1000
+            ControlClick Button2 ; Next
+        }
+        ; installer crashes here?
+        Sleep 20000
+    "
+
+    w_declare_exe "$W_PROGRAMS_X86_WIN\\SEGA\\TOD-Demo" "Tod_e_demo.exe"
+}
+
+#----------------------------------------------------------------
+
 w_metadata ut3 games \
     title="Unreal Tournament 3" \
     publisher="Midway Games" \
@@ -17405,8 +17459,6 @@
     mfc42:size_MB=47,time_sec=1 \
     mingw:size_MB=132,time_sec=3 \
     mono210:size_MB=463,time_sec=26 \
-    mono26:size_MB=434,time_sec=26 \
-    mono28:size_MB=550,time_sec=28 \
     mozillabuild:size_MB=891,time_sec=26 \
     mpc:size_MB=87,time_sec=2 \
     msasn1:size_MB=178,time_sec=3 \
@@ -17670,6 +17722,15 @@
     list-download) winetricks_list_download ;;
     list-manual-download) winetricks_list_manual_download ;;
     list-installed) winetricks_list_installed ;;
+    list-all)
+        old_menu="$WINETRICKS_CURMENU"
+        for WINETRICKS_CURMENU in apps benchmarks dlls fonts games prefix settings
+        do
+            echo "===== $WINETRICKS_CURMENU ====="
+            winetricks_list_all
+        done
+        WINETRICKS_CURMENU="$old_menu"
+        ;;
     unattended) winetricks_set_unattended 1 ;;
     attended) winetricks_set_unattended 0 ;;
     showbroken) W_OPT_SHOWBROKEN=1 ;;
@@ -17768,6 +17829,12 @@
         winetricks_volname ${1#volnameof=}
         ;;
     "")
+        if test x"$DISPLAY" = x""
+        then
+            echo "DISPLAY not set, not defaulting to gui"
+            winetricks_usage
+            exit 0
+        fi
         # GUI case
         # No non-option arguments given, so read them from GUI, and loop until user quits
         winetricks_detect_gui
diff -Nru winetricks-0.0+20120606+svn831/tests/winetricks-test winetricks-0.0+20120826+svn907/tests/winetricks-test
--- winetricks-0.0+20120606+svn831/tests/winetricks-test	2011-06-26 20:45:56.000000000 +0300
+++ winetricks-0.0+20120826+svn907/tests/winetricks-test	2012-08-18 08:04:27.000000000 +0300
@@ -17,6 +17,8 @@
 BLACKLIST="$BLACKLIST|mfsxde|mfsx_demo"
 # only support older versions of wine
 BLACKLIST="$BLACKLIST|gecko110"
+# hang lately, probably ui changes in install process
+BLACKLIST="$BLACKLIST|bioshock2|audibledm"
 
 # Verbs known to update frequently
 QUICKCHECK="flash spotify utorrent utorrent3 hegemonygold_demo"
@@ -190,6 +192,37 @@
     test_app_checksums
 }
 
+test_dlls()
+{
+    sh winetricks dlls list | awk '{print $1}' > dlls.log
+    if grep .------------------- dlls.log
+    then
+        fail "output of dlls list contained garbage"
+        exit 1
+    fi
+    sort -u < dlls.log | egrep -v "$BLACKLIST" > dlls.verbs
+    for a in `cat dlls.verbs`
+    do
+        test_app $a
+    done
+}
+
+test_manual_dlls()
+{
+    sh winetricks list-manual-download > manual.log
+    sh winetricks dlls list | awk '{print $1}' > dlls.log
+    if grep .------------------- dlls.log
+    then
+        fail "output of dlls list contained garbage"
+        exit 1
+    fi
+    cat dlls.log manual.log | sort | uniq -c | awk '$1 == 2 {print $2}' | egrep -v "$BLACKLIST" > dlls.verbs
+    for a in `cat dlls.verbs`
+    do
+        test_app $a
+    done
+}
+
 test_install_cached_or_download()
 {
     sh winetricks list-cached list-download > ticd.log
@@ -200,13 +233,13 @@
     fi
     sort -u < ticd.log | egrep -v "$BLACKLIST" > ticd.verbs
 
-    if false
+    if true
     then
         # Split into two, only do half
         nverbs=`cat ticd.verbs | wc -l`
-        firsthalf=`expr $nverbs / 2`
-        sed '$firsthalf+1,$d' < ticd.verbs > ticd-1.verbs 
-        sed '1,$firsthalfd'   < ticd.verbs > ticd-2.verbs 
+        firsthalf=`expr $nverbs / 2 + 1`
+        sed ${firsthalf}',$d' < ticd.verbs > ticd-1.verbs 
+        sed '1,'${firsthalf}d   < ticd.verbs > ticd-2.verbs 
         VERBS=`cat ticd-1.verbs`
     else
         VERBS=`cat ticd.verbs`
@@ -216,7 +249,7 @@
     do
         test_app $a
     done
-    sh winetricks list-cached > cached.txt
+    sh winetricks list-cached | sort > cached.txt
     # Verbs that are just wrappers around others don't detect cache/install
     # state yet.  
     # Verbs that are just informative placeholders don't ever download (gecko).
@@ -238,7 +271,7 @@
 }
 
 # Test the frequent download-changes-checksum offenders first
-(
+true || (
 cache="$HOME/winetricks-quickcheck-cache"
 rm -rf "$cache"
 export W_CACHE="$cache" 
@@ -251,7 +284,16 @@
 
 test_speed list
 test_speed list-download
-test_install_cached_or_download
+# three tries to preload cache
+# FIXME: check cache to see if we need to do this
+for try in `seq 1 3`
+do
+    test_manual_dlls
+    echo press enter
+    read x
+done
+test_dlls
+#test_install_cached_or_download
 test_speed list-cached
 test_speed list-installed
 

Reply to: