mirror of
https://gitee.com/gfdgd-xi/deep-wine-runner
synced 2026-08-09 05:43:56 +08:00
Compare commits
4
Commits
3.9.2
...
de98af8c99
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
de98af8c99 | ||
|
|
5f41d73dbd | ||
|
|
7aff330137 | ||
|
|
6c53446134 |
+1
-1
@@ -17,7 +17,7 @@ import traceback
|
|||||||
try:
|
try:
|
||||||
import pyquery
|
import pyquery
|
||||||
except:
|
except:
|
||||||
os.system("python3 -m pip install --upgrade pyquery --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple")
|
os.system("python3 -m pip install --upgrade pyquery --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple --break-system-packages")
|
||||||
|
|
||||||
if "--help" in sys.argv:
|
if "--help" in sys.argv:
|
||||||
print("作者:gfdgd xi")
|
print("作者:gfdgd xi")
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ package-deb:
|
|||||||
cp -rv VM-source/*.fd VM
|
cp -rv VM-source/*.fd VM
|
||||||
cp -rv wine/ deb/opt/apps/deepin-wine-runner/
|
cp -rv wine/ deb/opt/apps/deepin-wine-runner/
|
||||||
cp -rv Test/ deb/opt/apps/deepin-wine-runner/
|
cp -rv Test/ deb/opt/apps/deepin-wine-runner/
|
||||||
|
cp -rv dxvk/ deb/opt/apps/deepin-wine-runner
|
||||||
cp -rv information.json package-script
|
cp -rv information.json package-script
|
||||||
zip -v -q -r package-script.zip package-script
|
zip -v -q -r package-script.zip package-script
|
||||||
cp -rv InstallBox86-cn.sh deb/opt/apps/deepin-wine-runner/
|
cp -rv InstallBox86-cn.sh deb/opt/apps/deepin-wine-runner/
|
||||||
@@ -116,7 +117,6 @@ package-deb:
|
|||||||
cp -rv UpdateGeek.sh deb/opt/apps/deepin-wine-runner
|
cp -rv UpdateGeek.sh deb/opt/apps/deepin-wine-runner
|
||||||
cp -rv AppStore.py deb/opt/apps/deepin-wine-runner
|
cp -rv AppStore.py deb/opt/apps/deepin-wine-runner
|
||||||
cp -rv InstallWineOnDeepin23.py deb/opt/apps/deepin-wine-runner
|
cp -rv InstallWineOnDeepin23.py deb/opt/apps/deepin-wine-runner
|
||||||
cp -rv dxvk.7z deb/opt/apps/deepin-wine-runner
|
|
||||||
cp -rv InstallFont.py deb/opt/apps/deepin-wine-runner
|
cp -rv InstallFont.py deb/opt/apps/deepin-wine-runner
|
||||||
cp -rv CheckDLL deb/opt/apps/deepin-wine-runner
|
cp -rv CheckDLL deb/opt/apps/deepin-wine-runner
|
||||||
cp -rv InstallLat.sh deb/opt/apps/deepin-wine-runner
|
cp -rv InstallLat.sh deb/opt/apps/deepin-wine-runner
|
||||||
|
|||||||
+13
-5
@@ -16,6 +16,7 @@ if [[ 0 == $? ]]; then
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
# 检查是否有 QEMU
|
# 检查是否有 QEMU
|
||||||
|
export PATH=/opt/apps/deepin-wine-runner-qemu-system-extra/files/usr/local/bin:$PATH
|
||||||
which qemu-system-x86_64
|
which qemu-system-x86_64
|
||||||
if [[ $? == 0 ]] && [[ -f "$HOME/Qemu/Windows/Windows.qcow2" ]]; then
|
if [[ $? == 0 ]] && [[ -f "$HOME/Qemu/Windows/Windows.qcow2" ]]; then
|
||||||
if [[ -f "$HOME/.config/deepin-wine-runner/QemuSetting.json" ]]; then
|
if [[ -f "$HOME/.config/deepin-wine-runner/QemuSetting.json" ]]; then
|
||||||
@@ -24,6 +25,10 @@ if [[ $? == 0 ]] && [[ -f "$HOME/Qemu/Windows/Windows.qcow2" ]]; then
|
|||||||
python3 ./VM/StartQemu.py
|
python3 ./VM/StartQemu.py
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
# 判断是否有安装增强 Qemu
|
||||||
|
if [[ -f /opt/apps/deepin-wine-runner-qemu-system-extra/files/run.sh ]]; then
|
||||||
|
qemuMore=/opt/apps/deepin-wine-runner-qemu-system-extra/files/run.sh
|
||||||
|
fi
|
||||||
# 查看CPU个数
|
# 查看CPU个数
|
||||||
CpuSocketNum=`cat /proc/cpuinfo | grep "cpu cores" | uniq | wc -l`
|
CpuSocketNum=`cat /proc/cpuinfo | grep "cpu cores" | uniq | wc -l`
|
||||||
# 查看CPU核心数
|
# 查看CPU核心数
|
||||||
@@ -63,7 +68,7 @@ if [[ $? == 0 ]] && [[ -f "$HOME/Qemu/Windows/Windows.qcow2" ]]; then
|
|||||||
./VM/kvm-ok
|
./VM/kvm-ok
|
||||||
if [[ $? == 0 ]] && [[ `arch` == "x86_64" ]]; then
|
if [[ $? == 0 ]] && [[ `arch` == "x86_64" ]]; then
|
||||||
echo X86 架构,使用 kvm 加速
|
echo X86 架构,使用 kvm 加速
|
||||||
qemu-system-x86_64 --enable-kvm -cpu host --hda "$HOME/Qemu/Windows/Windows.qcow2" \
|
$qemuMore qemu-system-x86_64 --enable-kvm -cpu host --hda "$HOME/Qemu/Windows/Windows.qcow2" \
|
||||||
-smp $CpuCount,sockets=$CpuSocketNum,cores=$(($CpuCoreNum / $CpuSocketNum)),threads=$(($CpuCount / $CpuCoreNum / $CpuSocketNum)) \
|
-smp $CpuCount,sockets=$CpuSocketNum,cores=$(($CpuCoreNum / $CpuSocketNum)),threads=$(($CpuCount / $CpuCoreNum / $CpuSocketNum)) \
|
||||||
-m ${use}G -display vnc=:5 -display gtk -usb -nic model=rtl8139 $qemuUEFI \
|
-m ${use}G -display vnc=:5 -display gtk -usb -nic model=rtl8139 $qemuUEFI \
|
||||||
-device AC97 -device ES1370 -device intel-hda -device hda-duplex \
|
-device AC97 -device ES1370 -device intel-hda -device hda-duplex \
|
||||||
@@ -88,6 +93,9 @@ if [[ $? == 0 ]] && [[ -f "$HOME/Qemu/Windows/Windows.qcow2" ]]; then
|
|||||||
qemuPath="bwrap --dev-bind / / --bind ./VM/MipsQemu/usr/lib/mips64el-linux-gnuabi64/qemu/ui-gtk.so /usr/lib/mips64el-linux-gnuabi64/qemu/ui-gtk.so ./VM/MipsQemu/usr/bin/qemu-system-x86_64"
|
qemuPath="bwrap --dev-bind / / --bind ./VM/MipsQemu/usr/lib/mips64el-linux-gnuabi64/qemu/ui-gtk.so /usr/lib/mips64el-linux-gnuabi64/qemu/ui-gtk.so ./VM/MipsQemu/usr/bin/qemu-system-x86_64"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
if [[ $qemuMore != "" ]]; then
|
||||||
|
qemuPath=$qemuMore
|
||||||
|
fi
|
||||||
echo 不使用 kvm 加速
|
echo 不使用 kvm 加速
|
||||||
$qemuPath --hda "$HOME/Qemu/Windows/Windows.qcow2" \
|
$qemuPath --hda "$HOME/Qemu/Windows/Windows.qcow2" \
|
||||||
-smp $CpuCount,sockets=$CpuSocketNum,cores=$(($CpuCoreNum / $CpuSocketNum)),threads=$(($CpuCount / $CpuCoreNum / $CpuSocketNum)) \
|
-smp $CpuCount,sockets=$CpuSocketNum,cores=$(($CpuCoreNum / $CpuSocketNum)),threads=$(($CpuCount / $CpuCoreNum / $CpuSocketNum)) \
|
||||||
@@ -111,7 +119,7 @@ if [[ $? == 0 ]] && [[ -f "$HOME/Qemu/Windows/Windows.qcow2" ]]; then
|
|||||||
echo $qemuUEFI
|
echo $qemuUEFI
|
||||||
./VM/kvm-ok
|
./VM/kvm-ok
|
||||||
if [[ $? == 0 ]] && [[ `arch` == "aarch64" ]]; then
|
if [[ $? == 0 ]] && [[ `arch` == "aarch64" ]]; then
|
||||||
qemu-system-arm --enable-kvm --hda "$HOME/Qemu/Windows/Windows.qcow2" \
|
$qemuMore qemu-system-arm --enable-kvm --hda "$HOME/Qemu/Windows/Windows.qcow2" \
|
||||||
-smp $CpuCount,sockets=$CpuSocketNum,cores=$(($CpuCoreNum / $CpuSocketNum)),threads=$(($CpuCount / $CpuCoreNum / $CpuSocketNum)) \
|
-smp $CpuCount,sockets=$CpuSocketNum,cores=$(($CpuCoreNum / $CpuSocketNum)),threads=$(($CpuCount / $CpuCoreNum / $CpuSocketNum)) \
|
||||||
-m ${use}G -display vnc=:5 -display gtk -usb -nic model=rtl8139 $qemuUEFI \
|
-m ${use}G -display vnc=:5 -display gtk -usb -nic model=rtl8139 $qemuUEFI \
|
||||||
-cpu max -M virt -device virtio-gpu-pci \
|
-cpu max -M virt -device virtio-gpu-pci \
|
||||||
@@ -123,7 +131,7 @@ if [[ $? == 0 ]] && [[ -f "$HOME/Qemu/Windows/Windows.qcow2" ]]; then
|
|||||||
> /tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1 # 最新的 qemu 已经移除参数 -soundhw all
|
> /tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1 # 最新的 qemu 已经移除参数 -soundhw all
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
qemu-system-arm --hda "$HOME/Qemu/Windows/Windows.qcow2" \
|
$qemuMore qemu-system-arm --hda "$HOME/Qemu/Windows/Windows.qcow2" \
|
||||||
-smp $CpuCount,sockets=$CpuSocketNum,cores=$(($CpuCoreNum / $CpuSocketNum)),threads=$(($CpuCount / $CpuCoreNum / $CpuSocketNum)) \
|
-smp $CpuCount,sockets=$CpuSocketNum,cores=$(($CpuCoreNum / $CpuSocketNum)),threads=$(($CpuCount / $CpuCoreNum / $CpuSocketNum)) \
|
||||||
-m ${use}G -display vnc=:5 -display gtk -usb -nic model=rtl8139 $qemuUEFI \
|
-m ${use}G -display vnc=:5 -display gtk -usb -nic model=rtl8139 $qemuUEFI \
|
||||||
-cpu max -M virt -device virtio-gpu-pci \
|
-cpu max -M virt -device virtio-gpu-pci \
|
||||||
@@ -149,7 +157,7 @@ if [[ $? == 0 ]] && [[ -f "$HOME/Qemu/Windows/Windows.qcow2" ]]; then
|
|||||||
echo $qemuUEFI
|
echo $qemuUEFI
|
||||||
./VM/kvm-ok
|
./VM/kvm-ok
|
||||||
if [[ $? == 0 ]] && [[ `arch` == "aarch64" ]]; then
|
if [[ $? == 0 ]] && [[ `arch` == "aarch64" ]]; then
|
||||||
qemu-system-aarch64 --enable-kvm --hda "$HOME/Qemu/Windows/Windows.qcow2" \
|
$qemuMore qemu-system-aarch64 --enable-kvm --hda "$HOME/Qemu/Windows/Windows.qcow2" \
|
||||||
-smp $CpuCount,sockets=$CpuSocketNum,cores=$(($CpuCoreNum / $CpuSocketNum)),threads=$(($CpuCount / $CpuCoreNum / $CpuSocketNum)) \
|
-smp $CpuCount,sockets=$CpuSocketNum,cores=$(($CpuCoreNum / $CpuSocketNum)),threads=$(($CpuCount / $CpuCoreNum / $CpuSocketNum)) \
|
||||||
-m ${use}G -display vnc=:5 -display gtk -usb -nic model=rtl8139 $qemuUEFI \
|
-m ${use}G -display vnc=:5 -display gtk -usb -nic model=rtl8139 $qemuUEFI \
|
||||||
-cpu max -M virt \
|
-cpu max -M virt \
|
||||||
@@ -162,7 +170,7 @@ if [[ $? == 0 ]] && [[ -f "$HOME/Qemu/Windows/Windows.qcow2" ]]; then
|
|||||||
> /tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1 # 最新的 qemu 已经移除参数 -soundhw all
|
> /tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1 # 最新的 qemu 已经移除参数 -soundhw all
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
qemu-system-aarch64 --hda "$HOME/Qemu/Windows/Windows.qcow2" \
|
$qemuMore qemu-system-aarch64 --hda "$HOME/Qemu/Windows/Windows.qcow2" \
|
||||||
-smp $CpuCount,sockets=$CpuSocketNum,cores=$(($CpuCoreNum / $CpuSocketNum)),threads=$(($CpuCount / $CpuCoreNum / $CpuSocketNum)) \
|
-smp $CpuCount,sockets=$CpuSocketNum,cores=$(($CpuCoreNum / $CpuSocketNum)),threads=$(($CpuCount / $CpuCoreNum / $CpuSocketNum)) \
|
||||||
-m ${use}G -display vnc=:5 -display gtk -usb -nic model=rtl8139 $qemuUEFI \
|
-m ${use}G -display vnc=:5 -display gtk -usb -nic model=rtl8139 $qemuUEFI \
|
||||||
-cpu max -M virt \
|
-cpu max -M virt \
|
||||||
|
|||||||
Executable
+219
@@ -0,0 +1,219 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
function wait(){
|
||||||
|
echo Press Enter To Exit
|
||||||
|
read
|
||||||
|
}
|
||||||
|
# default directories
|
||||||
|
dxvk_lib32=${dxvk_lib32:-"x32"}
|
||||||
|
dxvk_lib64=${dxvk_lib64:-"x64"}
|
||||||
|
|
||||||
|
# figure out where we are
|
||||||
|
basedir="$(dirname "$(readlink -f "$0")")"
|
||||||
|
|
||||||
|
# figure out which action to perform
|
||||||
|
action="$1"
|
||||||
|
|
||||||
|
case "$action" in
|
||||||
|
install)
|
||||||
|
;;
|
||||||
|
uninstall)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unrecognized action: $action"
|
||||||
|
echo "Usage: $0 [install|uninstall] [--without-dxgi] [--symlink]"
|
||||||
|
exit 1
|
||||||
|
esac
|
||||||
|
|
||||||
|
# process arguments
|
||||||
|
shift
|
||||||
|
|
||||||
|
with_dxgi=true
|
||||||
|
file_cmd="cp -v --reflink=auto"
|
||||||
|
|
||||||
|
while (($# > 0)); do
|
||||||
|
case "$1" in
|
||||||
|
"--without-dxgi")
|
||||||
|
with_dxgi=false
|
||||||
|
;;
|
||||||
|
"--symlink")
|
||||||
|
file_cmd="ln -s -v"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
# check wine prefix before invoking wine, so that we
|
||||||
|
# don't accidentally create one if the user screws up
|
||||||
|
if [ -n "$WINEPREFIX" ] && ! [ -f "$WINEPREFIX/system.reg" ]; then
|
||||||
|
echo "$WINEPREFIX:"' Not a valid wine prefix.' >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# find wine executable
|
||||||
|
export WINEDEBUG=-all
|
||||||
|
# disable mscoree and mshtml to avoid downloading
|
||||||
|
# wine gecko and mono
|
||||||
|
export WINEDLLOVERRIDES="mscoree,mshtml="
|
||||||
|
|
||||||
|
# 专门添加,为了可以使用自定义的 wine
|
||||||
|
wine=$WINE
|
||||||
|
wine64=$WINE64
|
||||||
|
wineboot="$WINE wineboot"
|
||||||
|
if [[ $WINE == "" ]];then
|
||||||
|
wine="wine"
|
||||||
|
fi
|
||||||
|
if [[ $WINE64 == "" ]];then
|
||||||
|
wine64="wine64"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# $PATH is the way for user to control where wine is located (including custom Wine versions).
|
||||||
|
# Pure 64-bit Wine (non Wow64) requries skipping 32-bit steps.
|
||||||
|
# In such case, wine64 and winebooot will be present, but wine binary will be missing,
|
||||||
|
# however it can be present in other PATHs, so it shouldn't be used, to avoid versions mixing.
|
||||||
|
wine_path=$(dirname "$(which $wineboot)")
|
||||||
|
wow64=true
|
||||||
|
if ! [ -f "$wine_path/$wine" ]; then
|
||||||
|
wine=$wine64
|
||||||
|
wow64=false
|
||||||
|
fi
|
||||||
|
|
||||||
|
# resolve 32-bit and 64-bit system32 path
|
||||||
|
winever=$($wine --version | grep wine)
|
||||||
|
if [ -z "$winever" ]; then
|
||||||
|
echo "$wine:"' Not a wine executable. Check your $wine.' >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ensure wine placeholder dlls are recreated
|
||||||
|
# if they are missing
|
||||||
|
$wineboot -u
|
||||||
|
|
||||||
|
win64_sys_path=$($wine64 winepath -u 'C:\windows\system32' 2> /dev/null)
|
||||||
|
win64_sys_path="${win64_sys_path/$'\r'/}"
|
||||||
|
if $wow64; then
|
||||||
|
win32_sys_path=$($wine winepath -u 'C:\windows\system32' 2> /dev/null)
|
||||||
|
win32_sys_path="${win32_sys_path/$'\r'/}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$win32_sys_path" ] && [ -z "$win64_sys_path" ]; then
|
||||||
|
echo 'Failed to resolve C:\windows\system32.' >&2
|
||||||
|
wait
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# create native dll override
|
||||||
|
overrideDll() {
|
||||||
|
$wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v $1 /d native /f >/dev/null 2>&1
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo -e "Failed to add override for $1"
|
||||||
|
wait
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# remove dll override
|
||||||
|
restoreDll() {
|
||||||
|
$wine reg delete 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v $1 /f > /dev/null 2>&1
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Failed to remove override for $1"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# copy or link dxvk dll, back up original file
|
||||||
|
installFile() {
|
||||||
|
dstfile="${1}/${3}.dll"
|
||||||
|
srcfile="${basedir}/${2}/${3}.dll"
|
||||||
|
|
||||||
|
if [ -f "${srcfile}.so" ]; then
|
||||||
|
srcfile="${srcfile}.so"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! [ -f "${srcfile}" ]; then
|
||||||
|
echo "${srcfile}: File not found. Skipping." >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$1" ]; then
|
||||||
|
if [ -f "${dstfile}" ] || [ -h "${dstfile}" ]; then
|
||||||
|
if ! [ -f "${dstfile}.old" ]; then
|
||||||
|
mv -v "${dstfile}" "${dstfile}.old"
|
||||||
|
else
|
||||||
|
rm -v "${dstfile}"
|
||||||
|
fi
|
||||||
|
$file_cmd "${srcfile}" "${dstfile}"
|
||||||
|
else
|
||||||
|
echo "${dstfile}: File not found in wine prefix" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# remove dxvk dll, restore original file
|
||||||
|
uninstallFile() {
|
||||||
|
dstfile="${1}/${3}.dll"
|
||||||
|
srcfile="${basedir}/${2}/${3}.dll"
|
||||||
|
|
||||||
|
if [ -f "${srcfile}.so" ]; then
|
||||||
|
srcfile="${srcfile}.so"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! [ -f "${srcfile}" ]; then
|
||||||
|
echo "${srcfile}: File not found. Skipping." >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! [ -f "${dstfile}" ] && ! [ -h "${dstfile}" ]; then
|
||||||
|
echo "${dstfile}: File not found. Skipping." >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "${dstfile}.old" ]; then
|
||||||
|
rm -v "${dstfile}"
|
||||||
|
mv -v "${dstfile}.old" "${dstfile}"
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
install() {
|
||||||
|
installFile "$win64_sys_path" "$dxvk_lib64" "$1"
|
||||||
|
inst64_ret="$?"
|
||||||
|
|
||||||
|
inst32_ret=-1
|
||||||
|
if $wow64; then
|
||||||
|
installFile "$win32_sys_path" "$dxvk_lib32" "$1"
|
||||||
|
inst32_ret="$?"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if (( ($inst32_ret == 0) || ($inst64_ret == 0) )); then
|
||||||
|
overrideDll "$1"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
uninstall() {
|
||||||
|
uninstallFile "$win64_sys_path" "$dxvk_lib64" "$1"
|
||||||
|
uninst64_ret="$?"
|
||||||
|
|
||||||
|
uninst32_ret=-1
|
||||||
|
if $wow64; then
|
||||||
|
uninstallFile "$win32_sys_path" "$dxvk_lib32" "$1"
|
||||||
|
uninst32_ret="$?"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if (( ($uninst32_ret == 0) || ($uninst64_ret == 0) )); then
|
||||||
|
restoreDll "$1"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# skip dxgi during install if not explicitly
|
||||||
|
# enabled, but always try to uninstall it
|
||||||
|
if $with_dxgi || [ "$action" == "uninstall" ]; then
|
||||||
|
$action dxgi
|
||||||
|
fi
|
||||||
|
|
||||||
|
$action d3d9
|
||||||
|
$action d3d10core
|
||||||
|
$action d3d11
|
||||||
|
wait
|
||||||
Executable
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
@@ -1018,11 +1018,6 @@ def InstallMSXML():
|
|||||||
OpenTerminal(f"'{programPath}/InstallMsxml.py' '{wineBottonPath}' '{wine[o1.currentText()]}' {int(setting['RuntimeCache'])}")
|
OpenTerminal(f"'{programPath}/InstallMsxml.py' '{wineBottonPath}' '{wine[o1.currentText()]}' {int(setting['RuntimeCache'])}")
|
||||||
|
|
||||||
def InstallDXVK():
|
def InstallDXVK():
|
||||||
if not os.path.exists(f"{programPath}/dxvk"):
|
|
||||||
if os.system(f"7z x -y \"{programPath}/dxvk.7z\" -o\"{programPath}\""):
|
|
||||||
QtWidgets.QMessageBox.critical(widget, "错误", "无法解压资源")
|
|
||||||
return
|
|
||||||
os.remove(f"{programPath}/dxvk.7z")
|
|
||||||
if e1.currentText() == "":
|
if e1.currentText() == "":
|
||||||
wineBottonPath = setting["DefultBotton"]
|
wineBottonPath = setting["DefultBotton"]
|
||||||
else:
|
else:
|
||||||
|
|||||||
Reference in New Issue
Block a user