Fora

error in DirectX June patch installer

Autor Odpowiedzi
chain2k Monday 2 March 2009 at 8:59
chain2kAnonymous

hello,
June patch - not installable because of script error. think that script have to be changed like this

#!/bin/bash

override_dlls() {
mode=$1
shift
echo Using $mode override for following DLLs: $@
cat > $REPERTOIRE/tmp/dx9/override-dll.reg <<_EOF_
REGEDIT4

[HKEY_CURRENT_USER\Software\Wine\DllOverrides]
_EOF_
while test "$1" != ""
do
echo "\"$1\"=\"$mode\"" >> $REPERTOIRE/tmp/dx9/override-dll.reg
shift
done

wine regedit $REPERTOIRE/tmp/dx9/override-dll.reg
rm $REPERTOIRE/tmp/dx9/override-dll.reg
}

if [ "$PLAYONLINUX" = "" ]
then
exit 0
fi
source "$PLAYONLINUX/lib/sources"
cfg_check

POL_SetupWindow_Init
LNG_DIRECTX="$(eval_gettext 'This wizard will help you to install a directx patch in playonlinux')"
POL_SetupWindow_free_presentation "Direct X" "$LNG_DIRECTX"
POL_SetupWindow_games "Choose a prefix to patch" "Direct X"
prefixe=$(detect_wineprefix "$APP_ANSWER")
if [ -e "$prefixe" ]
then
select_prefixe "$prefixe"
mkdir $REPERTOIRE/tmp/dx9 -p
cd $REPERTOIRE/tmp/dx9
POL_SetupWindow_download "$(eval_gettext 'Download Directx9c june 2008...')" "$(eval_gettext 'Downloading...')" "http://download.microsoft.com/download/c/1/f/c1fb09b0-8a8b-45ba-8bb0-64f60bd23175/directx_jun2008_redist.exe"
Set_OS "win2k"
POL_SetupWindow_reboot
POL_SetupWindow_wait "$(eval_gettext 'PlayOnLinux is installing the patch ...')" "$(eval_gettext 'Extracting...')"
mkdir directx_tmp
export WINEDLLOVERRIDES="wintrust=b,mscoree=,ddraw,d3d8,d3d9,dsound,dinput=n"
wine directx_jun2008_redist.exe /t:z:$REPERTOIRE/tmp/dx9/directx_tmp
#cabextract directx_jun2008_redist.exe -d $REPERTOIRE/tmp/directx_tmp
override_dlls native d3dim d3drm d3dx8 d3dx9_24 d3dx9_25 d3dx9_26 d3dx9_27 d3dx9_28 d3dx9_29
override_dlls native d3dx9_30 d3dx9_31 d3dx9_32 d3dx9_33 d3dx9_34 d3dx9_35 d3dx9_36 d3dxof
override_dlls native dciman32 ddrawex devenum dmband dmcompos dmime dmloader dmscript dmstyle
override_dlls native dmsynth dmusic dmusic32 dnsapi dplay dplayx dpnaddr dpnet dpnhpast dpnlobby
override_dlls native dswave dxdiagn mscoree msdmo qcap quartz streamci
override_dlls builtin d3d8 d3d9 dinput dinput8 dsound
cd directx_tmp
wine DXSETUP.exe /silent
Set_OS "winxp"
POL_SetupWindow_reboot
POL_SetupWindow_detect_exit
rm $REPERTOIRE/tmp/dx9 -r
POL_SetupWindow_reboot
fi
POL_SetupWindow_Close
exit


or user will can't to select the prefix to patch
chain2k Tuesday 3 March 2009 at 7:17
chain2kAnonymous

and another one trouble, in script "Z:" used as a letter for root directory, but users can use another one and script will fail.
So I think there are 2 ways to correct the problem
1. use cabextract (this way just comment out in this script)
cabextract directx_jun2008_redist.exe -d $REPERTOIRE/tmp/directx_tmp
2. create temporary folder in current prefix and use C:/way_to_temp in
wine directx_jun2008_redist.exe /t:
chain2k Tuesday 3 March 2009 at 7:40
chain2kAnonymous

that's a variant for 2nd way

#!/bin/bash

override_dlls() {
mode=$1
shift
echo Using $mode override for following DLLs: $@
cat > $tmpdx/tmp/dx9/override-dll.reg <<_EOF_
REGEDIT4

[HKEY_CURRENT_USER\Software\Wine\DllOverrides]
_EOF_
while test "$1" != ""
do
echo "\"$1\"=\"$mode\"" >> $tmpdx/tmp/dx9/override-dll.reg
shift
done

wine regedit $tmpdx/tmp/dx9/override-dll.reg
rm $tmpdx/tmp/dx9/override-dll.reg
}

if [ "$PLAYONLINUX" = "" ]
then
exit 0
fi
source "$PLAYONLINUX/lib/sources"
cfg_check

POL_SetupWindow_Init
LNG_DIRECTX="$(eval_gettext 'This wizard will help you to install a directx patch in playonlinux')"
POL_SetupWindow_free_presentation "Direct X" "$LNG_DIRECTX"
POL_SetupWindow_games "Choose a prefix to patch" "Direct X"
prefixe=$(detect_wineprefix "$APP_ANSWER")
#message $prefixe
#exit
if [ -e "$prefixe" ]
then
select_prefixe "$prefixe"
tmpdx=$prefixe/drive_c
mkdir $tmpdx/tmp -p
mkdir $tmpdx/tmp/dx9 -p
cd $tmpdx/tmp/dx9
POL_SetupWindow_download "$(eval_gettext 'Download Directx9c june 2008...')" "$(eval_gettext 'Downloading...')" "http://download.microsoft.com/download/c/1/f/c1fb09b0-8a8b-45ba-8bb0-64f60bd23175/directx_jun2008_redist.exe"
Set_OS "win2k"
POL_SetupWindow_reboot
POL_SetupWindow_wait "$(eval_gettext 'PlayOnLinux is installing the patch ...')" "$(eval_gettext 'Extracting...')"
mkdir directx_tmp
export WINEDLLOVERRIDES="wintrust=b,mscoree=,ddraw,d3d8,d3d9,dsound,dinput=n"
wine directx_jun2008_redist.exe /t:c:/tmp/dx9/directx_tmp
#cabextract directx_jun2008_redist.exe -d $REPERTOIRE/tmp/directx_tmp
override_dlls native d3dim d3drm d3dx8 d3dx9_24 d3dx9_25 d3dx9_26 d3dx9_27 d3dx9_28 d3dx9_29
override_dlls native d3dx9_30 d3dx9_31 d3dx9_32 d3dx9_33 d3dx9_34 d3dx9_35 d3dx9_36 d3dxof
override_dlls native dciman32 ddrawex devenum dmband dmcompos dmime dmloader dmscript dmstyle
override_dlls native dmsynth dmusic dmusic32 dnsapi dplay dplayx dpnaddr dpnet dpnhpast dpnlobby
override_dlls native dswave dxdiagn mscoree msdmo qcap quartz streamci
override_dlls builtin d3d8 d3d9 dinput dinput8 dsound
cd directx_tmp
wine DXSETUP.exe /silent
Set_OS "winxp"
POL_SetupWindow_reboot
POL_SetupWindow_detect_exit
rm $tmpdx/tmp/dx9 -r
POL_SetupWindow_reboot
fi
POL_SetupWindow_Close
exit

Edytowane przez chain2k

Quentin PÂRIS Tuesday 3 March 2009 at 21:46
Quentin PÂRIS
Admin

Updated. Thank's