--- winetricks.orig	2008-07-06 17:35:23 +0400
+++ winetricks	2008-07-06 17:35:27 +0400
@@ -14,12 +14,13 @@
 # Internal variables; these locations are not too important
 WINETRICKS_CACHE=$HOME/winetrickscache
 # Default to hiding the directory, by popular demand
-test -d "$WINETRICKS_CACHE" || WINETRICKS_CACHE=$HOME/.winetrickscache
-WINETRICKS_TMP="$WINEPREFIX"/drive_c/winetrickstmp
+test -d "$WINETRICKS_CACHE" || WINETRICKS_CACHE="$HOME/.winetrickscache"
+WINDIR=$WINEPREFIX/dosdevices/c:/windows
+WINETRICKS_TMP=$WINDIR/temp/winetrickstmp
 mkdir -p "$WINETRICKS_TMP"
-WINETRICKS_TMP_WIN='c:\winetrickstmp'
+WINETRICKS_TMP_WIN='c:\windows\temp\winetrickstmp'
 
-# Which sourceforge mirror to use.  Rotate based on time, since 
+# Which sourceforge mirror to use.  Rotate based on time, since
 # their mirror picker sometimes persistantly sends you to a broken
 # mirror.
 case `date +%S` in
@@ -174,7 +175,8 @@
         args="$args $1 $1 off"
         shift
     done
-    kdialog --title "$title" --separate-output --checklist "$text" $args
+    KDIALOG=kdialog
+    $KDIALOG --title "$title" --separate-output --checklist "$text" $args
 }
 
 x_showmenu() {
@@ -197,7 +199,8 @@
         shift
     done
     (echo "$title"; echo ""; echo "$text") > /tmp/x_showmenu.txt 
-    xmessage -print -file /tmp/x_showmenu.txt -buttons "Cancel,$args" | sed 's/Cancel//'
+    XMESSAGE=xmessage
+    $XMESSAGE -print -file /tmp/x_showmenu.txt -buttons "Cancel,$args" | sed 's/Cancel//'
 }
 
 showmenu()
@@ -248,11 +251,11 @@
 programfilesdir_unix=`$WINE winepath -u "$programfilesdir_win"`
 
 # Did the user rename Fonts to fonts?
-if ! test -d "$WINEPREFIX"/drive_c/windows/Fonts && test -d "$WINEPREFIX"/drive_c/windows/fonts 
+if ! test -d "$WINDIR/Fonts && test -d "$WINDIR/fonts
 then
-    winefontsdir="$WINEPREFIX"/drive_c/windows/fonts
+    winefontsdir="$WINDIR/fonts"
 else
-    winefontsdir="$WINEPREFIX"/drive_c/windows/Fonts
+    winefontsdir="$WINDIR/Fonts"
 fi
 
 # Mac folks tend to not have sha1sum, but we can make do with openssl
@@ -376,7 +379,7 @@
     do
         case "$1" in
         comctl32)
-           rm -rf "$WINEPREFIX"/drive_c/windows/winsxs/manifests/x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.2600.2982_none_deadbeef.manifest
+           rm -rf "$WINDIR/winsxs/manifests/x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.2600.2982_none_deadbeef.manifest"
            ;;
         esac
         echo "\"$1\"=\"$mode\"" >> "$WINETRICKS_TMP"/override-dll.reg
@@ -403,7 +406,7 @@
     do
         case "$1" in
         comctl32)
-           rm -rf "$WINEPREFIX"/drive_c/windows/winsxs/manifests/x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.2600.2982_none_deadbeef.manifest
+           rm -rf "$WINDIR/winsxs/manifests/x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.2600.2982_none_deadbeef.manifest"
            ;;
         esac
         echo "\"$1\"=\"$mode\"" >> "$WINETRICKS_TMP"/override-dll.reg
@@ -435,7 +438,7 @@
 load_art2kmin() {
     download . http://download.microsoft.com/download/office2000dev/art2kmin/1/win98/en-us/art2kmin.exe 73be2622254d1f857a204a03f068787542b985e9
     try $WINE "$WINETRICKS_CACHE"/art2kmin.exe
-    cd "$WINEPREFIX/drive_c/ART2KMin Setup"
+    cd "$WINDIR/../ART2KMin Setup"
     try $WINE Setup.exe INSTALLPFILES=1 /wait $WINETRICKS_QUIET
     cd "$olddir"
 }
@@ -455,8 +458,8 @@
 
     try $WINE "$WINETRICKS_CACHE"/cc32inst.exe "/T:`$WINE winepath -w "$WINETRICKS_TMP"`" /c $WINETRICKS_QUIET
     try $WINE "$WINETRICKS_TMP"/comctl32.exe
-    try $WINE "$WINEPREFIX"/drive_c/windows/temp/x86/50ComUpd.Exe "/T:`$WINE winepath -w "$WINETRICKS_TMP"`" /c $WINETRICKS_QUIET
-    cp "$WINETRICKS_TMP"/comcnt.dll "$WINEPREFIX"/drive_c/windows/system32/comctl32.dll
+    try $WINE "$WINDIR"/temp/x86/50ComUpd.Exe "/T:`$WINE winepath -w $WINETRICKS_TMP`" /c $WINETRICKS_QUIET
+    cp "$WINETRICKS_TMP"/comcnt.dll "$WINDIR"/system32/comctl32.dll
 
     override_dlls native,builtin comctl32
 }
@@ -468,8 +471,8 @@
     download . http://download.microsoft.com/download/3/a/5/3a5925ac-e779-4b1c-bb01-af67dc2f96fc/VisualBasic6-KB896559-v1-ENU.exe f52cf2034488235b37a1da837d1c40eb2a1bad84
 
     try cabextract -q --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/VisualBasic6-KB896559-v1-ENU.exe
-    cp "$WINETRICKS_TMP"/mscomctl.ocx "$WINEPREFIX"/drive_c/windows/system32/mscomctl.ocx
-    cp "$WINETRICKS_TMP"/comctl32.ocx "$WINEPREFIX"/drive_c/windows/system32/comctl32.ocx
+    cp "$WINETRICKS_TMP"/mscomctl.ocx "$WINDIR/system32/mscomctl.ocx
+    cp "$WINETRICKS_TMP"/comctl32.ocx "$WINDIR/system32/comctl32.ocx
     try $WINE regsvr32 comctl32.ocx
     try $WINE regsvr32 mscomctl.ocx
 }
@@ -479,8 +482,8 @@
 load_colorprofile() {
     download . http://download.microsoft.com/download/whistler/hwdev1/1.0/wxp/en-us/ColorProfile.exe 6b72836b32b343c82d0760dff5cb51c2f47170eb
     try unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_CACHE"/ColorProfile.exe
-    mkdir -p "$WINEPREFIX"/drive_c/windows/system32/spool/drivers/color
-    cp -f "$WINETRICKS_TMP/sRGB Color Space Profile.icm" "$WINEPREFIX"/drive_c/windows/system32/spool/drivers/color
+    mkdir -p "$WINDIR/system32/spool/drivers/color"
+    cp -f "$WINETRICKS_TMP/sRGB Color Space Profile.icm" "$WINDIR"/system32/spool/drivers/color
 }
 
 #----------------------------------------------------------------
@@ -636,10 +639,10 @@
 
     # Avoid "err:setupapi:SetupDefaultQueueCallbackA copy error 5 ..."
     # Those messages are suspect, probably shouldn't be err's.
-    rm -f "$WINEPREFIX"/drive_c/windows/system32/ole32.dll
-    rm -f "$WINEPREFIX"/drive_c/windows/system32/olepro32.dll
-    rm -f "$WINEPREFIX"/drive_c/windows/system32/oleaut32.dll
-    rm -f "$WINEPREFIX"/drive_c/windows/system32/rpcrt4.dll
+    rm -f "$WINDIR"/system32/ole32.dll
+    rm -f "$WINDIR"/system32/olepro32.dll
+    rm -f "$WINDIR"/system32/oleaut32.dll
+    rm -f "$WINDIR"/system32/rpcrt4.dll
 
     # Normally only need to override ole32, but overriding advpack
     # as well gets us the correct exit status.
@@ -660,7 +663,7 @@
 #----------------------------------------------------------------
 
 load_dotnet11() {
-    DOTNET_INSTALL_DIR="$WINEPREFIX/drive_c/windows/Microsoft.NET/Framework/v1.1.4322" 
+    DOTNET_INSTALL_DIR="$WINDIR/Microsoft.NET/Framework/v1.1.4322" 
 
     # need corefonts, else installer crashes
     load_corefonts
@@ -674,7 +677,7 @@
 
     # Need native gdiplus until wine implements gdiplus.GdipGetFamily
     #load_gdiplus
-    cp -f "$DOTNET_INSTALL_DIR/gdiplus.dll" "$WINEPREFIX/drive_c/windows/system32/"
+    cp -f "$DOTNET_INSTALL_DIR/gdiplus.dll" "$WINDIR/system32/"
     override_dlls native gdiplus
 
     unset_winver
@@ -684,11 +687,11 @@
 
 load_dotnet20() {
     # Recipe from http://bugs.winehq.org/show_bug.cgi?id=10467#c57
-    test -d "$WINEPREFIX/drive_c/windows/gecko" || load_gecko
+    test -d "$WINDIR/gecko" || load_gecko
     set_winver win2k
     # See http://kegel.com/wine/l_intl-sh.txt for how l_intl.nls was generated
     download dotnet20 http://kegel.com/wine/l_intl.nls
-    try cp -f "$WINETRICKS_CACHE"/dotnet20/l_intl.nls "$WINEPREFIX/drive_c/windows/system32/"
+    try cp -f "$WINETRICKS_CACHE"/dotnet20/l_intl.nls "$WINDIR/system32/"
 
     # http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5
     download dotnet20 http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe a3625c59d7a2995fb60877b5f5324892a1693b2a
@@ -735,7 +738,7 @@
         if [ ! -d "$programfilesdir_unix/Internet Explorer/iexplore.exe" ]; then
             try mkdir "$programfilesdir_unix/Internet Explorer";
         fi
-        try cp -f "$WINEPREFIX/drive_c/windows/system32/shdocvw.dll" "$programfilesdir_unix/Internet Explorer/iexplore.exe"
+        try cp -f "$WINDIR/system32/shdocvw.dll" "$programfilesdir_unix/Internet Explorer/iexplore.exe"
     fi
 }
 
@@ -831,8 +834,8 @@
     echo '\\\\wine_gecko"' >>"$WINETRICKS_TMP"/geckopath.reg
 
     # extract the files
-    mkdir -p "$WINEPREFIX"/drive_c/windows/gecko/$GECKO_VERSION
-    cd "$WINEPREFIX"/drive_c/windows/gecko/$GECKO_VERSION
+    mkdir -p "$WINDIR/gecko/$GECKO_VERSION"
+    cd "$WINDIR/gecko/$GECKO_VERSION"
     try cabextract $WINETRICKS_UNIXQUIET "$WINETRICKS_CACHE"/wine_gecko-$GECKO_VERSION.cab
     cd "$olddir"
 
@@ -850,7 +853,7 @@
     download . http://download.microsoft.com/download/a/1/a/a1adc39b-9827-4c7a-890b-91396aed2b86/ppviewer.exe 4d13ca85d1d366167b6247ac7340b7736b1bff87
     try $WINE "$WINETRICKS_CACHE"/ppviewer.exe $WINETRICKS_QUIET
     # And then make it globally available.
-    try cp "$programfilesdir_unix/Microsoft Office/PowerPoint Viewer/GDIPLUS.DLL" "$WINEPREFIX"/drive_c/windows/system32/
+    try cp "$programfilesdir_unix/Microsoft Office/PowerPoint Viewer/GDIPLUS.DLL" "$WINDIR"/system32/
 
     # For some reason, native,builtin isn't good enough...?
     override_dlls native gdiplus
@@ -938,7 +941,7 @@
     # See http://support.microsoft.com/kb/122244
     download . http://download.microsoft.com/download/ole/ole2v/3.5/w351/en-us/ole2v.exe c6cac71f32405ccb09c6f375e0738e6e13f073e4
     try unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_CACHE"/ole2v.exe
-    try cp -f "$WINETRICKS_TMP"/MFC40.DLL "$WINEPREFIX"/drive_c/windows/system32/
+    try cp -f "$WINETRICKS_TMP"/MFC40.DLL "$WINDIR/system32/"
 
     rm -rf "$WINETRICKS_TMP"/*
 }
@@ -986,8 +989,8 @@
     set_winver win98
 
     # Avoid "err:setupapi:SetupDefaultQueueCallbackA copy error 5 ..."
-    rm -f "$WINEPREFIX"/drive_c/windows/system32/msi.dll
-    rm -f "$WINEPREFIX"/drive_c/windows/system32/msiexec.exe
+    rm -f "$WINDIR/system32/msi.dll"
+    rm -f "$WINDIR/system32/msiexec.exe"
 
     WINEDLLOVERRIDES="msi,msiexec.exe=n" try $WINE "$WINETRICKS_CACHE"/InstMSIA.exe $WINETRICKS_QUIET
 
@@ -1003,7 +1006,7 @@
     # Install native Microsoft Line Services (needed by e-Sword, possibly only when using native riched20)
     download . http://download.microsoft.com/download/WindowsInstaller/Install/2.0/W9XMe/EN-US/InstMsiA.exe e739c40d747e7c27aacdb07b50925b1635ee7366
     try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/InstMsiA.exe
-    try cp -f "$WINETRICKS_TMP"/msls31.dll "$WINEPREFIX"/drive_c/windows/system32
+    try cp -f "$WINETRICKS_TMP"/msls31.dll "$WINDIR/system32"
 }
 
 #----------------------------------------------------------------
@@ -1053,7 +1056,7 @@
     # http://support.microsoft.com/kb/284996
     download . http://download.microsoft.com/download/platformsdk/Redist/5.0.2195.2668/NT4/EN-US/pdhinst.exe f42448660def8cd7f42b34aa7bc7264745f4425e
     try $WINE "$WINETRICKS_CACHE"/pdhinst.exe
-    try cp -f "$WINEPREFIX"/drive_c/windows/temp/x86/Pdh.Dll $WINEPREFIX/drive_c/windows/system32/pdh.dll
+    try cp -f "$WINDIR/temp/x86/Pdh.Dll" "$WINDIR/system32/pdh.dll"
 }
 
 #----------------------------------------------------------------
@@ -1113,7 +1116,7 @@
     # http://support.microsoft.com/?kbid=249973
     download . http://download.microsoft.com/download/winntsp/Patch/RTF/NT4/EN-US/Q249973i.EXE f0b7663f15dbd31410435483ba832318c7a70470
     try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/Q249973i.EXE
-    try cp -f "$WINETRICKS_TMP"/riched??.dll "$WINEPREFIX"/drive_c/windows/system32
+    try cp -f "$WINETRICKS_TMP"/riched??.dll "$WINDIR"/system32
     override_dlls native,builtin riched20 riched32
     
     rm -rf "$WINETRICKS_TMP"/*
@@ -1130,7 +1133,7 @@
     # http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=CEBBACD8-C094-4255-B702-DE3BB768148F
     download . http://download.microsoft.com/download/WindowsInstaller/Install/2.0/W9XMe/EN-US/InstMsiA.exe e739c40d747e7c27aacdb07b50925b1635ee7366
     try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/InstMsiA.exe
-    try cp -f "$WINETRICKS_TMP"/riched20.dll "$WINEPREFIX"/drive_c/windows/system32
+    try cp -f "$WINETRICKS_TMP"/riched20.dll "$WINDIR"/system32
     override_dlls native,builtin riched20 
     
     rm -rf "$WINETRICKS_TMP"/*
@@ -1156,7 +1159,7 @@
     # See http://support.microsoft.com/kb/196285
     download . http://download.microsoft.com/download/vb30/utility/1/w9xnt4/en-us/vb3run.exe 518fcfefde9bf680695cadd06512efadc5ac2aa7
     try unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_CACHE"/vb3run.exe
-    try cp -f "$WINETRICKS_TMP/Vbrun300.dll" "$WINEPREFIX"/drive_c/windows/system32/
+    try cp -f "$WINETRICKS_TMP/Vbrun300.dll" "$WINDIR"/system32/
 
 }
 
@@ -1166,8 +1169,8 @@
     # See http://support.microsoft.com/kb/196286
     download . http://download.microsoft.com/download/vb40ent/sample27/1/w9xnt4/en-us/vb4run.exe 83e968063272e97bfffd628a73bf0ff5f8e1023b
     try unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_CACHE"/vb4run.exe
-    try cp -f "$WINETRICKS_TMP/Vb40032.dll" "$WINEPREFIX"/drive_c/windows/system32/
-    try cp -f "$WINETRICKS_TMP/Vb40016.dll" "$WINEPREFIX"/drive_c/windows/system32/
+    try cp -f "$WINETRICKS_TMP/Vb40032.dll" "$WINDIR"/system32/
+    try cp -f "$WINETRICKS_TMP/Vb40016.dll" "$WINDIR"/system32/
 
 }
 
@@ -1190,7 +1193,7 @@
 
 load_vcrun6() {
     # Load the Visual C++ 6 runtime libraries, including the elusive mfc42u.dll
-    if test -f "$WINEPREFIX"/drive_c/windows/system32/mfc42u.dll
+    if test -f "$WINDIR"/system32/mfc42u.dll
     then
         echo "vcrun6 already installed, skipping"
         return
@@ -1209,9 +1212,9 @@
        mv "$WINETRICKS_TMP"/vcredist.exe "$WINETRICKS_CACHE"
     fi
     # Delete some fake dlls to avoid vcredist installer warnings
-    rm -f "$WINEPREFIX"/drive_c/windows/system32/msvcrt.dll
-    rm -f "$WINEPREFIX"/drive_c/windows/system32/oleaut32.dll
-    rm -f "$WINEPREFIX"/drive_c/windows/system32/olepro32.dll
+    rm -f "$WINDIR"/system32/msvcrt.dll
+    rm -f "$WINDIR"/system32/oleaut32.dll
+    rm -f "$WINDIR"/system32/olepro32.dll
     # vcredist still exits with status 43.  Anyone know why?
     $WINE "$WINETRICKS_CACHE"/vcredist.exe || true
 
@@ -1220,7 +1223,7 @@
     cd "$WINETRICKS_TMP"/
     rm -rf "$WINETRICKS_TMP"/*
     try cabextract "$WINETRICKS_CACHE"/vcredist.exe
-    mv mfc42u.dll "$WINEPREFIX"/drive_c/windows/system32/
+    mv mfc42u.dll "$WINDIR"/system32/
     cd "$olddir"
 }
 
@@ -1232,7 +1235,7 @@
     echo "Installing BZFlag (which comes with the Visual C++ 2003 runtimes)"
     download . $SOURCEFORGE/bzflag/BZEditW32_1.6.5_Installer.exe bdd1b32c4202fd77e6513fd507c8236888b09121
     try $WINE "$WINETRICKS_CACHE"/BZEditW32_1.6.5_Installer.exe $WINETRICKS_S
-    cp "$programfilesdir_unix/BZEdit1.6.5"/m*71* "$WINEPREFIX"/drive_c/windows/system32/
+    cp "$programfilesdir_unix/BZEdit1.6.5"/m*71* "$WINDIR"/system32/
 }
 
 #----------------------------------------------------------------
@@ -1335,7 +1338,7 @@
     try $WINE "$WINETRICKS_CACHE"/ste51en.exe $WINETRICKS_QUIET
 
     # Not sure why this gets installed to the wrong directory
-    mv "$WINEPREFIX"/drive_c/windows/system32/unknown/cscript.exe $WINEPREFIX/drive_c/windows/system32 
+    mv "$WINDIR"/system32/unknown/cscript.exe "$WINDIR/system32"
 }
 
 #----------------------------------------------------------------
