From 7c1aac0bed43fbba36b0bbf2bb9eea2615076d46 Mon Sep 17 00:00:00 2001 From: GloriousEggroll Date: Fri, 8 Mar 2024 13:54:12 -0700 Subject: [PATCH] Skip applying winetricks if no internet connection available. Fixes #25 --- util.py | 15 +- winetricks | 804 +++++++++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 696 insertions(+), 123 deletions(-) diff --git a/util.py b/util.py index dfa79c3b..8b10b43d 100755 --- a/util.py +++ b/util.py @@ -225,12 +225,25 @@ def is_custom_verb(verb): return False +def check_internet(): + """Checks for internet connection.""" + try: + urllib.request.urlopen("https://www.debian.org/", timeout=5) + return True + except urllib.error.URLError: + return False def protontricks(verb): """ Runs winetricks if available """ - if not checkinstalled(verb): + if check_internet(): + # Proceed with your function logic here + pass + else: + log.info("No internet connection. Winetricks will be skipped.") + return False + log.info('Installing winetricks ' + verb) env = dict(protonmain.g_session.env) env['WINEPREFIX'] = protonprefix() diff --git a/winetricks b/winetricks index 5d5c346e..05b6683d 100755 --- a/winetricks +++ b/winetricks @@ -6,7 +6,7 @@ # Name of this version of winetricks (YYYYMMDD) # (This doesn't change often, use the sha256sum of the file when reporting problems) -WINETRICKS_VERSION=20230212-next +WINETRICKS_VERSION=20240105-next # This is a UTF-8 file # You should see an o with two dots over it here [ö] @@ -39,11 +39,11 @@ WINETRICKS_VERSION=20230212-next # - xz is used by some verbs to decompress tar archives. # - zenity is needed by the GUI, though it can limp along somewhat with kdialog/xmessage. # -# On Ubuntu (20.04 and newer), the following line can be used to install all the prerequisites: -# sudo apt install aria2 binutils cabextract fuseiso p7zip-full pkexec tor unrar unzip wine xdg-utils xz-utils zenity +# On Ubuntu (23.04 and newer), the following line can be used to install all the prerequisites: +# sudo apt install 7zip aria2 binutils cabextract fuseiso pkexec tor unrar-free unzip wine xdg-utils xz-utils zenity # # On older Ubuntu, the following line can be used to install all the prerequisites: -# sudo apt install aria2 binutils cabextract fuseiso p7zip-full policykit-1 tor unrar unzip wine xdg-utils xz-utils zenity +# sudo apt install aria2 binutils cabextract fuseiso p7zip-full policykit-1 tor unrar-free unzip wine xdg-utils xz-utils zenity # # On Fedora, these commands can be used (RPM Fusion is used to install unrar): # sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm @@ -56,7 +56,7 @@ WINETRICKS_VERSION=20230212-next # # Copyright: # Copyright (C) 2007-2014 Dan Kegel -# Copyright (C) 2008-2022 Austin English +# Copyright (C) 2008-2024 Austin English # Copyright (C) 2010-2011 Phil Blankenship # Copyright (C) 2010-2015 Shannon VanWagner # Copyright (C) 2010 Belhorma Bendebiche @@ -698,14 +698,14 @@ w_try_7z() if [ -z "${WINETRICKS_FORCE_WIN_7Z}" ] && [ -x "$(command -v 7z 2>/dev/null)" ] ; then w_try 7z x "${filename}" -o"${destdir}" "$@" else - w_warn "Cannot find 7z. Using Windows 7-Zip instead. (You can avoid this by installing 7z, e.g. 'sudo apt-get install p7zip-full' or 'sudo yum install p7zip-plugins')." + w_warn "Cannot find 7z. Using Windows 7-Zip instead. (You can avoid this by installing 7z, e.g. 'sudo apt install 7zip' or 'sudo yum install p7zip-plugins')." WINETRICKS_OPT_SHAREDPREFIX=1 w_call 7zip # w_call above will wipe $W_TMP; if that's the CWD, things will break. So forcefully reset the directory: w_try_cd "${PWD}" # errors out if there is a space between -o and path - w_try "${WINE}" "${W_PROGRAMS_X86_WIN}\\7-Zip\\7z.exe" x "$(w_pathconv -w "${filename}")" -o"$(w_pathconv -w "${destdir}")" "$@" + w_try "${WINE}" "${W_PROGRAMS_X86_WIN}\\7-Zip\\7z.exe" x "$(w_pathconv -w "${filename}")" -y -o"$(w_pathconv -w "${destdir}")" "$@" fi } @@ -718,7 +718,7 @@ w_try_ar() if [ -z "${WINETRICKS_FORCE_WIN_7Z}" ] && [ -x "$(command -v ar 2>/dev/null)" ]; then w_try ar x "$@" else - w_warn "Cannot find ar. Using Windows 7-zip instead. (You can avoid this by installing binutils, e.g. 'sudo apt-get install binutils' or 'sudo yum install binutils')." + w_warn "Cannot find ar. Using Windows 7-zip instead. (You can avoid this by installing binutils, e.g. 'sudo apt install binutils' or 'sudo yum install binutils')." WINETRICKS_OPT_SHAREDPREFIX=1 w_call 7zip # w_call above will wipe $W_TMP; if that's the CWD, things will break. So forcefully reset the directory: @@ -734,7 +734,7 @@ w_try_cabextract() { # Not always installed, but shouldn't be fatal unless it's being used if test ! -x "$(command -v cabextract 2>/dev/null)"; then - w_die "Cannot find cabextract. Please install it (e.g. 'sudo apt-get install cabextract' or 'sudo yum install cabextract')." + w_die "Cannot find cabextract. Please install it (e.g. 'sudo apt install cabextract' or 'sudo yum install cabextract')." fi w_try cabextract -q "$@" @@ -900,7 +900,7 @@ w_try_unrar() if [ -z "${WINETRICKS_FORCE_WIN_7Z}" ] && [ -x "$(command -v unrar 2>/dev/null)" ]; then w_try unrar x "$@" else - w_warn "Cannot find unrar. Using Windows 7-Zip instead. (You can avoid this by installing unrar, e.g. 'sudo apt-get install unrar' or 'sudo yum install unrar')." + w_warn "Cannot find unrar. Using Windows 7-Zip instead. (You can avoid this by installing unrar, e.g. 'sudo apt install unrar-free' or 'sudo yum install unrar')." WINETRICKS_OPT_SHAREDPREFIX=1 w_call 7zip # w_call above will wipe $W_TMP; if that's the CWD, things will break. So forcefully reset the directory: @@ -931,7 +931,7 @@ w_try_unzip() 1|*) w_warn "Unzip failed, trying Windows 7-Zip instead." ;; esac else - w_warn "Cannot find unzip. Using Windows 7-Zip instead. (You can avoid this by installing unzip, e.g. 'sudo apt-get install unzip' or 'sudo yum install unzip')." + w_warn "Cannot find unzip. Using Windows 7-Zip instead. (You can avoid this by installing unzip, e.g. 'sudo apt install unzip' or 'sudo yum install unzip')." fi WINETRICKS_OPT_SHAREDPREFIX=1 w_call 7zip @@ -940,7 +940,7 @@ w_try_unzip() w_try_cd "${PWD}" # errors out if there is a space between -o and path - w_try "${WINE}" "${W_PROGRAMS_X86_WIN}\\7-Zip\\7z.exe" x "$(w_pathconv -w "${zipfile}")" -y -o"$(w_pathconv -w "${destdir}")" "$@" + w_try "${WINE}" "${W_PROGRAMS_X86_WIN}\\7-Zip\\7z.exe" x "$(w_pathconv -w "${zipfile}")" -o"$(w_pathconv -w "${destdir}")" "$@" } ### End of w_try ### @@ -1018,7 +1018,7 @@ w_verify_cabextract_available() # This should be called by verb_a, to give a proper warning if test ! -x "$(command -v cabextract 2>/dev/null)"; then - w_die "Cannot find cabextract. Please install it (e.g. 'sudo apt-get install cabextract' or 'sudo yum install cabextract')." + w_die "Cannot find cabextract. Please install it (e.g. 'sudo apt install cabextract' or 'sudo yum install cabextract')." fi w_try_cabextract -q -v >/dev/null 2>&1 @@ -1064,6 +1064,34 @@ w_expand_env() winetricks_early_wine_arch cmd.exe /c echo "%$1%" } +# Determine what architecture a binary file is built for +winetricks_get_file_arch() +{ + _W_file="$1" + # macOS uses Mach-O binaries, not ELF + if [ "$(uname -s)" = "Darwin" ]; then + _W_lipo_output="$(lipo -archs "${_W_file}")" + case "${_W_lipo_output}" in + "arm64") _W_file_arch="arm64" ;; + "i386") _W_file_arch="i386" ;; + "x86_64") _W_file_arch="x86_64" ;; + *) w_die "Unknown file arch: ${_W_lipo_output}" ;; + esac + else + # Assume ELF binaries for everything else + _W_ob_output="$(od -An -t x1 -j 0x12 -N 1 "${_W_file}" | tr -d "[:space:]")" + case "${_W_ob_output}" in + "3e") _W_file_arch="x86_64" ;; + "03"|"06") _W_file_arch="i386" ;; + "b7") _W_file_arch="aarch64" ;; + "28") _W_file_arch="aarch32" ;; + *) w_die "Unknown file arch: ${_W_ob_output}";; + esac + fi + + echo "${_W_file_arch}" +} + # Get the latest tagged release from github.com API w_get_github_latest_release() { @@ -1523,6 +1551,7 @@ w_download_to() --retry-connrefused \ --timeout "${WINETRICKS_DOWNLOADER_TIMEOUT}" \ --tries "${WINETRICKS_DOWNLOADER_RETRIES}" \ + --header "Accept: */*" \ ${_W_cookiejar:+--load-cookies "${_W_cookiejar}"} \ ${_W_agent:+--user-agent="${_W_agent}"} \ "${_W_url}" @@ -1537,6 +1566,7 @@ w_download_to() -L \ -o "${_W_file}" \ -C - \ + --fail \ --retry "${WINETRICKS_DOWNLOADER_RETRIES}" \ ${_W_cookiejar:+--cookie "${_W_cookiejar}"} \ ${_W_agent:+--user-agent "${_W_agent}"} \ @@ -2919,26 +2949,11 @@ _EOF_ } #---- Private Functions ---- -export INTERNET="no" -internet_check() { - hasinternet=$(getent hosts cloudflare.com) - # Check for internet connection - if [ "${hasinternet}" != '' ]; then - export INTERNET="yes" - fi -} # Determines downloader to use, etc. # I.e., things common to w_download_to(), winetricks_download_to_stdout(), and winetricks_stats_report()) winetricks_download_setup() { - if [ "${INTERNET}" = "no" ] ; then - internet_check - if [ "${INTERNET}" = "no" ] ; then - w_die "No internet connection found, aborting download attempt." - fi - fi - # shellcheck disable=SC2104 case "${WINETRICKS_DOWNLOADER}" in aria2c|curl|wget|fetch) : ;; @@ -3539,6 +3554,7 @@ winetricks_mainmenu() _W_msg_explorer='Стартиране на explorer' _W_msg_uninstaller='Стартиране на uninstaller' _W_msg_winecmd='Стартиране на терминала' + _W_msg_wine_misc_exe='Стартиране на изпълним файл (.exe/.msi/.msu)' _W_msg_shell='Стартиране на терминала (за отстраняване на неизправности)' _W_msg_folder='Търсене на файлове' _W_msg_annihilate="Изтриване на ВСИЧКИ ДАННИ И ПРИЛОЖЕНИЯ В ТАЗИ ПАПКА" @@ -3554,6 +3570,7 @@ winetricks_mainmenu() _W_msg_explorer='Run explorer' _W_msg_uninstaller='Run uninstaller' _W_msg_winecmd='Run a Wine cmd shell' + _W_msg_wine_misc_exe='Run an arbitrary executable (.exe/.msi/.msu)' _W_msg_shell='Run a commandline shell (for debugging)' _W_msg_folder='Browse files' _W_msg_annihilate="Delete ALL DATA AND APPLICATIONS INSIDE THIS WINEPREFIX" @@ -3569,6 +3586,7 @@ winetricks_mainmenu() _W_msg_explorer='explorer starten' _W_msg_uninstaller='uninstaller starten' _W_msg_winecmd='Starten Sie Wine cmd' + _W_msg_wine_misc_exe='Run an arbitrary executable (.exe/.msi/.msu)' _W_msg_shell='Eine Kommandozeile zum debuggen starten' _W_msg_folder='Ordner durchsuchen' _W_msg_annihilate="ALLE DATEIEN UND PROGRAMME IN DIESEM WINEPREFIX Löschen" @@ -3584,6 +3602,7 @@ winetricks_mainmenu() _W_msg_explorer='Uruchomić explorer' _W_msg_uninstaller='Uruchomić program odinstalowujący' _W_msg_winecmd='Uruchomić Wine cmd' + _W_msg_wine_misc_exe='Run an arbitrary executable (.exe/.msi/.msu)' _W_msg_shell='Uruchomić powłokę wiersza poleceń (dla debugowania)' _W_msg_folder='Przeglądać pliki' _W_msg_annihilate="Usuńąć WSZYSTKIE DANE I APLIKACJE WEWNĄTRZ TEGO PREFIKSU WINE" @@ -3599,6 +3618,7 @@ winetricks_mainmenu() _W_msg_explorer='Executar explorer' _W_msg_uninstaller='Executar desinstalador' _W_msg_winecmd='Executar Wine cmd' + _W_msg_wine_misc_exe='Run an arbitrary executable (.exe/.msi/.msu)' _W_msg_shell='Executar linha de comandos shell (para depuração)' _W_msg_folder='Gerenciar arquivos' _W_msg_annihilate="Apagar TODOS OS DADOS E APLICATIVOS DENTRO DESTE WINEPREFIX" @@ -3614,6 +3634,7 @@ winetricks_mainmenu() _W_msg_explorer='Запустить explorer (Проводник)' _W_msg_uninstaller='Запустить uninstaller (установка и удаление программ)' _W_msg_winecmd='Запустить wine cmd (командную строку)' + _W_msg_wine_misc_exe='Run an arbitrary executable (.exe/.msi/.msu)' _W_msg_shell='Запустить графический терминал (для отладки)' _W_msg_folder='Запустить winefile (проводник файлов)' _W_msg_annihilate="Удалить ВСЕ ДАННЫЕ И ПРИЛОЖЕНИЯ в этом префиксе" @@ -3629,6 +3650,7 @@ winetricks_mainmenu() _W_msg_explorer='Запустити explorer' _W_msg_uninstaller='Встановлення/видалення програм' _W_msg_winecmd='Запустіть оболонку Wine cmd' + _W_msg_wine_misc_exe='Run an arbitrary executable (.exe/.msi/.msu)' _W_msg_shell='Запуск командної оболонки (для налагодження)' _W_msg_folder='Перегляд файлів' _W_msg_annihilate="Видалити УСІ ДАНІ ТА ПРОГРАМИ З ЦЬОГО WINEPREFIX" @@ -3644,6 +3666,7 @@ winetricks_mainmenu() _W_msg_explorer='运行资源管理器' _W_msg_uninstaller='运行卸载程序' _W_msg_winecmd='运行 Wine cmd' + _W_msg_wine_misc_exe='Run an arbitrary executable (.exe/.msi/.msu)' _W_msg_shell='运行命令提示窗口 (作为调试)' _W_msg_folder='浏览容器中的文件' _W_msg_annihilate="删除容器中所有数据和应用程序" @@ -3659,6 +3682,7 @@ winetricks_mainmenu() _W_msg_explorer='執行檔案總管' _W_msg_uninstaller='執行解除安裝程式' _W_msg_winecmd='運行 Wine cmd' + _W_msg_wine_misc_exe='Run an arbitrary executable (.exe/.msi/.msu)' _W_msg_shell='執行命令提示視窗 (作為偵錯)' _W_msg_folder='瀏覽容器中的檔案' _W_msg_annihilate="刪除容器中所有資料和應用程式" @@ -3674,6 +3698,7 @@ winetricks_mainmenu() _W_msg_explorer='Run explorer' _W_msg_uninstaller='Run uninstaller' _W_msg_winecmd='Run a Wine cmd shell' + _W_msg_wine_misc_exe='Run an arbitrary executable (.exe/.msi/.msu)' _W_msg_shell='Run a commandline shell (for debugging)' _W_msg_folder='Browse files' _W_msg_annihilate="Delete ALL DATA AND APPLICATIONS INSIDE THIS WINEPREFIX" @@ -3703,6 +3728,7 @@ winetricks_mainmenu() FALSE explorer '${_W_msg_explorer}' \ FALSE uninstaller '${_W_msg_uninstaller}' \ FALSE winecmd '${_W_msg_winecmd}' \ + FALSE wine_misc_exe '${_W_msg_wine_misc_exe}' \ FALSE shell '${_W_msg_shell}' \ FALSE folder '${_W_msg_folder}' \ FALSE annihilate '${_W_msg_annihilate}' \ @@ -3727,6 +3753,7 @@ winetricks_mainmenu() explorer "${_W_msg_explorer}" off \ uninstaller "${_W_msg_uninstaller}" off \ winecmd "${_W_msg_winecmd}" off \ + wine_misc_exe "${_W_msg_wine_misc_exe}" off \ shell "${_W_msg_shell}" off \ folder "${_W_msg_folder}" off \ annihilate "${_W_msg_annihilate}" off \ @@ -3908,11 +3935,18 @@ winetricks_settings_menu() # Begin 'title' strings localization code # shellcheck disable=SC2154 case ${LANG} in + bg*) + case "${title_bg}" in + "") ;; + *) title="${title_bg}";; + esac + ;; uk*) case "${title_uk}" in "") ;; *) title="${title_uk}";; esac + ;; esac # End of code @@ -4935,7 +4969,7 @@ winetricks_cleanup() fi test "${WINETRICKS_CACHE_SYMLINK}" && rm -f "${WINETRICKS_CACHE_SYMLINK}" - if [ "${W_OPT_NOCLEAN}" = 1 ]; then + if [ -z "${W_OPT_NOCLEAN}" ]; then rm -rf "${WINETRICKS_WORKDIR}" rm -rf "${W_TMP_EARLY}" rm -rf "${WINEPREFIX}/wrapper.cfg" @@ -5026,13 +5060,30 @@ winetricks_set_wineprefix() # Using the variable W_SYSTEM32_DLLS instead of SYSTEM32 because some stuff does go under system32 for both arch's # e.g., spool/drivers/color if test -d "${W_DRIVE_C}/windows/syswow64"; then + # Check the bitness of wineserver + wine binary, used later to determine if we're on a WOW setup (no wine64) + # https://github.com/Winetricks/winetricks/issues/2030 + WINESERVER_BIN="$(which "${WINESERVER}")" + _W_wineserver_binary_arch="$(winetricks_get_file_arch "${WINESERVER_BIN}")" + WINE_BIN="$(which "${WINE}")" + _W_wine_binary_arch="$(winetricks_get_file_arch "${WINE_BIN}")" + + # determine wow64 type (new/old) + # FIXME: check what upstream is calling them + if [ "${_W_wineserver_binary_arch}" = "${_W_wine_binary_arch}" ]; then + _W_wow64_style="new" + else + _W_wow64_style="classic" + fi + # Probably need fancier handling/checking, but for a basic start: # Note 'wine' may be named 'wine-stable'/'wine-staging'/etc.): # WINE64 = wine64, available on 64-bit prefixes - # WINE_ARCH = the native wine for the prefix (wine for 32-bit, wine64 for 64-bit) + # WINE_ARCH = the native wine for the prefix (wine for 32-bit or new wow mode, wine64 for classic wow mode) # WINE_MULTI = generic wine, new name if [ -n "${WINE64}" ]; then true + elif [ "${_W_wow64_style}" = "new" ]; then + WINE64="${WINE}" elif [ "${WINE%??}64" = "${WINE}" ]; then WINE64="${WINE}" elif command -v "${WINE}64" >/dev/null 2>&1; then @@ -5101,9 +5152,14 @@ winetricks_set_wineprefix() pt*) w_warn "Você está usando um WINEPREFIX de 64-bit. Observe que muitos casos instalam apenas versões de pacotes de 32-bit. Se você encontrar problemas, teste novamente em um WINEPREFIX limpo de 32-bit antes de relatar um bug." ;; *) w_warn "You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug." ;; esac + + if [ "${_W_wow64_style}" = "new" ]; then + w_warn "You apppear to be using Wine's new wow64 mode. Note that this is EXPERIMENTAL and not yet fully supported. If reporting an issue, be sure to mention this." + fi fi else + _W_wow64_style="none" WINE64="false" WINE_ARCH="${WINE}" WINE_MULTI="${WINE}" @@ -5439,10 +5495,10 @@ winetricks_wine_setup() # wine-2.8 _wine_version_stripped="$(echo "${WINETRICKS_WINE_VERSION}" | cut -d ' ' -f1 | sed -e 's/wine-//' -e 's/-rc.*//')" - # If WINE is < 7.0, warn user: - # 7.0 doesn't do what I thought it would - if w_wine_version_in ,6.99 ; then - w_warn "Your version of wine ${_wine_version_stripped} is no longer supported upstream. You should upgrade to 7.x" + # If WINE is < 8.0, warn user: + # 8.0 doesn't do what I thought it would + if w_wine_version_in ,7.99 ; then + w_warn "Your version of wine ${_wine_version_stripped} is no longer supported upstream. You should upgrade to 8.x" fi winetricks_set_wineprefix "$1" @@ -5470,6 +5526,8 @@ winetricks_usage() --update-rollback Отменя последното обновяване на това приложение -k, --keep_isos Кешира .iso файловете (позволява инсталация без диск) --no-clean Не изтрива временните директории (полезно е за отстраняване на неизправности) + --optin Включва докладването за използваните глаголи към разработчиците на Winetricks + --optout Изключва докладването за използваните глаголи към разработчиците на Winetricks -q, --unattended Не задава въпроси, инсталира автоматично -r, --ddrescue Повтаря опитите за кеширане на одраскани дискове -t --torify Стартира изтегляне с torify, ако е налично @@ -6006,17 +6064,32 @@ load_cmd() w_metadata cnc_ddraw dlls \ title="Reimplentation of ddraw for CnC games" \ - homepage="https://github.com/CnCNet/cnc-ddraw" \ + homepage="https://github.com/FunkyFr3sh/cnc-ddraw" \ publisher="CnCNet" \ year="2021" \ media="download" \ - file1="cnc-ddraw-v5.0.0.0.zip" \ + file1="cnc-ddraw-v6.2.0.0.zip" \ installed_file1="${W_SYSTEM32_DLLS_WIN}/Shaders/readme.txt" load_cnc_ddraw() { # Note: only works if ddraw.ini contains settings for the executable - w_download https://github.com/CnCNet/cnc-ddraw/releases/download/v5.0.0.0/cnc-ddraw.zip 9f37010bf87aafbe3d97a95f4253460a8f0869fb52bb45bcffbb73182b4b00fe cnc-ddraw-v5.0.0.0.zip + # 2018/12/11 https://github.com/FunkyFr3sh/cnc-ddraw/releases/download/1.3.4.0/cnc-ddraw.zip + # 2020/02/03 https://github.com/FunkyFr3sh/cnc-ddraw/releases/download/1.3.5.0/cnc-ddraw.zip + # 2021/09/29 https://github.com/FunkyFr3sh/cnc-ddraw/releases/download/v4.4.4.0/cnc-ddraw.zip + # 2022/03/27 https://github.com/FunkyFr3sh/cnc-ddraw/releases/download/v4.4.7.0/cnc-ddraw.zip + # 2022/09/18 https://github.com/FunkyFr3sh/cnc-ddraw/releases/download/v4.4.9.0/cnc-ddraw.zip + # 2022/10/03 https://github.com/FunkyFr3sh/cnc-ddraw/releases/download/v4.6.0.0/cnc-ddraw.zip + # 2023/02/08 https://github.com/FunkyFr3sh/cnc-ddraw/releases/download/v5.0.0.0/cnc-ddraw.zip + # 2023/08/15 https://github.com/FunkyFr3sh/cnc-ddraw/releases/download/v5.6.0.0/cnc-ddraw.zip + # 2023/08/24 https://github.com/FunkyFr3sh/cnc-ddraw/releases/download/v5.7.0.0/cnc-ddraw.zip + # 2023/09/26 https://github.com/FunkyFr3sh/cnc-ddraw/releases/download/v5.8.0.0/cnc-ddraw.zip + # 2023/10/20 https://github.com/FunkyFr3sh/cnc-ddraw/releases/download/v5.9.0.0/cnc-ddraw.zip + # 2023/11/04 https://github.com/FunkyFr3sh/cnc-ddraw/releases/download/v6.0.0.0/cnc-ddraw.zip + # 2024/02/03 https://github.com/FunkyFr3sh/cnc-ddraw/releases/download/v6.1.0.0d/cnc-ddraw.zip + # 2024/02/21 https://github.com/FunkyFr3sh/cnc-ddraw/releases/download/v6.2.0.0/cnc-ddraw.zip + + w_download https://github.com/FunkyFr3sh/cnc-ddraw/releases/download/v6.2.0.0/cnc-ddraw.zip e5677ba52c31ffa93421a16edacff0c4d1f03e107aea6fc860861b43e3356119 cnc-ddraw-v6.2.0.0.zip w_try_unzip "${W_SYSTEM32_DLLS}" "${W_CACHE}/${W_PACKAGE}/${file1}" w_override_dlls native,builtin ddraw @@ -6094,6 +6167,31 @@ load_comdlg32ocx() #---------------------------------------------------------------- w_metadata crypt32 dlls \ + title="MS crypt32" \ + publisher="Microsoft" \ + year="2011" \ + media="download" \ + file1="../win7sp1/windows6.1-KB976932-X64.exe" \ + installed_file1="${W_SYSTEM32_DLLS_WIN}/crypt32.dll" + +load_crypt32() +{ + w_call msasn1 + + helper_win7sp1 x86_microsoft-windows-crypt32-dll_31bf3856ad364e35_6.1.7601.17514_none_5d772bc73c15dfe5/crypt32.dll + w_try_cp_dll "${W_TMP}/x86_microsoft-windows-crypt32-dll_31bf3856ad364e35_6.1.7601.17514_none_5d772bc73c15dfe5/crypt32.dll" "${W_SYSTEM32_DLLS}/crypt32.dll" + + if [ "${W_ARCH}" = "win64" ]; then + helper_win7sp1_x64 amd64_microsoft-windows-crypt32-dll_31bf3856ad364e35_6.1.7601.17514_none_b995c74af473511b/crypt32.dll + w_try_cp_dll "${W_TMP}/amd64_microsoft-windows-crypt32-dll_31bf3856ad364e35_6.1.7601.17514_none_b995c74af473511b/crypt32.dll" "${W_SYSTEM64_DLLS}/crypt32.dll" + fi + + w_override_dlls native crypt32 +} + +#---------------------------------------------------------------- + +w_metadata crypt32_winxp dlls \ title="MS crypt32" \ publisher="Microsoft" \ year="2004" \ @@ -6101,8 +6199,10 @@ w_metadata crypt32 dlls \ file1="../winxpsp3/WindowsXP-KB936929-SP3-x86-ENU.exe" \ installed_file1="${W_SYSTEM32_DLLS_WIN}/crypt32.dll" -load_crypt32() +load_crypt32_winxp() { + w_package_warn_win64 # Only the 32-bit DLL is installed + w_call msasn1 helper_winxpsp3 i386/crypt32.dl_ @@ -6138,6 +6238,25 @@ load_binkw32() #---------------------------------------------------------------- +w_metadata d2gl dlls \ + title="Diablo 2 LoD Glide to OpenGL Wrapper" \ + publisher="Bayaraa" \ + year="2023" \ + media="download" \ + file1="D2GL.v1.3.3.zip" \ + installed_file1="${W_PROGRAMS_X86_WIN}/Diablo II/glide3x.dll" \ + homepage="https://github.com/bayaraa/d2gl" + +load_d2gl() +{ + w_download https://github.com/bayaraa/d2gl/releases/download/v1.3.3/D2GL.v1.3.3.zip 33862ab74f314f9e72f992dd8850f8bfd0d6533ef0e4a0015867fc6524125ea2 + w_try_unzip "${W_PROGRAMS_X86_UNIX}/Diablo II" "${W_CACHE}/${W_PACKAGE}/${file1}" + + w_warn "Run Diablo II using game.exe -3dfx" +} + +#---------------------------------------------------------------- + w_metadata d3dcompiler_42 dlls \ title="MS d3dcompiler_42.dll" \ publisher="Microsoft" \ @@ -6235,21 +6354,17 @@ w_metadata d3dcompiler_47 dlls \ publisher="Microsoft" \ year="FIXME" \ media="download" \ - file1="FirefoxSetup62.0.3-win32.exe" \ + file1="d3dcompiler_47_32.dll" \ installed_file1="${W_SYSTEM32_DLLS_WIN}/d3dcompiler_47.dll" load_d3dcompiler_47() { - # FIXME: would be awesome to find a small download that has both 32/64bit dlls, but this works for now: - - w_download https://download-installer.cdn.mozilla.net/pub/firefox/releases/62.0.3/win32/ach/Firefox%20Setup%2062.0.3.exe "d6edb4ff0a713f417ebd19baedfe07527c6e45e84a6c73ed8c66a33377cc0aca" "FirefoxSetup62.0.3-win32.exe" - w_try_7z "${W_TMP}/win32" "${W_CACHE}/d3dcompiler_47/FirefoxSetup62.0.3-win32.exe" "core/d3dcompiler_47.dll" - w_try_cp_dll "${W_TMP}/win32/core/d3dcompiler_47.dll" "${W_SYSTEM32_DLLS}/d3dcompiler_47.dll" + w_download https://raw.githubusercontent.com/mozilla/fxc2/master/dll/d3dcompiler_47_32.dll 2ad0d4987fc4624566b190e747c9d95038443956ed816abfd1e2d389b5ec0851 + w_try_cp_dll "${W_CACHE}/d3dcompiler_47/d3dcompiler_47_32.dll" "${W_SYSTEM32_DLLS}/d3dcompiler_47.dll" if [ "${W_ARCH}" = "win64" ]; then - w_download https://download-installer.cdn.mozilla.net/pub/firefox/releases/62.0.3/win64/ach/Firefox%20Setup%2062.0.3.exe "721977f36c008af2b637aedd3f1b529f3cfed6feb10f68ebe17469acb1934986" "FirefoxSetup62.0.3-win64.exe" - w_try_7z "${W_TMP}/win64" "${W_CACHE}/d3dcompiler_47/FirefoxSetup62.0.3-win64.exe" "core/d3dcompiler_47.dll" - w_try_cp_dll "${W_TMP}/win64/core/d3dcompiler_47.dll" "${W_SYSTEM64_DLLS}/d3dcompiler_47.dll" + w_download https://raw.githubusercontent.com/mozilla/fxc2/master/dll/d3dcompiler_47.dll 4432bbd1a390874f3f0a503d45cc48d346abc3a8c0213c289f4b615bf0ee84f3 + w_try_cp_dll "${W_CACHE}/d3dcompiler_47/d3dcompiler_47.dll" "${W_SYSTEM64_DLLS}/d3dcompiler_47.dll" fi w_override_dlls native d3dcompiler_47 @@ -8356,6 +8471,40 @@ load_dxvk2010() helper_dxvk "${file1}" "7.1" "1.3.204" "dxgi,d3d9,d3d10core,d3d11" } +w_metadata dxvk2020 dlls \ + title="Vulkan-based D3D9/D3D10/D3D11 implementation for Linux / Wine (2.2)" \ + publisher="Philip Rebohle" \ + year="2023" \ + media="download" \ + file1="dxvk-2.2.tar.gz" \ + installed_file1="${W_SYSTEM32_DLLS_WIN}/d3d9.dll" \ + installed_file2="${W_SYSTEM32_DLLS_WIN}/d3d10core.dll" \ + installed_file3="${W_SYSTEM32_DLLS_WIN}/d3d11.dll" \ + installed_file4="${W_SYSTEM32_DLLS_WIN}/dxgi.dll" + +load_dxvk2020() +{ + w_download "https://github.com/doitsujin/dxvk/releases/download/v2.2/dxvk-2.2.tar.gz" fcbede6da370d138f275ca05bc887f5a562f27cd8bd00f436706a7142cb51630 + helper_dxvk "${file1}" "7.1" "1.3.204" "dxgi,d3d9,d3d10core,d3d11" +} + +w_metadata dxvk2030 dlls \ + title="Vulkan-based D3D9/D3D10/D3D11 implementation for Linux / Wine (2.3)" \ + publisher="Philip Rebohle" \ + year="2023" \ + media="download" \ + file1="dxvk-2.3.tar.gz" \ + installed_file1="${W_SYSTEM32_DLLS_WIN}/d3d9.dll" \ + installed_file2="${W_SYSTEM32_DLLS_WIN}/d3d10core.dll" \ + installed_file3="${W_SYSTEM32_DLLS_WIN}/d3d11.dll" \ + installed_file4="${W_SYSTEM32_DLLS_WIN}/dxgi.dll" + +load_dxvk2030() +{ + w_download "https://github.com/doitsujin/dxvk/releases/download/v2.3/dxvk-2.3.tar.gz" 8059c06fc84a864122cc572426f780f35921eb4e3678dc337e9fd79ee5a427c0 + helper_dxvk "${file1}" "7.1" "1.3.204" "dxgi,d3d9,d3d10core,d3d11" +} + #---------------------------------------------------------------- w_metadata dxvk dlls \ @@ -9997,21 +10146,21 @@ w_metadata dotnet7 dlls \ publisher="Microsoft" \ year="2023" \ media="download" \ - file1="dotnet-runtime-7.0.5-win-x86.exe" \ + file1="dotnet-runtime-7.0.14-win-x86.exe" \ installed_file1="${W_PROGRAMS_WIN}/dotnet/dotnet.exe" load_dotnet7() { # Official version, see https://dotnet.microsoft.com/en-us/download/dotnet/7.0 - w_download https://download.visualstudio.microsoft.com/download/pr/da45af44-e437-41b5-a5de-be6698557272/e4aaf2eafc2e983c275189f4a4161bae/dotnet-runtime-7.0.5-win-x86.exe 372d868a6464954ba4b231626023fdafdde296e6f5402729614690b8734d682a + w_download https://download.visualstudio.microsoft.com/download/pr/de4e320a-79ea-4304-9acf-975d91251aae/bf49bfe95aa6b22b66eb9af462dee480/dotnet-runtime-7.0.14-win-x86.exe aec1444479216f0175472ade3ed4195276a294029c697d41c4a5e92c8760d734 w_try_cd "${W_CACHE}"/"${W_PACKAGE}" w_try "${WINE}" "${file1}" ${W_OPT_UNATTENDED:+/quiet} if [ "${W_ARCH}" = "win64" ]; then # Also install the 64-bit version - w_download https://download.visualstudio.microsoft.com/download/pr/4b99bbc8-917a-417c-907b-d408341726a5/78b225344fbb9b80d3da3681e1d20d68/dotnet-runtime-7.0.5-win-x64.exe 4ea7291115899841bb2991aa08b529f03b23299611c856a6ad2e9373d02a1c6b - w_try "${WINE}" "dotnet-runtime-7.0.5-win-x64.exe" ${W_OPT_UNATTENDED:+/quiet} + w_download https://download.visualstudio.microsoft.com/download/pr/5e3be9c1-4b4c-4605-b3bc-18ef04b3c8d5/b1f864adc9c81ab6680385a4270b3887/dotnet-runtime-7.0.14-win-x64.exe 0f52b4e0c33713f8ff7681708fce9074bb7177f51c395139ce243319930bc932 + w_try "${WINE}" "dotnet-runtime-7.0.14-win-x64.exe" ${W_OPT_UNATTENDED:+/quiet} fi } @@ -10022,21 +10171,71 @@ w_metadata dotnetdesktop7 dlls \ publisher="Microsoft" \ year="2023" \ media="download" \ - file1="windowsdesktop-runtime-7.0.5-win-x86.exe" \ + file1="windowsdesktop-runtime-7.0.14-win-x86.exe" \ installed_file1="${W_PROGRAMS_WIN}/dotnet/dotnet.exe" load_dotnetdesktop7() { # Official version, see https://dotnet.microsoft.com/en-us/download/dotnet/7.0 - w_download https://download.visualstudio.microsoft.com/download/pr/eb64dcd1-d277-4798-ada1-600805c9e2dc/fc73c843d66f3996e7ef22468f4902e6/windowsdesktop-runtime-7.0.5-win-x86.exe 96b5715a35f651e095cefb8d9346f21ad67a09e2693db763ac4321d97f8e0dd2 + w_download https://download.visualstudio.microsoft.com/download/pr/3a87d4cf-87c7-4432-89af-37f21dc651a7/7996e26d189d21afa4fe54a02062df5d/windowsdesktop-runtime-7.0.14-win-x86.exe 956da197039167099ccbb30b71efc9cf3ea4bdcb844016ca0de7c1e41c217e61 + + w_try_cd "${W_CACHE}"/"${W_PACKAGE}" + w_try "${WINE}" "${file1}" ${W_OPT_UNATTENDED:+/quiet} + + if [ "${W_ARCH}" = "win64" ]; then + # Also install the 64-bit version + w_download https://download.visualstudio.microsoft.com/download/pr/8f5b0079-2bb4-49cd-874e-0f58703eff6e/7010b5f213a2c436a307eb385dbb16ff/windowsdesktop-runtime-7.0.14-win-x64.exe 863d7c749f8c3d9d9e444813b3f8b829ce6aed79dd2c70a9c29532a9d3688821 + w_try "${WINE}" "windowsdesktop-runtime-7.0.14-win-x64.exe" ${W_OPT_UNATTENDED:+/quiet} + fi +} + +#---------------------------------------------------------------- + +w_metadata dotnet8 dlls \ + title="MS .NET Runtime 8.0 LTS" \ + publisher="Microsoft" \ + year="2024" \ + media="download" \ + file1="dotnet-runtime-8.0.2-win-x86.exe" \ + installed_file1="${W_PROGRAMS_WIN}/dotnet/dotnet.exe" + +load_dotnet8() +{ + # Official version, see https://dotnet.microsoft.com/en-us/download/dotnet/8.0 + w_download https://download.visualstudio.microsoft.com/download/pr/e4987764-bda2-4a72-8820-52605f30e899/f5b412fec80d7f4b20fc4ac7740f7279/dotnet-runtime-8.0.2-win-x86.exe b765676fc2f85cb393cabf2bef5dd118578a2a8761be97454352c0c2634957a4 w_try_cd "${W_CACHE}"/"${W_PACKAGE}" w_try "${WINE}" "${file1}" ${W_OPT_UNATTENDED:+/quiet} if [ "${W_ARCH}" = "win64" ]; then # Also install the 64-bit version - w_download https://download.visualstudio.microsoft.com/download/pr/dffb1939-cef1-4db3-a579-5475a3061cdd/578b208733c914c7b7357f6baa4ecfd6/windowsdesktop-runtime-7.0.5-win-x64.exe 0be75f316589ca0e3daa2ef6586efb7aa7f585126e72edde6d114cb8082c3ca0 - w_try "${WINE}" "windowsdesktop-runtime-7.0.5-win-x64.exe" ${W_OPT_UNATTENDED:+/quiet} + w_download https://download.visualstudio.microsoft.com/download/pr/a4bc7333-6e30-4e2d-b300-0b4f23537e5b/4b81af6d46a02fba5d9ce030af438c67/dotnet-runtime-8.0.2-win-x64.exe ec10da69116d12691abcb374929cf9eec65e4607095ff1ff035989848fd1db00 + w_try "${WINE}" "dotnet-runtime-8.0.2-win-x64.exe" ${W_OPT_UNATTENDED:+/quiet} + fi +} + +#---------------------------------------------------------------- + +w_metadata dotnetdesktop8 dlls \ + title="MS .NET Desktop Runtime 8.0 LTS" \ + publisher="Microsoft" \ + year="2024" \ + media="download" \ + file1="windowsdesktop-runtime-8.0.2-win-x86.exe" \ + installed_file1="${W_PROGRAMS_WIN}/dotnet/dotnet.exe" + +load_dotnetdesktop8() +{ + # Official version, see https://dotnet.microsoft.com/en-us/download/dotnet/8.0 + w_download https://download.visualstudio.microsoft.com/download/pr/9b77b480-7e32-4321-b417-a41e0f8ea952/3922bbf5538277b1d41e9b49ee443673/windowsdesktop-runtime-8.0.2-win-x86.exe 548bcca012cde72bfa68e693ee3dab175c3aa7926d3a3621c8f6f3b12904b909 + + w_try_cd "${W_CACHE}"/"${W_PACKAGE}" + w_try "${WINE}" "${file1}" ${W_OPT_UNATTENDED:+/quiet} + + if [ "${W_ARCH}" = "win64" ]; then + # Also install the 64-bit version + w_download https://download.visualstudio.microsoft.com/download/pr/84ba33d4-4407-4572-9bfa-414d26e7c67c/bb81f8c9e6c9ee1ca547396f6e71b65f/windowsdesktop-runtime-8.0.2-win-x64.exe 52099c00372c1ef6c78878f98f6994777170c8f8556bc3b42a6c291a268ce750 + w_try "${WINE}" "windowsdesktop-runtime-8.0.2-win-x64.exe" ${W_OPT_UNATTENDED:+/quiet} fi } @@ -10835,11 +11034,14 @@ load_icodecs() # Work around bug in codec's installer? # https://support.britannica.com/other/touchthesky/win/issues/TSTUw_150.htm # https://appdb.winehq.org/objectManager.php?sClass=version&iId=7091 - w_try_regsvr ir50_32.dll + w_override_dlls native,builtin ir50_32 + w_try_regsvr ir50_32 # Apparently some codecs are missing, see https://github.com/Winetricks/winetricks/issues/302 # Download at https://www.moviecodec.com/download-codec-packs/indeo-codecs-legacy-package-31/ - w_download https://s3.amazonaws.com/moviecodec/files/iv5setup.exe 51bec25488b5b94eb3ce49b0a117618c9526161fd0753817a7a724ce25ff0cad + # 2017/05/24: https://s3.amazonaws.com/moviecodec/files/iv5setup.exe 51bec25488b5b94eb3ce49b0a117618c9526161fd0753817a7a724ce25ff0cad + # 2023/12/30: https://download.civforum.de/civ2/iv5setup.exe + w_download https://download.civforum.de/civ2/iv5setup.exe 51bec25488b5b94eb3ce49b0a117618c9526161fd0753817a7a724ce25ff0cad # Extract the installer so that we can create and use a pre-recorded # Install Shield response file for unattended installations @@ -11652,7 +11854,7 @@ w_metadata msxml3 dlls \ load_msxml3() { - # Service Pack 7 + # Service Pack 7, includes a version of msxml3r.dll (resources DLL) # Originally at https://download.microsoft.com/download/8/8/8/888f34b7-4f54-4f06-8dac-fa29b19f33dd/msxml3.msi # Mirror list: http://www.filewatcher.com/m/msxml3.msi.1070592-0.html # Known bad sites (2017/06/11): @@ -11665,13 +11867,24 @@ load_msxml3() w_override_dlls native msxml3 w_try_cd "${W_CACHE}/${W_PACKAGE}" - # See https://github.com/Winetricks/winetricks/issues/1086 + # Start with installing the older 32-bit only version, to get at least some + # version of the resources DLL, which is not included in win7sp1 + # Use quiet install, see https://github.com/Winetricks/winetricks/issues/1086 # and https://bugs.winehq.org/show_bug.cgi?id=26925 if w_workaround_wine_bug 26925 "Forcing quiet install"; then w_try "${WINE}" msiexec /i msxml3.msi /q else w_try "${WINE}" msiexec /i msxml3.msi ${W_OPT_UNATTENDED:+/q} fi + + # Install newer version, which includes the x64 DLL if applicable + helper_win7sp1_x64 wow64_microsoft-windows-msxml30_31bf3856ad364e35_6.1.7601.17514_none_f0e8f05be1d66e78/msxml3.dll + w_try_cp_dll "${W_TMP}/wow64_microsoft-windows-msxml30_31bf3856ad364e35_6.1.7601.17514_none_f0e8f05be1d66e78/msxml3.dll" "${W_SYSTEM32_DLLS}/msxml3.dll" + + if [ "${W_ARCH}" = "win64" ]; then + helper_win7sp1_x64 amd64_microsoft-windows-msxml30_31bf3856ad364e35_6.1.7601.17514_none_e6944609ad75ac7d/msxml3.dll + w_try_cp_dll "${W_TMP}/amd64_microsoft-windows-msxml30_31bf3856ad364e35_6.1.7601.17514_none_e6944609ad75ac7d/msxml3.dll" "${W_SYSTEM64_DLLS}/msxml3.dll" + fi } #---------------------------------------------------------------- @@ -11827,6 +12040,141 @@ load_openal() w_try "${WINE}" "${W_TMP}/oalinst.exe" /silent } + +#---------------------------------------------------------------- + +# $1 - otvdm archive name (required) +helper_otvdm() +{ + _W_package_archive="${1}" + _W_package_dir="${_W_package_archive%.zip}" + + w_try_unzip "${W_TMP}" "${W_CACHE}/${W_PACKAGE}/${_W_package_archive}" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/otvdm.exe" "${W_SYSTEM32_DLLS}/otvdm.exe" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/libwine.dll" "${W_SYSTEM32_DLLS}/libwine.dll" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/avifile.dll16" "${W_SYSTEM32_DLLS}/avifile.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/comm.drv16" "${W_SYSTEM32_DLLS}/comm.drv16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/commctrl.dll16" "${W_SYSTEM32_DLLS}/commctrl.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/commdlg.dll16" "${W_SYSTEM32_DLLS}/commdlg.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/compobj.dll16" "${W_SYSTEM32_DLLS}/compobj.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/ctl3d.dll16" "${W_SYSTEM32_DLLS}/ctl3d.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/ctl3dv2.dll16" "${W_SYSTEM32_DLLS}/ctl3dv2.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/ddeml.dll16" "${W_SYSTEM32_DLLS}/ddeml.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/dispdib.dll16" "${W_SYSTEM32_DLLS}/dispdib.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/display.drv16" "${W_SYSTEM32_DLLS}/display.drv16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/gdi.exe16" "${W_SYSTEM32_DLLS}/gdi.exe16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/keyboard.drv16" "${W_SYSTEM32_DLLS}/keyboard.drv16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/krnl386.exe16" "${W_SYSTEM32_DLLS}/krnl386.exe16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/lzexpand.dll16" "${W_SYSTEM32_DLLS}/lzexpand.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/mmsystem.dll16" "${W_SYSTEM32_DLLS}/mmsystem.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/mouse.drv16" "${W_SYSTEM32_DLLS}/mouse.drv16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/msacm.dll16" "${W_SYSTEM32_DLLS}/msacm.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/msvideo.dll16" "${W_SYSTEM32_DLLS}/msvideo.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/nddeapi.dll16" "${W_SYSTEM32_DLLS}/nddeapi.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/ole2.dll16" "${W_SYSTEM32_DLLS}/ole2.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/ole2conv.dll16" "${W_SYSTEM32_DLLS}/ole2conv.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/ole2disp.dll16" "${W_SYSTEM32_DLLS}/ole2disp.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/ole2nls.dll16" "${W_SYSTEM32_DLLS}/ole2nls.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/ole2prox.dll16" "${W_SYSTEM32_DLLS}/ole2prox.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/ole2thk.dll16" "${W_SYSTEM32_DLLS}/ole2thk.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/olecli.dll16" "${W_SYSTEM32_DLLS}/olecli.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/olesvr.dll16" "${W_SYSTEM32_DLLS}/olesvr.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/regedit.exe16" "${W_SYSTEM32_DLLS}/regedit.exe16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/rmpatch.dll16" "${W_SYSTEM32_DLLS}/rmpatch.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/shell.dll16" "${W_SYSTEM32_DLLS}/shell.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/sound.drv16" "${W_SYSTEM32_DLLS}/sound.drv16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/storage.dll16" "${W_SYSTEM32_DLLS}/storage.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/system.drv16" "${W_SYSTEM32_DLLS}/system.drv16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/timer.drv16" "${W_SYSTEM32_DLLS}/timer.drv16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/toolhelp.dll16" "${W_SYSTEM32_DLLS}/toolhelp.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/typelib.dll16" "${W_SYSTEM32_DLLS}/typelib.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/user.exe16" "${W_SYSTEM32_DLLS}/user.exe16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/ver.dll16" "${W_SYSTEM32_DLLS}/ver.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/wifeman.dll16" "${W_SYSTEM32_DLLS}/wifeman.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/win87em.dll16" "${W_SYSTEM32_DLLS}/win87em.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/wing.dll16" "${W_SYSTEM32_DLLS}/wing.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/winnls.dll16" "${W_SYSTEM32_DLLS}/winnls.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/winoldap.mod16" "${W_SYSTEM32_DLLS}/winoldap.mod16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/winsock.dll16" "${W_SYSTEM32_DLLS}/winsock.dll16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/winspool.drv16" "${W_SYSTEM32_DLLS}/winspool.drv16" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/wow32.dll" "${W_SYSTEM32_DLLS}/wow32.dll" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/vm86.dll" "${W_SYSTEM32_DLLS}/vm86.dll" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/whpxvm.dll" "${W_SYSTEM32_DLLS}/whpxvm.dll" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/haxmvm.dll" "${W_SYSTEM32_DLLS}/haxmvm.dll" + w_try_cp_dll "${W_TMP}/${_W_package_dir}/dll/gvm.dll" "${W_SYSTEM32_DLLS}/gvm.dll" + + w_override_dlls native,builtin avifile.dll16 + w_override_dlls native,builtin comm.drv16 + w_override_dlls native,builtin commctrl.dll16 + w_override_dlls native,builtin commdlg.dll16 + w_override_dlls native,builtin compobj.dll16 + w_override_dlls native,builtin ctl3d.dll16 + w_override_dlls native,builtin ctl3dv2.dll16 + w_override_dlls native,builtin ddeml.dll16 + w_override_dlls native,builtin dispdib.dll16 + w_override_dlls native,builtin display.drv16 + w_override_dlls native,builtin gdi.exe16 + w_override_dlls native,builtin keyboard.drv16 + w_override_dlls native,builtin krnl386.exe16 + w_override_dlls native,builtin lzexpand.dll16 + w_override_dlls native,builtin mmsystem.dll16 + w_override_dlls native,builtin mouse.drv16 + w_override_dlls native,builtin msacm.dll16 + w_override_dlls native,builtin msvideo.dll16 + w_override_dlls native,builtin nddeapi.dll16 + w_override_dlls native,builtin ole2.dll16 + w_override_dlls native,builtin ole2conv.dll16 + w_override_dlls native,builtin ole2disp.dll16 + w_override_dlls native,builtin ole2nls.dll16 + w_override_dlls native,builtin ole2prox.dll16 + w_override_dlls native,builtin ole2thk.dll16 + w_override_dlls native,builtin olecli.dll16 + w_override_dlls native,builtin olesvr.dll16 + w_override_dlls native,builtin regedit.exe16 + w_override_dlls native,builtin rmpatch.dll16 + w_override_dlls native,builtin shell.dll16 + w_override_dlls native,builtin sound.drv16 + w_override_dlls native,builtin storage.dll16 + w_override_dlls native,builtin system.drv16 + w_override_dlls native,builtin timer.drv16 + w_override_dlls native,builtin toolhelp.dll16 + w_override_dlls native,builtin typelib.dll16 + w_override_dlls native,builtin user.exe16 + w_override_dlls native,builtin ver.dll16 + w_override_dlls native,builtin wifeman.dll16 + w_override_dlls native,builtin win87em.dll16 + w_override_dlls native,builtin wing.dll16 + w_override_dlls native,builtin winnls.dll16 + w_override_dlls native,builtin winoldap.mod16 + w_override_dlls native,builtin winsock.dll16 + w_override_dlls native,builtin winspool.drv16 + w_override_dlls native,builtin wow32 +} + +w_metadata otvdm090 dlls \ + title="Otvdm - A modified version of winevdm as Win16 emulator" \ + publisher="otya128" \ + year="2024" \ + media="download" \ + file1="otvdm-v0.9.0.zip" + +load_otvdm090() +{ + w_download "https://github.com/otya128/winevdm/releases/download/v0.9.0/otvdm-v0.9.0.zip" 842b11aed5fa81f3e1d4272e0ee7d37f1a5a8f936de825309dda672835e16fd4 + helper_otvdm "${file1}" +} + +w_metadata otvdm dlls \ + title="Otvdm - A modified version of winevdm as Win16 emulator" \ + publisher="otya128" \ + year="2024" \ + media="download" + +load_otvdm() +{ + w_call otvdm090 +} + #---------------------------------------------------------------- w_metadata pdh dlls \ @@ -11888,7 +12236,7 @@ w_metadata peverify dlls \ load_peverify() { - w_download_to dotnet20sdk https://download.microsoft.com/download/c/4/b/c4b15d7d-6f37-4d5a-b9c6-8f07e7d46635/setup.exe 1d7337bfbb2c65f43c82d188688ce152af403bcb67a2cc2a3cc68a580ecd8200 + w_download_to dotnet20sdk https://web.archive.org/web/20111102051348/https://download.microsoft.com/download/c/4/b/c4b15d7d-6f37-4d5a-b9c6-8f07e7d46635/setup.exe 1d7337bfbb2c65f43c82d188688ce152af403bcb67a2cc2a3cc68a580ecd8200 # Seems to require dotnet20; at least doesn't work if dotnet40 is installed instead w_call dotnet20 @@ -12516,6 +12864,33 @@ load_tabctl32() #---------------------------------------------------------------- +w_metadata uiribbon dlls \ + title="Windows UIRibbon" \ + publisher="Microsoft" \ + year="2011" \ + media="download" \ + file1="../win7sp1/windows6.1-KB976932-X86.exe" \ + installed_file1="${W_SYSTEM32_DLLS_WIN}/uiribbon.dll|${W_SYSTEM32_DLLS_WIN}/uiribbonres.dll" + +load_uiribbon() +{ + helper_win7sp1 x86_microsoft-windows-uiribbon_31bf3856ad364e35_6.1.7601.17514_none_74e4460571772695/uiribbon.dll + helper_win7sp1 x86_microsoft-windows-uiribbon_31bf3856ad364e35_6.1.7601.17514_none_74e4460571772695/uiribbonres.dll + w_try_cp_dll "${W_TMP}/x86_microsoft-windows-uiribbon_31bf3856ad364e35_6.1.7601.17514_none_74e4460571772695/uiribbon.dll" "${W_SYSTEM32_DLLS}/uiribbon.dll" + w_try_cp_dll "${W_TMP}/x86_microsoft-windows-uiribbon_31bf3856ad364e35_6.1.7601.17514_none_74e4460571772695/uiribbonres.dll" "${W_SYSTEM32_DLLS}/uiribbonres.dll" + + if [ "${W_ARCH}" = "win64" ]; then + helper_win7sp1_x64 amd64_microsoft-windows-uiribbon_31bf3856ad364e35_6.1.7601.17514_none_d102e18929d497cb/uiribbon.dll + helper_win7sp1_x64 amd64_microsoft-windows-uiribbon_31bf3856ad364e35_6.1.7601.17514_none_d102e18929d497cb/uiribbonres.dll + w_try_cp_dll "${W_TMP}/amd64_microsoft-windows-uiribbon_31bf3856ad364e35_6.1.7601.17514_none_d102e18929d497cb/uiribbon.dll" "${W_SYSTEM64_DLLS}/uiribbon.dll" + w_try_cp_dll "${W_TMP}/amd64_microsoft-windows-uiribbon_31bf3856ad364e35_6.1.7601.17514_none_d102e18929d497cb/uiribbonres.dll" "${W_SYSTEM64_DLLS}/uiribbonres.dll" + fi + + w_override_dlls native,builtin uiribbon +} + +#---------------------------------------------------------------- + w_metadata updspapi dlls \ title="Windows Update Service API" \ publisher="Microsoft" \ @@ -12775,8 +13150,8 @@ load_vcrun6sp6() w_download https://www.ddsystem.com.br/update/setup/vb6+sp6/VS6SP6.EXE 7fa1d1778824b55a5fceb02f45c399b5d4e4dce7403661e67e587b5f455edbf3 # extract the files instead of using installer to avoid https://github.com/Winetricks/winetricks/issues/1806 - w_try_cabextract "${W_CACHE}/${W_PACKAGE}/${file1}" -d "${W_TMP}" -F vcredist.exe - w_try_cabextract "${W_TMP}/vcredist.exe" -d "${W_TMP}" + w_try_cabextract -d "${W_TMP}" -F vcredist.exe "${W_CACHE}/${W_PACKAGE}/${file1}" + w_try_cabextract -d "${W_TMP}" "${W_TMP}/vcredist.exe" for dll in asycfilt.dll comcat.dll mfc42.dll mfc42u.dll msvcirt.dll msvcp60.dll msvcrt.dll oleaut32.dll olepro32.dll stdole2.tlb; do w_try mv "${W_TMP}/${dll}" "${W_SYSTEM32_DLLS}" @@ -13224,7 +13599,7 @@ w_metadata mfc140 dlls \ load_mfc140() { - w_download_to vcrun2015 https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x86.exe fdd1e1f0dcae2d0aa0720895eff33b927d13076e64464bb7c7e5843b7667cd14 + w_download_to vcrun2015 https://download.microsoft.com/download/6/D/F/6DF3FF94-F7F9-4F0B-838C-A328D1A7D0EE/vc_redist.x86.exe dafb8b5f4b46bfaf7faa1d0ad05211f5c9855f0005cd603f8b5037b6a708d6b6 w_try_cabextract --directory="${W_TMP}/win32" "${W_CACHE}"/vcrun2015/vc_redist.x86.exe -F 'a11' w_try_cabextract --directory="${W_TMP}/win32" "${W_TMP}/win32/a11" @@ -13235,7 +13610,7 @@ load_mfc140() w_try_cp_dll "${W_TMP}/win32"/mfcm140u.dll "${W_SYSTEM32_DLLS}"/mfcm140u.dll if [ "${W_ARCH}" = "win64" ]; then - w_download_to vcrun2015 https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x64.exe 5eea714e1f22f1875c1cb7b1738b0c0b1f02aec5ecb95f0fdb1c5171c6cd93a3 + w_download_to vcrun2015 https://download.microsoft.com/download/6/D/F/6DF3FF94-F7F9-4F0B-838C-A328D1A7D0EE/vc_redist.x64.exe d7257265dbc0635c96dd67ddf938a09abe0866cb2d4fa05f8b758c8644e724e4 w_try_cabextract --directory="${W_TMP}/win64" "${W_CACHE}"/vcrun2015/vc_redist.x64.exe -F 'a11' w_try_cabextract --directory="${W_TMP}/win64" "${W_TMP}/win64/a11" @@ -13327,10 +13702,10 @@ load_vcrun2019() # 2021/08/26: 1acd8d5ea1cdc3eb2eb4c87be3ab28722d0825c15449e5c9ceef95d897de52fa # 2021/10/23: 80c7969f4e05002a0cd820b746e0acb7406d4b85e52ef096707315b390927824 # 2022/01/18: 4c6c420cf4cbf2c9c9ed476e96580ae92a97b2822c21329a2e49e8439ac5ad30 - + # 2023/12/30: 29f649c08928b31e6bb11d449626da14b5e99b5303fe2b68afa63732ef29c946 w_override_dlls native,builtin api-ms-win-crt-private-l1-1-0 api-ms-win-crt-conio-l1-1-0 api-ms-win-crt-heap-l1-1-0 api-ms-win-crt-locale-l1-1-0 api-ms-win-crt-math-l1-1-0 api-ms-win-crt-runtime-l1-1-0 api-ms-win-crt-stdio-l1-1-0 api-ms-win-crt-time-l1-1-0 atl140 concrt140 msvcp140 msvcp140_1 msvcp140_2 msvcp140_atomic_wait msvcp140_codecvt_ids vcamp140 vccorlib140 vcomp140 vcruntime140 - w_download https://aka.ms/vs/16/release/vc_redist.x86.exe 4c6c420cf4cbf2c9c9ed476e96580ae92a97b2822c21329a2e49e8439ac5ad30 + w_download https://aka.ms/vs/16/release/vc_redist.x86.exe 29f649c08928b31e6bb11d449626da14b5e99b5303fe2b68afa63732ef29c946 if w_workaround_wine_bug 50894 "Working around failing wusa.exe lookup via C:\windows\SysNative"; then w_store_winver @@ -13357,11 +13732,12 @@ load_vcrun2019() # 2021/08/26: 003063723b2131da23f40e2063fb79867bae275f7b5c099dbd1792e25845872b # 2021/10/23: 9b9dd72c27ab1db081de56bb7b73bee9a00f60d14ed8e6fde45dab3e619b5f04 # 2022/01/18: 296f96cd102250636bcd23ab6e6cf70935337b1bbb3507fe8521d8d9cfaa932f + # 2023/12/30: cee28f29f904524b7f645bcec3dfdfe38f8269b001144cd909f5d9232890d33b # vcruntime140_1 is only shipped on x64: w_override_dlls native,builtin vcruntime140_1 - w_download https://aka.ms/vs/16/release/vc_redist.x64.exe 296f96cd102250636bcd23ab6e6cf70935337b1bbb3507fe8521d8d9cfaa932f + w_download https://aka.ms/vs/16/release/vc_redist.x64.exe cee28f29f904524b7f645bcec3dfdfe38f8269b001144cd909f5d9232890d33b w_try_ms_installer "${WINE}" vc_redist.x64.exe ${W_OPT_UNATTENDED:+/q} ;; esac @@ -13420,10 +13796,11 @@ load_vcrun2022() # 2022-08-05: 14.32.31332 @ https://download.visualstudio.microsoft.com/download/pr/7331f052-6c2d-4890-8041-8058fee5fb0f/CF92A10C62FFAB83B4A2168F5F9A05E5588023890B5C0CC7BA89ED71DA527B0F/VC_redist.x86.exe cf92a10c62ffab83b4a2168f5f9a05e5588023890b5c0cc7ba89ed71da527b0f # 2023-04-30: 14.34.31938 @ https://download.visualstudio.microsoft.com/download/pr/b2519016-4a13-4120-936c-cae003d567c4/8AE59D82845159DB3A70763F5CB1571E45EBF6A1ADFECC47574BA17B019483A0/VC_redist.x86.exe 8ae59d82845159db3a70763f5cb1571e45ebf6a1adfecc47574ba17b019483a0 # 2023/07/04: 14.36.32532 @ https://download.visualstudio.microsoft.com/download/pr/eaab1f82-787d-4fd7-8c73-f782341a0c63/5365A927487945ECB040E143EA770ADBB296074ECE4021B1D14213BDE538C490/VC_redist.x86.exe 5365a927487945ecb040e143ea770adbb296074ece4021b1d14213bde538c490 - + # 2023/12/30: c61cef97487536e766130fa8714dd1b4143f6738bfb71806018eee1b5fe6f057 + # 2024/02/11: 510fc8c2112e2bc544fb29a72191eabcc68d3a5a7468d35d7694493bc8593a79 w_override_dlls native,builtin concrt140 msvcp140 msvcp140_1 msvcp140_2 msvcp140_atomic_wait msvcp140_codecvt_ids vcamp140 vccorlib140 vcomp140 vcruntime140 - w_download https://aka.ms/vs/17/release/vc_redist.x86.exe 5365a927487945ecb040e143ea770adbb296074ece4021b1d14213bde538c490 + w_download https://aka.ms/vs/17/release/vc_redist.x86.exe 510fc8c2112e2bc544fb29a72191eabcc68d3a5a7468d35d7694493bc8593a79 w_try_cd "${W_CACHE}"/"${W_PACKAGE}" w_try_ms_installer "${WINE}" vc_redist.x86.exe ${W_OPT_UNATTENDED:+/q} @@ -13434,11 +13811,12 @@ load_vcrun2022() # 2022/08/05: 14.32.31332 @ https://download.visualstudio.microsoft.com/download/pr/7331f052-6c2d-4890-8041-8058fee5fb0f/CE6593A1520591E7DEA2B93FD03116E3FC3B3821A0525322B0A430FAA6B3C0B4/VC_redist.x64.exe 8ae59d82845159db3a70763f5cb1571e45ebf6a1adfecc47574ba17b019483a0 # 2023/04/30: 14.34.31938 @ https://download.visualstudio.microsoft.com/download/pr/8b92f460-7e03-4c75-a139-e264a770758d/26C2C72FBA6438F5E29AF8EBC4826A1E424581B3C446F8C735361F1DB7BEFF72/VC_redist.x64.exe 26c2c72fba6438f5e29af8ebc4826a1e424581b3c446f8c735361f1db7beff72 # 2023/07/04: 14.36.32532 @ https://download.visualstudio.microsoft.com/download/pr/eaab1f82-787d-4fd7-8c73-f782341a0c63/917C37D816488545B70AFFD77D6E486E4DD27E2ECE63F6BBAAF486B178B2B888/VC_redist.x64.exe 917c37d816488545b70affd77d6e486e4dd27e2ece63f6bbaaf486b178b2b888 - + # 2023/12/30: 4dfe83c91124cd542f4222fe2c396cabeac617bb6f59bdcbdf89fd6f0df0a32f + # 2024/02/11: 1ad7988c17663cc742b01bef1a6df2ed1741173009579ad50a94434e54f56073 # vcruntime140_1 is only shipped on x64: w_override_dlls native,builtin vcruntime140_1 - w_download https://aka.ms/vs/17/release/vc_redist.x64.exe 917c37d816488545b70affd77d6e486e4dd27e2ece63f6bbaaf486b178b2b888 + w_download https://aka.ms/vs/17/release/vc_redist.x64.exe 1ad7988c17663cc742b01bef1a6df2ed1741173009579ad50a94434e54f56073 w_try_ms_installer "${WINE}" vc_redist.x64.exe ${W_OPT_UNATTENDED:+/q} ;; esac @@ -13809,6 +14187,30 @@ load_xact_x64() #---------------------------------------------------------------- +w_metadata xaudio29 dlls \ + title="MS XAudio Redistributable 2.9" \ + publisher="Microsoft" \ + year="2023" \ + media="download" \ + file1="microsoft.xaudio2.redist.1.2.11.nupkg" \ + installed_file1="${W_SYSTEM32_DLLS_WIN}/xaudio2_9.dll" + +load_xaudio29() +{ + w_download https://www.nuget.org/api/v2/package/Microsoft.XAudio2.Redist/1.2.11 4552e0b5b59de0cdbc6c217261c45f5968f7bbf1e8ab5f208e4bca6fd8fc5780 microsoft.xaudio2.redist.1.2.11.nupkg + + w_try_unzip "${W_TMP}" "${W_CACHE}/${W_PACKAGE}/${file1}" + w_try_cp_dll "${W_TMP}/build/native/release/bin/x86/xaudio2_9redist.dll" "${W_SYSTEM32_DLLS}/xaudio2_9.dll" + + if [ "${W_ARCH}" = "win64" ]; then + w_try_cp_dll "${W_TMP}/build/native/release/bin/x64/xaudio2_9redist.dll" "${W_SYSTEM64_DLLS}/xaudio2_9.dll" + fi + + w_override_dlls native,builtin xaudio2_9 +} + +#---------------------------------------------------------------- + w_metadata xinput dlls \ title="Microsoft XInput (Xbox controller support)" \ publisher="Microsoft" \ @@ -13908,17 +14310,15 @@ load_xna40() w_metadata xvid dlls \ title="Xvid Video Codec" \ publisher="xvid.org" \ - year="2009" \ + year="2019" \ media="download" \ - file1="Xvid-1.3.2-20110601.exe" \ + file1="Xvid-1.3.7-20191228.exe" \ installed_file1="${W_PROGRAMS_X86_WIN}/Xvid/xvid.ico" load_xvid() { w_call vcrun6 - # 2011/06/03: http://www.koepi.info/Xvid-1.3.2-20110601.exe - # 2022/09/08: https://s3.amazonaws.com/moviecodec/files/Xvid-1.3.2-20110601.exe - w_download https://s3.amazonaws.com/moviecodec/files/Xvid-1.3.2-20110601.exe 74b23965cebe59e388eab6dba224b6b751ef4519454cc12086ade51c81f0a33c + w_download https://downloads.xvid.com/downloads/Xvid-1.3.7-20191228.exe 7997cb88db3331191042eef5238fbf2eba44b9d244f43554a712996eba2fff49 w_try_cd "${W_CACHE}/${W_PACKAGE}" # This will give a warning about Windows Media Player being out of date. # Turns out it's not checking the wmp version, but the presence of ${W_SYSTEM32_DLLS}/l3codecp.acm @@ -14145,7 +14545,7 @@ w_metadata andale fonts \ load_andale() { - w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/andale32.exe" 0524fe42951adc3a7eb870e32f0920313c71f170c859b5f770d82b4ee111e970 + w_download_to corefonts "https://github.com/pushcx/corefonts/raw/master/andale32.exe" 0524fe42951adc3a7eb870e32f0920313c71f170c859b5f770d82b4ee111e970 w_try_cabextract -d "${W_TMP}" "${W_CACHE}"/corefonts/andale32.exe w_try_cp_font_files "${W_TMP}" "${W_FONTSDIR_UNIX}" "AndaleMo.TTF" w_register_font andalemo.ttf "Andale Mono" @@ -14163,8 +14563,8 @@ w_metadata arial fonts \ load_arial() { - w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/arial32.exe" 85297a4d146e9c87ac6f74822734bdee5f4b2a722d7eaa584b7f2cbf76f478f6 - w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/arialb32.exe" a425f0ffb6a1a5ede5b979ed6177f4f4f4fdef6ae7c302a7b7720ef332fec0a8 + w_download_to corefonts "https://github.com/pushcx/corefonts/raw/master/arial32.exe" 85297a4d146e9c87ac6f74822734bdee5f4b2a722d7eaa584b7f2cbf76f478f6 + w_download_to corefonts "https://github.com/pushcx/corefonts/raw/master/arialb32.exe" a425f0ffb6a1a5ede5b979ed6177f4f4f4fdef6ae7c302a7b7720ef332fec0a8 w_try_cabextract -d "${W_TMP}" "${W_CACHE}"/corefonts/arial32.exe w_try_cp_font_files "${W_TMP}" "${W_FONTSDIR_UNIX}" "Arial*.TTF" @@ -14190,7 +14590,7 @@ w_metadata comicsans fonts \ load_comicsans() { - w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/comic32.exe" 9c6df3feefde26d4e41d4a4fe5db2a89f9123a772594d7f59afd062625cd204e + w_download_to corefonts "https://github.com/pushcx/corefonts/raw/master/comic32.exe" 9c6df3feefde26d4e41d4a4fe5db2a89f9123a772594d7f59afd062625cd204e w_try_cabextract -d "${W_TMP}" "${W_CACHE}"/corefonts/comic32.exe w_try_cp_font_files "${W_TMP}" "${W_FONTSDIR_UNIX}" "Comic*.TTF" w_register_font comicbd.ttf "Comic Sans MS Bold" @@ -14208,7 +14608,7 @@ w_metadata courier fonts \ installed_file1="${W_FONTSDIR_WIN}/cour.ttf" load_courier() { - w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/courie32.exe" bb511d861655dde879ae552eb86b134d6fae67cb58502e6ff73ec5d9151f3384 + w_download_to corefonts "https://github.com/pushcx/corefonts/raw/master/courie32.exe" bb511d861655dde879ae552eb86b134d6fae67cb58502e6ff73ec5d9151f3384 w_try_cabextract -d "${W_TMP}" "${W_CACHE}"/corefonts/courie32.exe w_try_cp_font_files "${W_TMP}" "${W_FONTSDIR_UNIX}" "cour*.ttf" w_register_font courbd.ttf "Courier New Bold" @@ -14228,7 +14628,7 @@ w_metadata georgia fonts \ installed_file1="${W_FONTSDIR_WIN}/georgia.ttf" load_georgia() { - w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/georgi32.exe" 2c2c7dcda6606ea5cf08918fb7cd3f3359e9e84338dc690013f20cd42e930301 + w_download_to corefonts "https://github.com/pushcx/corefonts/raw/master/georgi32.exe" 2c2c7dcda6606ea5cf08918fb7cd3f3359e9e84338dc690013f20cd42e930301 w_try_cabextract -d "${W_TMP}" "${W_CACHE}"/corefonts/georgi32.exe w_try_cp_font_files "${W_TMP}" "${W_FONTSDIR_UNIX}" "Georgia*.TTF" w_register_font georgiab.ttf "Georgia Bold" @@ -14249,7 +14649,7 @@ w_metadata impact fonts \ load_impact() { - w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/impact32.exe" 6061ef3b7401d9642f5dfdb5f2b376aa14663f6275e60a51207ad4facf2fccfb + w_download_to corefonts "https://github.com/pushcx/corefonts/raw/master/impact32.exe" 6061ef3b7401d9642f5dfdb5f2b376aa14663f6275e60a51207ad4facf2fccfb w_try_cabextract -d "${W_TMP}" "${W_CACHE}"/corefonts/impact32.exe w_try_cp_font_files "${W_TMP}" "${W_FONTSDIR_UNIX}" "Impact.TTF" w_register_font impact.ttf "Impact" @@ -14267,7 +14667,7 @@ w_metadata times fonts \ load_times() { - w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/times32.exe" db56595ec6ef5d3de5c24994f001f03b2a13e37cee27bc25c58f6f43e8f807ab + w_download_to corefonts "https://github.com/pushcx/corefonts/raw/master/times32.exe" db56595ec6ef5d3de5c24994f001f03b2a13e37cee27bc25c58f6f43e8f807ab w_try_cabextract -d "${W_TMP}" "${W_CACHE}"/corefonts/times32.exe w_try_cp_font_files "${W_TMP}" "${W_FONTSDIR_UNIX}" "Times*.TTF" w_register_font timesbd.ttf "Times New Roman Bold" @@ -14288,7 +14688,7 @@ w_metadata trebuchet fonts \ load_trebuchet() { - w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/trebuc32.exe" 5a690d9bb8510be1b8b4fe49f1f2319651fe51bbe54775ddddd8ef0bd07fdac9 + w_download_to corefonts "https://github.com/pushcx/corefonts/raw/master/trebuc32.exe" 5a690d9bb8510be1b8b4fe49f1f2319651fe51bbe54775ddddd8ef0bd07fdac9 w_try_cabextract -d "${W_TMP}" "${W_CACHE}"/corefonts/trebuc32.exe w_try_cp_font_files "${W_TMP}" "${W_FONTSDIR_UNIX}" "[tT]rebuc*.ttf" w_register_font trebucbd.ttf "Trebuchet MS Bold" @@ -14309,7 +14709,7 @@ w_metadata verdana fonts \ load_verdana() { - w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/verdan32.exe" c1cb61255e363166794e47664e2f21af8e3a26cb6346eb8d2ae2fa85dd5aad96 + w_download_to corefonts "https://github.com/pushcx/corefonts/raw/master//verdan32.exe" c1cb61255e363166794e47664e2f21af8e3a26cb6346eb8d2ae2fa85dd5aad96 w_try_cabextract -d "${W_TMP}" "${W_CACHE}"/corefonts/verdan32.exe w_try_cp_font_files "${W_TMP}" "${W_FONTSDIR_UNIX}" "Verdana*.TTF" w_register_font verdanab.ttf "Verdana Bold" @@ -14330,7 +14730,7 @@ w_metadata webdings fonts \ load_webdings() { - w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/webdin32.exe" 64595b5abc1080fba8610c5c34fab5863408e806aafe84653ca8575bed17d75a + w_download_to corefonts "https://github.com/pushcx/corefonts/raw/master/webdin32.exe" 64595b5abc1080fba8610c5c34fab5863408e806aafe84653ca8575bed17d75a w_try_cabextract -d "${W_TMP}" "${W_CACHE}"/corefonts/webdin32.exe w_try_cp_font_files "${W_TMP}" "${W_FONTSDIR_UNIX}" "Webdings.TTF" w_register_font webdings.ttf "Webdings" @@ -14682,7 +15082,7 @@ w_metadata opensymbol fonts \ publisher="libreoffice.org" \ year="2022" \ media="download" \ - file1="fonts-opensymbol_102.11+LibO7.0.4-4+deb11u7_all.deb" \ + file1="fonts-opensymbol_102.12+LibO7.6.4~rc1-1~bpo12+1_all.deb" \ installed_file1="${W_FONTSDIR_WIN}/opens___.ttf" load_opensymbol() @@ -14690,7 +15090,7 @@ load_opensymbol() # The OpenSymbol fonts are a replacement for the Windows Wingdings font from OpenOffice.org. # Need to w_download Debian since I can't find a standalone download from OpenOffice # Note: The source download package on debian is for _all_ of OpenOffice, which is 266 MB. - w_download https://cdn-aws.deb.debian.org/debian-security/pool/updates/main/libr/libreoffice/fonts-opensymbol_102.11+LibO7.0.4-4+deb11u7_all.deb 56932af381469673cea780c452644c193ec963e37756a3030428445d8fbc67c3 + w_download http://ftp.us.debian.org/debian/pool/main/libr/libreoffice/fonts-opensymbol_102.12+LibO7.6.4~rc1-1~bpo12+1_all.deb e35e57a0a703fe656230a30c7675a5c5c4772a11c6f650634765234d1f0fa35f w_try_cd "${W_TMP}" w_try_ar "${W_CACHE}/${W_PACKAGE}/${file1}" data.tar.xz w_try tar -Jxf "${W_TMP}/data.tar.xz" ./usr/share/fonts/truetype/libreoffice/opens___.ttf @@ -14849,7 +15249,7 @@ w_metadata vlgothic fonts \ load_vlgothic() { - w_download "https://ja.osdn.net/projects/vlgothic/downloads/62375/VLGothic-20141206.tar.xz" 982040db2f9cb73d7c6ab7d9d163f2ed46d1180f330c9ba2fae303649bf8102d + w_download "https://mirrors.gigenet.com/OSDN/vlgothic/62375/VLGothic-20141206.tar.xz" 982040db2f9cb73d7c6ab7d9d163f2ed46d1180f330c9ba2fae303649bf8102d w_try_cd "${W_TMP}" w_try tar -Jxf "${W_CACHE}/vlgothic/VLGothic-20141206.tar.xz" @@ -15526,7 +15926,7 @@ load_ie6() shdocvw.dll shell32.dll vbscript.dll webcheck.dll \ wshcon.dll wshext.dll asctrls.ocx hhctrl.ocx mscomct2.ocx \ plugin.ocx proctexe.ocx tdc.ocx webcheck.dll wshom.ocx; do - "${WINE}" regsvr32 /i ${i} > /dev/null 2>&1 + w_try_regsvr32 /i ${i} > /dev/null 2>&1 done # Set Windows version back to the default. Leave at win2k for better rendering (is there a bug for that?) @@ -15623,7 +16023,7 @@ load_ie7() shdocvw.dll shell32.dll urlmon.dll vbscript.dll webcheck.dll \ wshcon.dll wshext.dll asctrls.ocx hhctrl.ocx mscomct2.ocx \ plugin.ocx proctexe.ocx tdc.ocx webcheck.dll wshom.ocx; do - "${WINE}" regsvr32 /i ${i} > /dev/null 2>&1 + w_try_regsvr32 /i ${i} > /dev/null 2>&1 done # Builtin ieproxy is in system32, but ie7's lives in Program Files. Native @@ -15768,12 +16168,16 @@ load_ie8() shdocvw.dll shell32.dll urlmon.dll vbscript.dll webcheck.dll \ wshcon.dll wshext.dll asctrls.ocx hhctrl.ocx mscomct2.ocx \ plugin.ocx proctexe.ocx tdc.ocx uxtheme.dll webcheck.dll wshom.ocx; do - "${WINE}" regsvr32 /i ${i} > /dev/null 2>&1 - if [ "${W_ARCH}" = "win64" ]; then - "${WINE64}" regsvr32 /i ${i} > /dev/null 2>&1 - fi + w_try_regsvr32 /i ${i} > /dev/null 2>&1 done + # only a few dlls register for win64? + if [ "${W_ARCH}" = "win64" ]; then + for i in browseui.dll shdocvw.dll shell32.dll urlmon.dll; do + w_try_regsvr64 /i ${i} > /dev/null 2>&1 + done + fi + if w_workaround_wine_bug 25648 "Setting TabProcGrowth=0 to avoid hang"; then cat > "${W_TMP}"/set-tabprocgrowth.reg <<_EOF_ REGEDIT4 @@ -15813,7 +16217,7 @@ _EOF_ if [ "${W_ARCH}" = "win32" ]; then w_warn "To start ie8, from a terminal shell, use the command \"${WINE}\" '${W_PROGRAMS_WIN}\\\\Internet Explorer\\\\iexplore.exe'" else - w_warn "To start ie8 (32-bit), from a terminal shell, use the command \"${WINE}\" '${W_PROGRAMS_X86_WIN}\\\\Internet Explorer\\\\iexplore.exe'\nTo start ie8 (64-bit), from a terminal shell, use the command \"${WINE}\" '${W_PROGRAMS_WIN}\\\\Internet Explorer\\\\iexplore.exe'" + w_warn "To start ie8 (32-bit), from a terminal shell, use the command \"${WINE}\" '${W_PROGRAMS_X86_WIN}\\\\Internet Explorer\\\\iexplore.exe'\nTo start ie8 (64-bit), from a terminal shell, use the command \"${WINE64}\" '${W_PROGRAMS_WIN}\\\\Internet Explorer\\\\iexplore.exe'" fi w_restore_winver @@ -16420,14 +16824,27 @@ w_metadata origin apps \ year="2011" \ media="download" \ file1="OriginSetup.exe" \ - file2="version_v2.dll" \ + file2="version_v3.dll" \ installed_file1="${W_PROGRAMS_X86_WIN}/Origin/Origin.exe" \ homepage="https://www.origin.com/" load_origin() { w_download_to origin https://taskinoz.com/downloads/OriginSetup-10.5.119.52718.exe ed6ee5174f697744ac7c5783ff9021da603bbac42ae9836cd468d432cadc9779 OriginSetup.exe - w_download_to origin https://github.com/p0358/Fuck_off_EA_App/releases/download/v2/version.dll 5f0bbb15f7cff8540642c28739db0cd6b15e77e5935f4e6701351eea86d929ab version_v2.dll + w_download_to origin https://github.com/p0358/Fuck_off_EA_App/releases/download/v3/version.dll 6c2df238a5cbff3475527aa7adf1d8b76d4d2d1a33a6d62edd4749408305c2be version_v3.dll + + w_try_mkdir "${W_DRIVE_C}/ProgramData/Origin" + + w_warn "Stopping Origin from finding updates" + cat > "${W_DRIVE_C}/ProgramData/Origin/local.xml" <<_EOF_ + + + + + + + +_EOF_ w_try_cd "${W_CACHE}/${W_PACKAGE}" w_try "${WINE}" "${file1}" /NoLaunch ${W_OPT_UNATTENDED:+/SILENT} @@ -16461,7 +16878,7 @@ load_origin() fi w_warn "Workaround Forced EA app upgrade." - w_try cp -f "${W_CACHE}/${W_PACKAGE}/version_v2.dll" "${W_PROGRAMS_X86_UNIX}/Origin/version.dll" + w_try cp -f "${W_CACHE}/${W_PACKAGE}/version_v3.dll" "${W_PROGRAMS_X86_UNIX}/Origin/version.dll" w_override_app_dlls Origin.exe native version w_warn "Pretend EA app is installed" @@ -16751,7 +17168,7 @@ w_metadata steam apps \ publisher="Valve" \ year="2010" \ media="download" \ - file1="SteamInstall.msi" \ + file1="SteamSetup.exe" \ installed_exe1="${W_PROGRAMS_X86_WIN}/Steam/Steam.exe" load_steam() @@ -16771,12 +17188,11 @@ load_steam() fi if w_workaround_wine_bug 44985 "Disabling libglesv2 to make Store and Library function correctly." 7.0,; then - w_override_dlls disabled libglesv2 - w_warn "Steam needs to be launched with -noreactlogin" + w_override_app_dlls steamwebhelper.exe disabled libglesv2 fi if [ "$(uname -s)" = "Darwin" ] && w_workaround_wine_bug 49839 "Steamwebhelper.exe crashes when running Steam."; then - w_warn "Steam must be launched with -allosarches -cef-force-32bit -cef-in-process-gpu -no-cef-sandbox" + w_warn "Steam must be launched with -allosarches -cef-force-32bit -cef-in-process-gpu -cef-disable-sandbox" fi # vulkandriverquery & vulkandriverquery64 crash a lot on macOS @@ -17811,12 +18227,15 @@ load_wglgears() # DirectInput settings w_metadata mwo=force settings \ + title_bg="Задайте принудително DirectInput MouseWarpOverride (необходимо за някои игри)" \ title_uk="Встановити примусове DirectInput MouseWarpOverride (необхідно для деяких ігор)" \ title="Set DirectInput MouseWarpOverride to force (needed by some games)" w_metadata mwo=enabled settings \ + title_bg="Включете DirectInput MouseWarpOverride (по подразбиране)" \ title_uk="Увімкнути DirectInput MouseWarpOverride (за замовчуванням)" \ title="Set DirectInput MouseWarpOverride to enabled (default)" w_metadata mwo=disable settings \ + title_bg="Изключете DirectInput MouseWarpOverride" \ title_uk="Вимкнути DirectInput MouseWarpOverride" \ title="Set DirectInput MouseWarpOverride to disable" @@ -17846,6 +18265,7 @@ _EOF_ #---------------------------------------------------------------- w_metadata fontfix settings \ + title_bg="Проверете за неработещи шрифтове" \ title_uk="Перевірка шрифтів" \ title="Check for broken fonts" @@ -17868,15 +18288,19 @@ load_fontfix() #---------------------------------------------------------------- w_metadata fontsmooth=disable settings \ + title_bg="Изключете изглаждането на шрифта" \ title_uk="Вимкнути згладжування шрифту" \ title="Disable font smoothing" w_metadata fontsmooth=bgr settings \ + title_bg="Включете подпикселното изглаждане на шрифта за BGR LCD монитори" \ title_uk="Увімкнути субпіксельне згладжування шрифту для BGR LCD моніторів" \ title="Enable subpixel font smoothing for BGR LCDs" w_metadata fontsmooth=rgb settings \ + title_bg="Включете подпикселното изглаждане на шрифта за RGB LCD монитори" \ title_uk="Увімкнути субпіксельне згладжування шрифту для RGB LCD моніторів" \ title="Enable subpixel font smoothing for RGB LCDs" w_metadata fontsmooth=gray settings \ + title_bg="Включете подпикселното изглаждане на шрифта" \ title_uk="Увімкнути субпіксельне згладжування шрифту" \ title="Enable subpixel font smoothing" @@ -17909,9 +18333,11 @@ _EOF_ # Mac Driver settings w_metadata macdriver=mac settings \ + title_bg="Включете драйвера на Mac - Quartz (по подразбиране)" \ title_uk="Увімкнути рідний Mac Quartz драйвер (за замовчуванням)" \ title="Enable the Mac native Quartz driver (default)" w_metadata macdriver=x11 settings \ + title_bg="Изключете драйвера на Mac - Quartz и включете драйвера на X11" \ title_uk="Вимкнути рідний Mac Quartz драйвер та використовувати замість нього X11" \ title="Disable the Mac native Quartz driver, use X11 instead" @@ -17931,10 +18357,13 @@ _EOF_ #---------------------------------------------------------------- w_metadata mackeyremap=both settings \ + title_bg="Включете преназначаването на клавишите Opt->Alt и Cmd->Ctrl за драйвера на Mac" \ title="Enable mapping opt->alt and cmd->ctrl keys for the Mac native driver" w_metadata mackeyremap=left settings \ + title_bg="Включете преназначаването на левите клавиши Opt->Alt и Cmd->Ctrl за драйвера на Mac" \ title="Enable mapping of left opt->alt and cmd->ctrl keys for the Mac native driver" w_metadata mackeyremap=none settings \ + title_bg="Не преназначавайте клавишите за драйвера на Mac (по подразбиране)" \ title="Do not remap keys for the Mac native driver (default)" load_mackeyremap() @@ -17966,9 +18395,11 @@ _EOF_ # X11 Driver settings w_metadata grabfullscreen=y settings \ + title_bg="Задайте принудително прихващане на курсора за прозорци на цял екран (необходимо за някои игри)" \ title_uk="Примусове захоплення курсору для повноекранних вікон (необхідно для деяких ігор)" \ title="Force cursor clipping for full-screen windows (needed by some games)" w_metadata grabfullscreen=n settings \ + title_bg="Изключете прихващането на курсора за прозорци на цял екран (по подразбиране)" \ title_uk="Вимкнути примусове захоплення курсору для повноекранних вікон (за замовчуванням)" \ title="Disable cursor clipping for full-screen windows (default)" @@ -17991,21 +18422,25 @@ _EOF_ } w_metadata windowmanagerdecorated=y settings \ + title_bg="Позволете на мениджъра на прозорците да декорира прозорците (по подразбиране)" \ title_uk="Дозволити менеджеру вікон декорувати вікна (за замовчуванням)" \ title="Allow the window manager to decorate windows (default)" w_metadata windowmanagerdecorated=n settings \ + title_bg="Не позволявайте на мениджъра на прозорците да декорира прозорците" \ title_uk="Не дозволяти менеджеру вікон декорувати вікна" \ title="Prevent the window manager from decorating windows" #---------------------------------------------------------------- w_metadata usetakefocus=y settings \ + title_bg="Включете UseTakeFocus" \ title_cz="Aktivovat UseTakeFocus" \ title_uk="Увімкнути фокусування на вікні" \ title_sk="Aktivovať UseTakeFocus" \ title_tlh="Qorwagh buSchoH \'e\' chu\'" \ title="Enable UseTakeFocus" w_metadata usetakefocus=n settings \ + title_bg="Изключете UseTakeFocus (по подразбиране)" \ title_cz="Deaktivovat UseTakeFocus (výchozí)" \ title_uk="Вимкнути фокусування на вікні (за замовчуванням)" \ title_sk="Deaktivovať UseTakeFocus (výchozí)" \ @@ -18052,9 +18487,11 @@ _EOF_ } w_metadata windowmanagermanaged=y settings \ + title_bg="Позволете на мениджъра на прозорците да управлява прозорците (по подразбиране)" \ title_uk="Дозволити менеджеру вікон керування вікнами (за замовчуванням)" \ title="Allow the window manager to control windows (default)" w_metadata windowmanagermanaged=n settings \ + title_bg="Не позволявайте на мениджъра на прозорците да управлява прозорците" \ title_uk="Не дозволяти менеджеру вікон керування вікнами" \ title="Prevent the window manager from controlling windows" @@ -18081,21 +18518,27 @@ _EOF_ #---------------------------------------------------------------- w_metadata vd=off settings \ + title_bg="Изключете виртуалния работен плот" \ title_uk="Вимкнути віртуальний робочий стіл" \ title="Disable virtual desktop" w_metadata vd=640x480 settings \ + title_bg="Включете виртуалния работен плот с разделителна способност 640x480" \ title_uk="Увімкнути віртуальний робочий стіл та встановити розмір 640x480" \ title="Enable virtual desktop, set size to 640x480" w_metadata vd=800x600 settings \ + title_bg="Включете виртуалния работен плот с разделителна способност 800x600" \ title_uk="Увімкнути віртуальний робочий стіл та встановити розмір 800x600" \ title="Enable virtual desktop, set size to 800x600" w_metadata vd=1024x768 settings \ + title_bg="Включете виртуалния работен плот с разделителна способност 1024x768" \ title_uk="Увімкнути віртуальний робочий стіл та встановити розмір 1024x768" \ title="Enable virtual desktop, set size to 1024x768" w_metadata vd=1280x1024 settings \ + title_bg="Включете виртуалния работен плот с разделителна способност 1280x1024" \ title_uk="Увімкнути віртуальний робочий стіл та встановити розмір 1280x1024" \ title="Enable virtual desktop, set size to 1280x1024" w_metadata vd=1440x900 settings \ + title_bg="Включете виртуалния работен плот с разделителна способност 1440x900" \ title_uk="Увімкнути віртуальний робочий стіл та встановити розмір 1440x900" \ title="Enable virtual desktop, set size to 1440x900" @@ -18139,8 +18582,10 @@ _EOF_ # MIME-type file associations settings w_metadata mimeassoc=on settings \ + title_bg="Включете експортирането на файловите асоциации от MIME към работния плот (по подразбиране)" \ title="Enable exporting MIME-type file associations to the native desktop (default)" w_metadata mimeassoc=off settings \ + title_bg="Изключете експортирането на файловите асоциации от MIME към работния плот" \ title="Disable exporting MIME-type file associations to the native desktop" load_mimeassoc() @@ -18196,9 +18641,11 @@ _EOF_ # CheckFloatConstants settings w_metadata cfc=enabled settings \ + title_bg="Включете CheckFloatConstants" \ title_uk="Увімкнути CheckFloatConstants" \ title="Enable CheckFloatConstants" w_metadata cfc=disabled settings \ + title_bg="Изключете CheckFloatConstants (по подразбиране)" \ title_uk="Вимкнути CheckFloatConstants (за замовчуванням)" \ title="Disable CheckFloatConstants (default)" @@ -18210,12 +18657,15 @@ load_cfc() # CSMT settings w_metadata csmt=force settings \ + title_bg="Включете принудително сериализацията на командите от OpenGL или Vulkan между няколко командни потока в приложението" \ title_uk="Увімкнути та примусити серіалізацію команд OpenGL або Vulkan між кількома потоками команд в одній програмі" \ title="Enable and force serialisation of OpenGL or Vulkan commands between multiple command streams in the same application" w_metadata csmt=on settings \ + title_bg="Включете Command Stream Multithreading (по подразбиране)" \ title_uk="Увімкнути Command Stream Multithreading (за замовчуванням)" \ title="Enable Command Stream Multithreading (default)" w_metadata csmt=off settings \ + title_bg="Изключете Command Stream Multithreading"\ title_uk="Вимкнути Command Stream Multithreading"\ title="Disable Command Stream Multithreading" @@ -18243,15 +18693,19 @@ _EOF_ # DirectDraw settings w_metadata gsm=0 settings \ + title_bg="Задайте MaxShaderModelGS на 0" \ title_uk="Встановити MaxShaderModelGS на 0" \ title="Set MaxShaderModelGS to 0" w_metadata gsm=1 settings \ + title_bg="Задайте MaxShaderModelGS на 1" \ title_uk="Встановити MaxShaderModelGS на 1" \ title="Set MaxShaderModelGS to 1" w_metadata gsm=2 settings \ + title_bg="Задайте MaxShaderModelGS на 2" \ title_uk="Встановити MaxShaderModelGS на 2" \ title="Set MaxShaderModelGS to 2" w_metadata gsm=3 settings \ + title_bg="Задайте MaxShaderModelGS на 3" \ title_uk="Встановити MaxShaderModelGS на 3" \ title="Set MaxShaderModelGS to 3" @@ -18263,6 +18717,7 @@ load_gsm() #---------------------------------------------------------------- w_metadata npm=repack settings \ + title_bg="Задайте NonPower2Mode на repack" \ title_uk="Встановити NonPower2Mode на repack" \ title="Set NonPower2Mode to repack" @@ -18274,9 +18729,11 @@ load_npm() #---------------------------------------------------------------- w_metadata orm=fbo settings \ + title_bg="Задайте OffscreenRenderingMode=fbo (по подразбиране)" \ title_uk="Встановити OffscreenRenderingMode=fbo (за замовчуванням)" \ title="Set OffscreenRenderingMode=fbo (default)" w_metadata orm=backbuffer settings \ + title_bg="Задайте OffscreenRenderingMode=backbuffer" \ title_uk="Встановити OffscreenRenderingMode=backbuffer" \ title="Set OffscreenRenderingMode=backbuffer" @@ -18288,15 +18745,19 @@ load_orm() #---------------------------------------------------------------- w_metadata psm=0 settings \ + title_bg="Задайте MaxShaderModelPS на 0" \ title_uk="Встановити MaxShaderModelPS на 0" \ title="Set MaxShaderModelPS to 0" w_metadata psm=1 settings \ + title_bg="Задайте MaxShaderModelPS на 1" \ title_uk="Встановити MaxShaderModelPS на 1" \ title="Set MaxShaderModelPS to 1" w_metadata psm=2 settings \ + title_bg="Задайте MaxShaderModelPS на 2" \ title_uk="Встановити MaxShaderModelPS на 2" \ title="Set MaxShaderModelPS to 2" w_metadata psm=3 settings \ + title_bg="Задайте MaxShaderModelPS на 3" \ title_uk="Встановити MaxShaderModelPS на 3" \ title="Set MaxShaderModelPS to 3" @@ -18308,12 +18769,15 @@ load_psm() #---------------------------------------------------------------- w_metadata shader_backend=glsl settings \ + title_bg="Задайте shader_backend на glsl" \ title_uk="Встановити shader_backend на glsl" \ title="Set shader_backend to glsl" w_metadata shader_backend=arb settings \ + title_bg="Задайте shader_backend на arb" \ title_uk="Встановити shader_backend на arb" \ title="Set shader_backend to arb" w_metadata shader_backend=none settings \ + title_bg="Задайте shader_backend на none" \ title_uk="Встановити shader_backend на none" \ title="Set shader_backend to none" @@ -18325,9 +18789,11 @@ load_shader_backend() #---------------------------------------------------------------- w_metadata ssm=disabled settings \ + title_bg="Изключете Struct Shader Math (по подразбиране)" \ title_uk="Вимкнути Struct Shader Math (за замовчуванням)" \ title="Disable Struct Shader Math (default)" w_metadata ssm=enabled settings \ + title_bg="Включете Struct Shader Math"\ title_uk="Увімкнути Struct Shader Math"\ title="Enable Struct Shader Math" @@ -18353,15 +18819,19 @@ _EOF_ #---------------------------------------------------------------- w_metadata renderer=gdi settings \ + title_bg="Задайте renderer на gdi" \ title_uk="Встановити renderer на gdi" \ title="Set renderer to gdi" w_metadata renderer=gl settings \ + title_bg="Задайте renderer на gl" \ title_uk="Встановити renderer на gl" \ title="Set renderer to gl" w_metadata renderer=no3d settings \ + title_bg="Задайте renderer на no3d" \ title_uk="Встановити renderer на no3d" \ title="Set renderer to no3d" w_metadata renderer=vulkan settings \ + title_bg="Задайте renderer на vulkan" \ title_uk="Встановити renderer на vulkan" \ title="Set renderer to vulkan" @@ -18373,21 +18843,27 @@ load_renderer() #----------------------------------------------------------------= w_metadata rtlm=auto settings \ + title_bg="Задайте RenderTargetLockMode на auto (по подразбиране)" \ title_uk="Встановити RenderTargetLockMode на авто (за замовчуванням)" \ title="Set RenderTargetLockMode to auto (default)" w_metadata rtlm=disabled settings \ + title_bg="Задайте RenderTargetLockMode на disabled" \ title_uk="Вимкнути RenderTargetLockMode" \ title="Set RenderTargetLockMode to disabled" w_metadata rtlm=readdraw settings \ + title_bg="Задайте RenderTargetLockMode на readdraw" \ title_uk="Встановити RenderTargetLockMode на readdraw" \ title="Set RenderTargetLockMode to readdraw" w_metadata rtlm=readtex settings \ + title_bg="Задайте RenderTargetLockMode на readtex" \ title_uk="Встановити RenderTargetLockMode на readtex" \ title="Set RenderTargetLockMode to readtex" w_metadata rtlm=texdraw settings \ + title_bg="Задайте RenderTargetLockMode на texdraw" \ title_uk="Встановити RenderTargetLockMode на texdraw" \ title="Set RenderTargetLockMode to texdraw" w_metadata rtlm=textex settings \ + title_bg="Задайте RenderTargetLockMode на textex" \ title_uk="Встановити RenderTargetLockMode на textex" \ title="Set RenderTargetLockMode to textex" @@ -18399,6 +18875,7 @@ load_rtlm() #---------------------------------------------------------------- w_metadata set_mididevice settings \ + title_bg="Задайте устройството MIDImap към стойността, посочена в променливата на средата MIDI_DEVICE" \ title="Set MIDImap device to the value specified in the MIDI_DEVICE environment variable" load_set_mididevice() @@ -18421,15 +18898,19 @@ _EOF_ #---------------------------------------------------------------- w_metadata videomemorysize=default settings \ + title_bg="Оставете на Wine да открие паметта на видеокартата" \ title_uk="Дати можливість Wine визначити розмір відеопам'яті" \ title="Let Wine detect amount of video card memory" w_metadata videomemorysize=512 settings \ + title_bg="Кажете на Wine, че видеокартата има 512 МБ памет" \ title_uk="Повідомити Wine про 512МБ відеопам'яті" \ title="Tell Wine your video card has 512MB RAM" w_metadata videomemorysize=1024 settings \ + title_bg="Кажете на Wine, че видеокартата има 1024 МБ памет" \ title_uk="Повідомити Wine про 1024МБ відеопам'яті" \ title="Tell Wine your video card has 1024MB RAM" w_metadata videomemorysize=2048 settings \ + title_bg="Кажете на Wine, че видеокартата има 2048 МБ памет" \ title_uk="Повідомити Wine про 2048МБ відеопам'яті" \ title="Tell Wine your video card has 2048MB RAM" @@ -18465,15 +18946,19 @@ _EOF_ #---------------------------------------------------------------- w_metadata vsm=0 settings \ + title_bg="Задайте MaxShaderModelVS на 0" \ title_uk="Встановити MaxShaderModelVS на 0" \ title="Set MaxShaderModelVS to 0" w_metadata vsm=1 settings \ + title_bg="Задайте MaxShaderModelVS на 1" \ title_uk="Встановити MaxShaderModelVS на 1" \ title="Set MaxShaderModelVS to 1" w_metadata vsm=2 settings \ + title_bg="Задайте MaxShaderModelVS на 2" \ title_uk="Встановити MaxShaderModelVS на 2" \ title="Set MaxShaderModelVS to 2" w_metadata vsm=3 settings \ + title_bg="Задайте MaxShaderModelVS на 3" \ title_uk="Встановити MaxShaderModelVS на 3" \ title="Set MaxShaderModelVS to 3" @@ -18488,8 +18973,10 @@ load_vsm() #---------------------------------------------------------------- w_metadata autostart_winedbg=enabled settings \ + title_bg="Стартирайте автоматично winedbg при възникване на необработено изключение (по подразбиране)" \ title="Automatically launch winedbg when an unhandled exception occurs (default)" w_metadata autostart_winedbg=disabled settings \ + title_bg="Не позволявайте стартирането на winedbg при възникване на необработено изключение" \ title="Prevent winedbg from launching when an unhandled exception occurs" load_autostart_winedbg() @@ -18518,6 +19005,7 @@ _EOF_ #---------------------------------------------------------------- w_metadata heapcheck settings \ + title_bg="Включете кумулативната проверка с GlobalFlag" \ title_uk="Увімкнути накопичувальну перевірку GlobalFlag" \ title="Enable heap checking with GlobalFlag" @@ -18536,6 +19024,7 @@ _EOF_ #---------------------------------------------------------------- w_metadata nocrashdialog settings \ + title_bg="Изключете диалоговия прозорец за срив" \ title_uk="Вимкнути діалог про помилку" \ title="Disable crash dialog" @@ -18554,6 +19043,7 @@ _EOF_ } w_metadata set_userpath settings \ + title_bg="задайте потребителската променлива PATH в папката, посочена от местоположенията в променливата на средата WINEPATH с разделител ';'" \ title_uk="" \ title="set user PATH variable in wine prefix specified by native and/or wine paths in WINEPATH environment variable with ';' as path separator" @@ -18575,9 +19065,11 @@ _EOF_ # settings->misc w_metadata alldlls=default settings \ + title_bg="Премахнете всички замени на DLL файловете" \ title_uk="Видалити всі перевизначення DLL" \ title="Remove all DLL overrides" w_metadata alldlls=builtin settings \ + title_bg="Заменете DLL файловете" \ title_uk="Перевизначити найбільш поширені DLL на вбудовані" \ title="Override most common DLLs to builtin" @@ -18592,6 +19084,7 @@ load_alldlls() #---------------------------------------------------------------- w_metadata bad settings \ + title_bg="Фалшив глагол, който винаги връща false" \ title="Fake verb that always returns false" load_bad() @@ -18602,6 +19095,7 @@ load_bad() #---------------------------------------------------------------- w_metadata forcemono settings \ + title_bg="Задайте принудително Mono вместо .NET (за отстраняване на грешки)" \ title_uk="Примусове використання mono замість .NET (для налагодження)" \ title="Force using Mono instead of .NET (for debugging)" @@ -18614,6 +19108,7 @@ load_forcemono() #---------------------------------------------------------------- w_metadata good settings \ + title_bg="Фалшив глагол, който винаги връща true" \ title="Fake verb that always returns true" load_good() @@ -18624,8 +19119,10 @@ load_good() #---------------------------------------------------------------- w_metadata hidewineexports=enable settings \ + title_bg="Включете скриване на експортирането на Wine от приложенията (wine-staging)" \ title="Enable hiding Wine exports from applications (wine-staging)" w_metadata hidewineexports=disable settings \ + title_bg="Изключете скриване на експортирането на Wine от приложенията (wine-staging)" \ title="Disable hiding Wine exports from applications (wine-staging)" load_hidewineexports() @@ -18660,6 +19157,7 @@ _EOF_ #---------------------------------------------------------------- w_metadata hosts settings \ + title_bg="Добавете празни файлове в C:\\windows\\system32\\drivers\\etc\\{hosts,services}" \ title_uk="Додати порожні файли у C:\\windows\\system32\\drivers\\etc\\{hosts,services}" \ title="Add empty C:\\windows\\system32\\drivers\\etc\\{hosts,services} files" @@ -18681,6 +19179,7 @@ load_hosts() #---------------------------------------------------------------- w_metadata isolate_home settings \ + title_bg="Премахнете връзките на папката към \$HOME" \ title_uk="Видалити посилання на вино преміум на \$HOME" \ title="Remove wineprefix links to \$HOME" @@ -18713,6 +19212,7 @@ load_isolate_home() #---------------------------------------------------------------- w_metadata native_mdac settings \ + title_bg="Заменете odbc32, odbccp32 и oledb32" \ title_uk="Перевизначити odbc32, odbccp32 та oledb32" \ title="Override odbc32, odbccp32 and oledb32" @@ -18745,6 +19245,7 @@ load_native_mdac() #---------------------------------------------------------------- w_metadata native_oleaut32 settings \ + title_bg="Заменете oleaut32" \ title_uk="Перевизначити oleaut32" \ title="Override oleaut32" @@ -18756,6 +19257,7 @@ load_native_oleaut32() #---------------------------------------------------------------- w_metadata remove_mono settings \ + title_bg="Премахнете wine-mono" \ title_uk="Видалити вбудоване wine-mono" \ title="Remove builtin wine-mono" @@ -18766,25 +19268,33 @@ load_remove_mono() # extracted to /usr/share/wine/mono, or equivalent), only 'Wine Mono Windows Support' will be installed. # If using the old .msi installer, *both* tarballs are installed. # - # So, we uninstall anything that has 'Wine Mono' in the name to handle both cases. - # If wine uninstaller can't find the application it will return 0 anyway. - mono_uuid="$("${WINE_ARCH}" uninstaller --list | grep 'Wine Mono' | cut -f1 -d\|)" - if test "${mono_uuid}"; then - for uuid in ${mono_uuid}; do - "${WINE_ARCH}" uninstaller --remove "${uuid}" + # Sometime later, the installer name was updated to 'Wine Mono Runtime' + # + # And then in 8.22, uninstaller now returns an error rather than 0 if an uninstaller can't be found + # That can be avoided with the --silent option, but that option doesn't exist in older versions. + # + # So, now, loop through and try to uninstaller them one at a time. + + mono_install_found=0 + for mono_installer_desc in 'Wine Mono Windows Support' 'Wine Mono Runtime' 'Wine Mono'; do + mono_uuid="$(WINEDEBUG=-all "${WINE_ARCH}" uninstaller --list 2>&1 | grep "${mono_installer_desc}" | cut -f1 -d\|)" + if test "${mono_uuid}"; then + "${WINE_ARCH}" uninstaller --remove "${mono_uuid}" + mono_install_found=1 + fi + done + + if [ "${mono_install_found}" -eq 1 ]; then + "${WINE_ARCH}" reg delete "HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP\\v3.5" /f || true + "${WINE_ARCH}" reg delete "HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP\\v4" /f || true + + for mscoree_dll in "${W_SYSTEM32_DLLS}/mscoree.dll" "${W_SYSTEM64_DLLS}/mscoree.dll"; do + if [ -f "${mscoree_dll}" ] && grep --quiet --text "WINE_MONO_OVERRIDES" "${mscoree_dll}"; then + w_try rm -f "${mscoree_dll}" + fi done elif [ -z "$1" ] || [ "$1" != "internal" ]; then - # Bail out if mono isn't installed, so we don't break .Net setups w_warn "Mono does not appear to be installed." - return - fi - - "${WINE_ARCH}" reg delete "HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP\\v3.5" /f || true - "${WINE_ARCH}" reg delete "HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP\\v4" /f || true - - w_try rm -f "${W_WINDIR_UNIX}/system32/mscoree.dll" - if [ "${W_ARCH}" = "win64" ]; then - w_try rm -f "${W_WINDIR_UNIX}/syswow64/mscoree.dll" fi } @@ -18792,6 +19302,7 @@ load_remove_mono() #---------------------------------------------------------------- w_metadata sandbox settings \ + title_bg="Добавете папката в пясъчника - премахнете връзките към \$HOME" \ title_uk="Пісочниця wineprefix - видалити посилання до HOME" \ title="Sandbox the wineprefix - remove links to \$HOME" @@ -18816,18 +19327,23 @@ load_sandbox() #---------------------------------------------------------------- w_metadata sound=alsa settings \ + title_bg="Задайте звуковия драйвер на ALSA" \ title_uk="Встановити звуковий драйвер ALSA" \ title="Set sound driver to ALSA" w_metadata sound=coreaudio settings \ + title_bg="Задайте звуковия драйвер на Mac CoreAudio" \ title_uk="Встановити звуковий драйвер Mac CoreAudio" \ title="Set sound driver to Mac CoreAudio" w_metadata sound=disabled settings \ + title_bg="Задайте звуковия драйвер на disabled" \ title_uk="Вимкнути звуковий драйвер" \ title="Set sound driver to disabled" w_metadata sound=oss settings \ + title_bg="Задайте звуковия драйвер на OSS" \ title_uk="Встановити звуковий драйвер OSS" \ title="Set sound driver to OSS" w_metadata sound=pulse settings \ + title_bg="Задайте звуковия драйвер на PulseAudio" \ title_uk="Встановити звуковий драйвер PulseAudio" \ title="Set sound driver to PulseAudio" @@ -18848,6 +19364,7 @@ _EOF_ #---------------------------------------------------------------- w_metadata nt351 settings \ + title_bg="Задайте Windows NT 3.51" \ title_uk="Встановити версію Windows NT 3.51" \ title="Set Windows version to Windows NT 3.51" @@ -18860,6 +19377,7 @@ load_nt351() #---------------------------------------------------------------- w_metadata nt40 settings \ + title_bg="Задайте Windows NT 4.0" \ title_uk="Встановити версію Windows NT 4.0" \ title="Set Windows version to Windows NT 4.0" @@ -18872,6 +19390,7 @@ load_nt40() #---------------------------------------------------------------- w_metadata vista settings \ + title_bg="Задайте Windows Vista" \ title_uk="Встановити версію Windows Vista" \ title="Set Windows version to Windows Vista" @@ -18883,6 +19402,7 @@ load_vista() #---------------------------------------------------------------- w_metadata win20 settings \ + title_bg="Задайте Windows 2.0" \ title_uk="Встановити версію Windows 2.0" \ title="Set Windows version to Windows 2.0" @@ -18895,6 +19415,7 @@ load_win20() #---------------------------------------------------------------- w_metadata win2k settings \ + title_bg="Задайте Windows 2000" \ title_uk="Встановити версію Windows 2000" \ title="Set Windows version to Windows 2000" @@ -18907,6 +19428,7 @@ load_win2k() #---------------------------------------------------------------- w_metadata win2k3 settings \ + title_bg="Задайте Windows 2003" \ title_uk="Встановити версію Windows 2003" \ title="Set Windows version to Windows 2003" @@ -18918,6 +19440,7 @@ load_win2k3() #---------------------------------------------------------------- w_metadata win2k8 settings \ + title_bg="Задайте Windows 2008" \ title_uk="Встановити версію Windows 2008" \ title="Set Windows version to Windows 2008" @@ -18929,6 +19452,7 @@ load_win2k8() #---------------------------------------------------------------- w_metadata win2k8r2 settings \ + title_bg="Задайте Windows 2008 R2" \ title_uk="Встановити версію Windows 2008 R2" \ title="Set Windows version to Windows 2008 R2" @@ -18940,6 +19464,7 @@ load_win2k8r2() #---------------------------------------------------------------- w_metadata win30 settings \ + title_bg="Задайте Windows 3.0" \ title_uk="Встановити версію Windows 3.0" \ title="Set Windows version to Windows 3.0" @@ -18952,6 +19477,7 @@ load_win30() #---------------------------------------------------------------- w_metadata win31 settings \ + title_bg="Задайте Windows 3.1" \ title_uk="Встановити версію Windows 3.1" \ title="Set Windows version to Windows 3.1" @@ -18964,6 +19490,7 @@ load_win31() #---------------------------------------------------------------- w_metadata win7 settings \ + title_bg="Задайте Windows 7" \ title_uk="Встановити версію Windows 7" \ title="Set Windows version to Windows 7" @@ -18975,6 +19502,7 @@ load_win7() #---------------------------------------------------------------- w_metadata win8 settings \ + title_bg="Задайте Windows 8" \ title_uk="Встановити версію Windows 8" \ title="Set Windows version to Windows 8" @@ -18986,6 +19514,7 @@ load_win8() #---------------------------------------------------------------- w_metadata win81 settings \ + title_bg="Задайте Windows 8.1" \ title_uk="Встановити версію Windows 8.1" \ title="Set Windows version to Windows 8.1" @@ -18997,6 +19526,7 @@ load_win81() #---------------------------------------------------------------- w_metadata win10 settings \ + title_bg="Задайте Windows 10" \ title_uk="Встановити версію Windows 10" \ title="Set Windows version to Windows 10" @@ -19008,6 +19538,7 @@ load_win10() #---------------------------------------------------------------- w_metadata win11 settings \ + title_bg="Задайте Windows 11" \ title_uk="Встановити версію Windows 11" \ title="Set Windows version to Windows 11" @@ -19019,6 +19550,7 @@ load_win11() #---------------------------------------------------------------- w_metadata win95 settings \ + title_bg="Задайте Windows 95" \ title_uk="Встановити версію Windows 95" \ title="Set Windows version to Windows 95" @@ -19031,6 +19563,7 @@ load_win95() #---------------------------------------------------------------- w_metadata win98 settings \ + title_bg="Задайте Windows 98" \ title_uk="Встановити версію Windows 98" \ title="Set Windows version to Windows 98" @@ -19043,6 +19576,7 @@ load_win98() #---------------------------------------------------------------- w_metadata winme settings \ + title_bg="Задайте Windows ME" \ title_uk="Встановити версію Windows ME" \ title="Set Windows version to Windows ME" @@ -19056,6 +19590,7 @@ load_winme() # Really, we should support other values, since winetricks did w_metadata winver= settings \ + title_bg="Задайте Windows 7 (по подразбиране)" \ title_uk="Встановити версію Windows за замовчуванням (Windows 7)" \ title="Set Windows version to default (win7)" @@ -19067,6 +19602,7 @@ load_winver() #---------------------------------------------------------------- w_metadata winxp settings \ + title_bg="Задайте Windows XP" \ title_uk="Встановити версію Windows XP" \ title="Set Windows version to Windows XP" @@ -19077,6 +19613,21 @@ load_winxp() #---- Main Program ---- +# In GUI mode, allow a user to select an arbitrary executable and start it +winetricks_misc_exe() +{ + _W_title="Select the exectuable to run" + _W_filter="*.exe *.msi *.msu" + + case "${WINETRICKS_GUI}" in + *zenity) _W_exe="$("${WINETRICKS_GUI}" --file-selection --file-filter="${_W_filter}" --title="${_W_title}")" ;; + *kdialog) _W_exe="$("${WINETRICKS_GUI}" --getopenfilename "${HOME}" "${_W_filter}")" ;; + *) w_die "winetricks_misc_exe only support zenity/kdialog at this time" ;; + esac + # Using start.exe so that .exe/.msi/.msu will work without extra fuss + "${WINE}" start.exe "$(w_winepath -w "${_W_exe}")" +} + winetricks_stats_save() { # Save opt-in status @@ -19236,6 +19787,8 @@ winetricks_stats_log_command() winetricks_shell() { ( + _W_escape() { printf "'%s'\\n" "$(printf '%s' "$1" | sed -e "s/'/'\\\\''/g")"; } + w_try_cd "${W_DRIVE_C}" export WINE @@ -19247,7 +19800,14 @@ winetricks_shell() for term in gnome-terminal konsole Terminal xterm; do if test "$(command -v ${term} 2>/dev/null)"; then if [ -n "${*}" ]; then - WINEDEBUG=-all ${term} -e "${*}" + # Convert the list of arguments into a single + # string while single quoting each argument. + _W_args="" + for arg in "$@"; do + _W_args="${_W_args}$(_W_escape "${arg}") " + done + + WINEDEBUG=-all ${term} -e "${_W_args}" else WINEDEBUG=-all ${term} fi @@ -19310,6 +19870,7 @@ execute_command() uninstaller) "${WINE}" uninstaller ;; shell) winetricks_shell ;; winecmd) winetricks_shell "${WINE}" "cmd.exe" ;; + wine_misc_exe) winetricks_misc_exe ;; # These have to come before *=disabled to avoid looking like DLLs cfc=disable*) w_call cfc=disabled ;; @@ -19570,4 +20131,3 @@ if ! test "${WINETRICKS_LIB}"; then fi # vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4 -