diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index 9221ac71..c935fa5b 100755 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -3071,17 +3071,26 @@ pw_yad_form_vulkan () { portwine_launch () { start_portwine - PORTWINE_MSI=$(basename "${portwine_exe}" | grep .msi) - PORTWINE_BAT=$(basename "${portwine_exe}" | grep .bat) + export GST_PLUGIN_SYSTEM_PATH_1_0="" if [[ "${PW_VIRTUAL_DESKTOP}" == "1" ]] ; then pw_run explorer "/desktop=PortProton,${PW_SCREEN_RESOLUTION}" ${WINE_WIN_START} "$portwine_exe" - elif [ ! -z "${PORTWINE_MSI}" ]; then - pw_run msiexec /i "$portwine_exe" - elif [[ ! -z "${PORTWINE_BAT}" || -n "${portwine_exe}" ]] ; then - pw_run ${WINE_WIN_START} "$portwine_exe" - else - pw_run winefile fi + + case "$portwine_exe" in + *.bat) + PW_USE_TERMINAL=1 + pw_run cmd /c "$portwine_exe" + ;; + *.msi) + pw_run msiexec /i "$portwine_exe" + ;; + *.reg) + pw_run regedit "$portwine_exe" + ;; + *) + pw_run winefile + ;; + esac } pw_winecfg () { diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh index b7e09f8c..dc8c3796 100755 --- a/data_from_portwine/scripts/start.sh +++ b/data_from_portwine/scripts/start.sh @@ -36,13 +36,13 @@ if [[ "$1" == *.ppack ]] ; then portwine_exe="$1" elif [[ -f "$1" ]] ; then portwine_exe="$(realpath "$1")" -elif [[ -f "$OLDPWD/$1" ]] && [[ "$1" == *.exe ]] ; then +elif [[ -f "$OLDPWD/$1" ]] && ([[ "$1" == *.exe ]] || [[ "$1" == *.bat ]]); then portwine_exe="$(realpath "$OLDPWD/$1")" elif [[ "$1" == "--debug" ]] && [[ -f "$2" ]] ; then portwine_exe="$(realpath "$2")" -elif [[ "$1" == "--debug" ]] && [[ -f "$OLDPWD/$2" ]] && [[ "$2" == *.exe ]] ; then +elif [[ "$1" == "--debug" ]] && [[ -f "$OLDPWD/$2" ]] && ([[ "$2" == *.exe ]] || [[ "$2" == *.bat ]]); then portwine_exe="$(realpath "$OLDPWD/$2")" -elif [[ "$1" == *.exe ]] ; then +elif [[ "$1" == *.exe ]] || [[ "$1" == *.bat ]]; then portwine_exe="$1" MISSING_DESKTOP_FILE=1 fi