Compare commits

...

8 Commits

18 changed files with 210 additions and 80 deletions

View File

@ -6,13 +6,16 @@ export PROG_ICON="ctmfinance"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v04"
export BASE_PFX="ved_ctm_pfx_x86_v05"
export WINEARCH="win32"
export WH_WINDOWS_VER="7"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8 vcrun2019 dotnet7 dotnetdesktop7 renderer=gdi"
prepair_wine
# фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\CTM\CTMSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_fn.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_fn"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_fn/setup.exe"

View File

@ -6,13 +6,16 @@ export PROG_ICON="ctmjournals"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v04"
export BASE_PFX="ved_ctm_pfx_x86_v05"
export WINEARCH="win32"
export WH_WINDOWS_VER="7"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8 vcrun2019 dotnet7 dotnetdesktop7 renderer=gdi"
prepair_wine
# фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\CTM\CTMSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_jr.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_jr"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_jr/setup.exe"

View File

@ -6,13 +6,16 @@ export PROG_ICON="ctmmonitor"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v04"
export BASE_PFX="ved_ctm_pfx_x86_v05"
export WINEARCH="win32"
export WH_WINDOWS_VER="7"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8 vcrun2019 dotnet7 dotnetdesktop7 renderer=gdi"
prepair_wine
# фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\CTM\CTMSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_me.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_me"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_me/setup.exe"

View File

@ -6,13 +6,16 @@ export PROG_ICON="ctmreport"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v04"
export BASE_PFX="ved_ctm_pfx_x86_v05"
export WINEARCH="win32"
export WH_WINDOWS_VER="7"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8 vcrun2019 dotnet7 dotnetdesktop7 renderer=gdi"
prepair_wine
# фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\CTM\CTMSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_rp.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_rp"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_rp/setup.exe"

View File

@ -6,13 +6,16 @@ export PROG_ICON="ctmservice"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v04"
export BASE_PFX="ved_ctm_pfx_x86_v05"
export WINEARCH="win32"
export WH_WINDOWS_VER="7"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8 vcrun2019 dotnet7 dotnetdesktop7 renderer=gdi"
prepair_wine
# фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\CTM\CTMSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_cs.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_cs"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_cs/setup.exe"

View File

@ -9,6 +9,7 @@ export BASE_PFX="spravkibk_pfx_x86_v03"
export WH_WINDOWS_VER="10"
export WINEARCH="win32"
export INSTALL_DLL="msxml3 msxml6 dotnet35sp1 renderer=gdi"
export WH_USE_EXTRA_FONTS="1"
AUTOINSTALL_EXE="${WH_TMP_DIR}/СПО-Справки-БК-(версия-2.5.5)-от-31.01.2024.zip"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/SpravkiBk"

View File

@ -6,13 +6,16 @@ export PROG_ICON="vedalf"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v04"
export BASE_PFX="ved_ctm_pfx_x86_v05"
export WINEARCH="win32"
export WH_WINDOWS_VER="7"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8 vcrun2019 dotnet7 dotnetdesktop7 renderer=gdi"
prepair_wine
# фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\CTM\CTMSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_al.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_al"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_al/setup.exe"

View File

@ -6,13 +6,16 @@ export PROG_ICON="vedcontrol"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v04"
export BASE_PFX="ved_ctm_pfx_x86_v05"
export WINEARCH="win32"
export WH_WINDOWS_VER="7"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8 vcrun2019 dotnet7 dotnetdesktop7 renderer=gdi"
prepair_wine
# фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\CTM\CTMSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_cl.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_cl"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_cl/setup.exe"

View File

@ -6,13 +6,16 @@ export PROG_ICON="veddcl"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v04"
export BASE_PFX="ved_ctm_pfx_x86_v05"
export WINEARCH="win32"
export WH_WINDOWS_VER="7"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8 vcrun2019 dotnet7 dotnetdesktop7 renderer=gdi"
prepair_wine
# фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\CTM\CTMSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_dl.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_dl"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_dl/setup.exe"

View File

@ -6,13 +6,16 @@ export PROG_ICON="vedinfo"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v04"
export BASE_PFX="ved_ctm_pfx_x86_v05"
export WINEARCH="win32"
export WH_WINDOWS_VER="7"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8 vcrun2019 dotnet7 dotnetdesktop7 renderer=gdi"
prepair_wine
# фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\CTM\CTMSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_vi.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_vi"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_vi/setup.exe"

View File

@ -6,13 +6,16 @@ export PROG_ICON="vedpayments"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v04"
export BASE_PFX="ved_ctm_pfx_x86_v05"
export WINEARCH="win32"
export WH_WINDOWS_VER="7"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8 vcrun2019 dotnet7 dotnetdesktop7 renderer=gdi"
prepair_wine
# фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\CTM\CTMSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_pa.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_pa"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_pa/setup.exe"

View File

@ -6,13 +6,16 @@ export PROG_ICON="vedsts"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v04"
export BASE_PFX="ved_ctm_pfx_x86_v05"
export WINEARCH="win32"
export WH_WINDOWS_VER="7"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8 vcrun2019 dotnet7 dotnetdesktop7 renderer=gdi"
prepair_wine
# фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\CTM\CTMSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_st.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_st"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_st/setup.exe"

View File

@ -16,6 +16,9 @@ EXE_SETUP_NAME="setup_cs.exe"
if [[ -f "$2" ]] && [[ $2 =~ $EXE_SETUP_NAME$ ]] ; then
prepair_wine
# фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\DAO\DAOSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
unpack "$2" "${AUTOINSTALL_UNPACK}"
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\CSERVICE" /auto /hide

View File

@ -16,6 +16,9 @@ EXE_SETUP_NAME="setup_rk.exe"
if [[ -f "$2" ]] && [[ $2 =~ $EXE_SETUP_NAME$ ]] ; then
prepair_wine
# фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\DAO\DAOSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
unpack "$2" "${AUTOINSTALL_UNPACK}"
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\RAtlas" /auto /hide

View File

@ -16,6 +16,9 @@ EXE_SETUP_NAME="setup_ri.exe"
if [[ -f "$2" ]] && [[ $2 =~ $EXE_SETUP_NAME$ ]] ; then
prepair_wine
# фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\DAO\DAOSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
unpack "$2" "${AUTOINSTALL_UNPACK}"
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\RInfo" /auto /hide

View File

@ -16,6 +16,9 @@ EXE_SETUP_NAME="setup_rt.exe"
if [[ -f "$2" ]] && [[ $2 =~ $EXE_SETUP_NAME$ ]] ; then
prepair_wine
# фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\DAO\DAOSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
unpack "$2" "${AUTOINSTALL_UNPACK}"
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\RTariff" /auto /hide

View File

@ -19,6 +19,9 @@ df1a940d2e072a884524f66a16e0f0ef74048bc6a6642b96eb257528a522109f vkd3d-proton-1
##### CPCSP_PROXY #####
3153088ff28d6af415c3504a421e5382554dbb305f38d5a87dd84df90d680421 wine-cpcsp_proxy-0.6.1-alt1.tar.xz
##### FONTS #####
405bfe3b7c7f80034837c05656535053305727ee4bf1d993521b67b71d08ebc6 extra_fonts_v01.tar.xz
##### PREFIX #####
0e86cd9958d1bd1bfac99e23165a091a4ea2fa3e693c551f69aabeed5f681fea defpfx_x86_v01.tar.xz
@ -49,6 +52,10 @@ f4cb2f380ad8887f334c6eb3c272b343ae8de327764945266e9e74f8acbac69f tflex17_pfx_x6
# create with wine_x_tkg_10-0_amd64 (universal user: xuser)
# winetricks vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8
25ccbd6ac4f5e4f0f4c609a016db9251160e3559b56676d97751f870a43fe7ef ved_ctm_pfx_x86_v05.tar.xz
# create with wine_x_tkg_10-0_amd64 (universal user: xuser)
# winetricks vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8 vcrun2019 dotnet7 dotnetdesktop7
7ce0ff53b66bf6f3b1f8d398dddeec476a6ad9b0d0ab25cd303bf242c86c5513 alta_pfx_x86_v01.tar.xz
# create with wine_x_tkg_10-0_amd64 (universal user: xuser)
# winetricks isolate_home msxml6 mdac27 wsh57 jet40 vb6run mdac28 opensymbol msxml4 msxml3 native_oleaut32 eufonts mfc42 andale arial comicsans courier georgia impact times trebuchet verdana webdings corefonts tahoma lucida sourcehansans fakechinese fakejapanese fakekorean unifont cjkfonts

View File

@ -102,6 +102,9 @@ check_variables WH_WINE_USE "wine_x_tkg_10-0_amd64" # or system
check_variables WH_USE_CPCSP_PROXY "0"
check_variables CPCSP_PROXY_VER "0.6.1-alt1"
check_variables WH_USE_EXTRA_FONTS "0"
check_variables EXTRA_FONTS_VER "01"
check_variables STAGING_SHARED_MEMORY "1"
check_variables WINE_LARGE_ADDRESS_AWARE "1"
check_variables WINE_FULLSCREEN_FSR "1"
@ -239,6 +242,12 @@ create_new_dir () {
}
unpack () {
if [[ $1 == "--skip-xattr" ]] ; then
local skip_xattr="1"
shift
else
unset skip_xattr
fi
print_info "Запуск распаковки архива $1"
local command outarg
case $1 in
@ -249,12 +258,14 @@ unpack () {
*.zip|*.exe|*.rar) command="7z x -y -bso0" ; outarg="-o" ;;
esac
create_new_dir "$2"
if $command "$1" ${outarg}"$2" ; then
print_ok "Файл $1 распакован."
return 0
else
fatal "Распаковать файл $1 не удалось!"
if [[ $skip_xattr == "1" ]] \
&& $command "$1" ${outarg}"$2" 2>&1 | grep -v "xattr"
then print_ok "Файл $1 распакован."
elif $command "$1" ${outarg}"$2"
then print_ok "Файл $1 распакован."
else fatal "Распаковать файл $1 не удалось!"
fi
return 0
}
try_get_page () {
@ -283,32 +294,47 @@ read_page () {
fi
}
try_download () {
local DOWNLOAD_FILE_URL="${1// /%20}"
local OUTPUT_FILE="$2"
local OUTPUT_FILE_NAME="$(basename "$OUTPUT_FILE")"
check_file_sum () {
local sha256sum_ext sha256sum_int check_file_path check_file_name
check_file_path="$1"
check_file_name="$(basename "$check_file_path")"
print_info "Скачивание файла $OUTPUT_FILE_NAME..."
sha256sum_ext=$(sha256sum "$check_file_path" | awk '{print $1}')
sha256sum_int="$(grep "$check_file_name" "$DATA_PATH/sha256sum.list" | awk '{print $1}')"
if [[ "$sha256sum_ext" == "$sha256sum_int" ]] ; then
print_ok "Хэш-сумма файла $check_file_name успешно проверена."
return 0
else
try_remove_file "$check_file_path"
fatal "Хэш-сумма файла $check_file_name не совподает!"
fi
}
try_download () {
local download_file_url output_file output_file_name
download_file_url="${1// /%20}"
output_file="$2"
output_file_name="$(basename "$output_file")"
if [[ -f "$output_file" ]] ; then
print_info "Файл найден: $output_file"
[[ $3 == "check256sum" ]] && check_file_sum "$output_file"
return 0
else
print_info "Скачивание файла $output_file_name..."
if curl -f --progress-bar -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" \
-L "$DOWNLOAD_FILE_URL" -o "$OUTPUT_FILE"
-L "$download_file_url" -o "$output_file"
then
print_ok "Скачивание файла $OUTPUT_FILE_NAME прошло успешно."
if [[ "$3" == check256sum ]] ; then
SHA256SUM_EXT=$(sha256sum "$OUTPUT_FILE" | awk '{print $1}')
SHA256SUM_INT="$(grep "$OUTPUT_FILE_NAME" "$DATA_PATH/sha256sum.list" | awk '{print $1}')"
if [[ "$SHA256SUM_EXT" == "$SHA256SUM_INT" ]] ; then
print_ok "Хэш-сумма файла $OUTPUT_FILE_NAME успешно проверена."
print_ok "Скачивание файла $output_file_name прошло успешно."
[[ $3 == "check256sum" ]] && check_file_sum "$output_file"
return 0
else
fatal "Хэш-сумма файла $OUTPUT_FILE_NAME не совподает!"
try_remove_file "$output_file"
fatal "Скачивание файла: $output_file_name завершилось с ошибкой!"
return 1
fi
fi
return 0
else
fatal "Скачивание файла: $OUTPUT_FILE_NAME завершилось с ошибкой!"
return 1
fi
}
try_copy_other_dll_to_pfx_64 () {
@ -670,13 +696,13 @@ init_wine_ver () {
if [[ ! -d "$WINEDIR" ]] ; then
WINE_URL="$CLOUD_URL/$WH_WINE_USE.tar.xz"
local WINE_PACKAGE="$WH_TMP_DIR/${WH_WINE_USE}.tar.xz"
if try_download "$WINE_URL" "$WINE_PACKAGE" check256sum ; then
if unpack "$WINE_PACKAGE" "$WH_DIST_DIR/" ; then
if try_download "$WINE_URL" "$WINE_PACKAGE" check256sum \
&& unpack "$WINE_PACKAGE" "$WH_DIST_DIR/"
then
echo "$WH_WINE_USE" > "$WH_DIST_DIR/$WH_WINE_USE/version"
try_remove_file "$WINE_PACKAGE"
fi
fi
fi
export WINE="${WINEDIR}/bin/wine"
export WINELOADER="${WINEDIR}/bin/wine"
@ -719,15 +745,8 @@ init_wine_ver () {
CPCSP_PROXY_NAME="wine-cpcsp_proxy-$CPCSP_PROXY_VER"
CPCSP_PROXY_URL="$CLOUD_URL/$CPCSP_PROXY_NAME.tar.xz"
if [[ ! -f "$WH_TMP_DIR/$CPCSP_PROXY_NAME" ]] ; then
print_info "Загрузка $CPCSP_PROXY_NAME.tar.xz"
if try_download "$CPCSP_PROXY_URL" "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz" check256sum
then unpack "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz" "$WH_TMP_DIR"
else try_remove_file "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz"
fi
else
try_download "$CPCSP_PROXY_URL" "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz" check256sum
unpack "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz" "$WH_TMP_DIR"
fi
cp -fr "$WH_TMP_DIR/$CPCSP_PROXY_NAME/"i386-* "${WINEDIR}/lib/wine/"
if [[ -d "${WINEDIR}/lib64" ]] ; then
@ -862,23 +881,15 @@ wait_wineserver () {
}
get_base_pfx () {
local FILE_NAME_PFX="$1"
local PFX_URL="$CLOUD_URL/${FILE_NAME_PFX}.tar.xz"
local PFX_TMP="$WH_TMP_DIR/pfx"
create_new_dir "$PFX_TMP"
local pfx_file_name pfx_file_url pfx_tmp_path
pfx_file_name="${1}.tar.xz"
pfx_file_url="$CLOUD_URL/$pfx_file_name"
pfx_tmp_path="$WH_TMP_DIR/pfx"
if [[ ! -f "$PFX_TMP/$FILE_NAME_PFX.tar.xz" ]] ; then
print_info "Загрузка базового префикса: ${FILE_NAME_PFX}"
if try_download "$PFX_URL" "$PFX_TMP/$FILE_NAME_PFX.tar.xz" check256sum
then unpack "$PFX_TMP/$FILE_NAME_PFX.tar.xz" "$WINEPREFIX/"
else try_remove_file "$PFX_TMP/$FILE_NAME_PFX.tar.xz"
fi
else
if ! unpack "$PFX_TMP/$FILE_NAME_PFX.tar.xz" "$WINEPREFIX/" ; then
try_remove_file "${PFX_TMP}/${FILE_NAME_PFX}.tar.xz"
get_base_pfx "$FILE_NAME_PFX"
fi
fi
create_new_dir "$pfx_tmp_path"
print_info "Загрузка архива базового префикса: $pfx_file_name"
try_download "$pfx_file_url" "$pfx_tmp_path/$pfx_file_name" check256sum
unpack --skip-xattr "$pfx_tmp_path/$pfx_file_name" "$WINEPREFIX/"
}
check_prefix_var () {
@ -1062,6 +1073,22 @@ init_wineprefix () {
fi
fi
# Устанавливаем дополнительные шрифты (включая штрих-код)
local fonts_dir="$DRIVE_C/windows/Fonts"
local x_fonts_name="extra_fonts_v${EXTRA_FONTS_VER}"
if [[ $WH_USE_EXTRA_FONTS == "1" ]] \
&& [[ ! -e "$fonts_dir/${x_fonts_name}.installed" ]]
then
local x_fonts_url="$CLOUD_URL/${x_fonts_name}.tar.xz"
local x_fonts_tar="$WH_TMP_DIR/${x_fonts_name}.tar.xz"
print_info "Устанавливаем дополнительные шрифты..."
try_download "$x_fonts_url" "$x_fonts_tar" check256sum
unpack "$x_fonts_tar" "$fonts_dir/"
touch "$fonts_dir/${x_fonts_name}.installed"
fi
echo "# переменные последнего использования префикса:" > "$WINEPREFIX/last.conf"
for var in WH_WINE_USE BASE_PFX WINEARCH WH_WINDOWS_VER WINEESYNC WINEFSYNC \
STAGING_SHARED_MEMORY WINE_LARGE_ADDRESS_AWARE WH_USE_SHADER_CACHE WH_USE_WINE_DXGI \
@ -1370,6 +1397,55 @@ remove_winehelper () {
fi
}
create_base_pfx () {
export WINEPREFIX="$1"
check_prefix_var
local prefix_dir="$WINEPREFIX"
local drive_c_dir="$prefix_dir/drive_c"
local users_dir="$drive_c_dir/users"
local archive_path="$WH_TMP_DIR/pfx/new_${PREFIX_NAME}.tar.xz"
try_copy_dir "$prefix_dir" "${prefix_dir}_bak"
for wtlog in workaround isolate internal winxp win2 win7 win10
do sed -i "/$wtlog/d" "$prefix_dir/winetricks.log"
done
if [[ -d "$users_dir/$USER" ]] \
&& [[ ! -L "$users_dir/$USER" ]]
then
if [[ -L "$users_dir/xuser" ]]
then try_remove_dir "$users_dir/xuser/"
fi
create_new_dir "$users_dir/xuser/"
cp -fr "$users_dir/$USER"/* "$users_dir/xuser/"
fi
try_remove_file "$prefix_dir/.update-timestamp"
try_remove_file "$prefix_dir/.firstboot"
try_remove_file "$prefix_dir/last.conf"
try_remove_dir "$prefix_dir/dosdevices/"
try_remove_dir "$users_dir/$USER"
try_remove_dir "$users_dir/xuser/AppData/Local/Temp/"
try_remove_dir "$drive_c_dir/ProgramData/Package Cache/"
try_remove_dir "$drive_c_dir/windows/temp/"
try_remove_dir "$drive_c_dir/windows/Installer/"
rm -fr "$drive_c_dir/windows/Microsoft.NET"/*/*/SetupCache/
cd "$prefix_dir"
if tar --no-xattrs -c -I 'xz --memlimit=8000MiB -9 -T0' -f "$archive_path" ./* ; then
print_ok "Архив создан по пути: $archive_path"
xdg-open "$(dirname "$archive_path")" &
cd -
else
try_remove_file "$archive_path"
cd -
fatal "Не удалось создать архив."
fi
}
backup_prefix() {
export WINEPREFIX="$1"
check_prefix_var
@ -1577,7 +1653,7 @@ case "$arg1" in
winereg|regedit) prepair_wine ; wine_run "regedit" ;;
winefile|explorer) prepair_wine ; wine_run "winefile" ;;
wineconsole|cmd) prepair_wine ; wine_run "wineconsole" ;;
winetricks) prepair_wine ; "$WINETRICKS" -q "$@" ;;
winetricks) prepair_wine ; "$WH_WINETRICKS" -q "$@" ;;
desktop) create_desktop "$@" ; exit 0 ;;
install|-i) run_autoinstall "$@" ;;
installed) check_installed_programs "$1" ;;
@ -1586,6 +1662,7 @@ case "$arg1" in
restore-prefix) restore_prefix "$@" ;;
remove-all) remove_winehelper "$@" ;;
remove-prefix) remove_prefix "$@" ;;
create-base-pfx) create_base_pfx "$@" ;;
*)
if [[ -f "$arg1" ]] ; then
WIN_FILE_EXEC="$(readlink -f "$arg1")"