Compare commits

...

39 Commits

Author SHA1 Message Date
e649261ff9 refactor simplify desktop parsing 2025-07-08 14:22:57 +06:00
0bb88f6bff updated scripts: all t-flex programs 2025-07-07 20:17:14 +03:00
d238a37860 init_wine_ver: updated for new wine 10.3+ 2025-07-07 20:12:53 +03:00
fc6b2fb67d added WH_XDG_OPEN WH_USE_MESA_GL_OVERRIDE to last.conf 2025-07-07 19:28:12 +03:00
6ab84be100 added wine_wh_tflex_10-9_amd64 2025-07-07 19:25:05 +03:00
341b821442 added WH_USE_MESA_GL_OVERRIDE=1 for t-flex programs 2025-07-07 14:28:25 +03:00
63d24ae584 su_run: 3 attempts are added 2025-07-07 13:44:58 +03:00
f7450529c8 renamed: t-flex-doc17 -> t-flex-docs17 2025-07-07 13:02:23 +03:00
37234c25bf added WINEUSERNAME=xuser for new ALT wine 2025-07-07 12:59:52 +03:00
8601dd600f Oops. Forgot about zsh_completion in changelog. UPD 0.4.9 2025-07-04 09:43:22 +03:00
9df3940ec9 updated changelog to 0.4.8 2025-07-04 09:18:19 +03:00
f1315115c7 unpack: remove file if error 2025-07-04 09:12:40 +03:00
036957c729 Merge branch 'minergenon-daobit_programs_manualinstall_to_autoinstall' 2025-07-04 08:59:58 +03:00
c1791761d1 changes to the settings for installing daobit programs 2025-07-03 14:51:35 +06:00
7dae7c4739 daobit programs manualinstall to autoinstall 2025-07-03 14:46:09 +06:00
ddb644b732 Merge branch 'VanoMJ-zsh_comp' 2025-07-03 11:13:43 +03:00
d38b2ca2fb zsh_completion: init 2025-07-02 19:31:32 +03:00
9ff0414693 bash_completion: fix typo 2025-07-02 17:45:16 +03:00
3d13f3ca33 updated changelog to 0.4.7 2025-07-01 10:41:58 +03:00
5e07495d9b added check sha256sum for saved files 2025-06-30 19:51:39 +03:00
34a60665ea spravki-bk: extra fonts in use 2025-06-30 17:52:49 +03:00
670e9a4596 init_wineprefix: added extra fonts 2025-06-30 17:52:39 +03:00
47747ddca1 update and fixed all ctm-*, ved-* and daobit-* programs 2025-06-30 12:32:16 +03:00
97d302675f added base pfx: ved_ctm_pfx_x86_v05 2025-06-30 11:40:04 +03:00
a1c40fb9f7 fixed manual launch for winetricks 2025-06-29 16:24:35 +03:00
0fc45bc85f added function: create_base_pfx 2025-06-27 16:56:08 +03:00
62497c94c4 unpack: added --skip-xattr for get_base_pfx 2025-06-27 15:30:39 +03:00
f39911b1be Merge branch 'minergenon-commfort' 2025-06-27 13:20:37 +03:00
badc42fe5e Merge branch 'minergenon-rtsim' 2025-06-27 13:20:09 +03:00
ce7da743fe added testinstall path to self_check_script 2025-06-27 13:18:59 +03:00
4274b9d527 unpack: added -bso0 for 7z (silent mode) 2025-06-27 13:17:08 +03:00
3388da66b9 WINE: added 7.16.1-alt1 i586 and amd64 2025-06-27 11:46:43 +03:00
b768b4737f added testinstall:rtsim 2025-06-27 13:44:44 +06:00
1500643f7a added testinstall:commfort-client & commfort-server 2025-06-27 13:40:21 +06:00
29cc5fae23 Merge branch 'minergenon-swman-modus' 2025-06-27 10:31:42 +03:00
4f9da74185 added testinstall:swman-modus 2025-06-27 13:24:20 +06:00
3d91323db2 Merge branch 'minergenon-hotfix_abc_programs' 2025-06-27 10:23:07 +03:00
059d62c4e2 dropped: command -v 2025-06-26 16:58:27 +03:00
9acef3c065 updated changelog to 0.4.6 2025-06-26 15:39:58 +03:00
44 changed files with 573 additions and 200 deletions

View File

@ -1,5 +1,20 @@
История изменений:
0.4.9:
* добавлено автодопонение команд для zsh (zsh_completion)
0.4.8:
* все скрипты для программ daobit-* переведены из ручных установок в автоматические
0.4.7:
* обновлены скрипты установки и префикс для программ ved-* и ctm-*
* обновлены скрипты установки для программ daobit-*
* улучшено отображение шрифтов в ПО: Справки БК
* добавлена проверка хэш-суммы для сохраненных архивов
0.4.6:
* добавлено автодопонение команд для bash (bash_completion)
0.4.5:
* скорректирована проверка синтаксиса скриптов

View File

@ -1,4 +1,4 @@
# Auto-completion for winhelper
# Auto-completion for winehelper
_winehelper_completions() {
local cur prev opts
COMPREPLY=()

View File

@ -0,0 +1,114 @@
#compdef winehelper
# shellcheck disable=SC2034,SC2206
_winehelper() {
local -a opts wine_cmd scripts installed prefixes
opts=(
'--help[Вывести справку]'
'--version[Показать информацию о пакете и его версии]'
'--debug[Режим отладки]'
'install[Запустить скрипт установки программы]'
'installed[Список установленных программ]'
'-r[Запуск программы (отладка)]'
'-i[Запустить скрипт установки программы]'
'remove-all[Удалить WineHelper и все связанные данные]'
'--clear-pfx[Очистить префикс \[имя_префикса\]]'
'killall[Убить все процессы]'
'remove-prefix[Удалить префикс и все связанные данные]'
'backup-prefix[Создать резерную копию префикса]'
'restore-prefix[восстановить префикс из резервной копии "путь/до/whpack"]'
)
wine_cmd=(
winecfg
winereg
winefile
wineconsole
winetricks
desktop
regedit
explorer
cmd
'run[Запуск программы (отладка)]'
)
local context state line
_arguments -C \
'1:command:->cmds' \
'2:subcommand or argument:->args'
case $state in
cmds)
_values 'winehelper options' "${opts[@]}" "${wine_cmd[@]}"
;;
args)
case $words[2] in
--debug)
_values 'wine commands' "${wine_cmd[@]}"
;;
install|-i)
_get_list_for_install
;;
run|installed)
_get_installed_list
;;
remove-prefix|backup-prefix)
_get_prefixes
;;
restore-prefix)
_files
;;
*)
_values 'winehelper options' "${opts[@]}" "${wine_cmd[@]}"
;;
esac
;;
esac
}
_get_prefixes () {
prefixes=( ${(f)"$(ls -1 ~/.local/share/winehelper/prefixes 2>/dev/null)"} )
if ((! ${#prefixes[@]} == 0 )); then
_values 'prefixes' "${prefixes[@]}"
fi
}
_get_list_for_install () {
packages=(${(f)"$(winehelper install list 2>/dev/null |
awk -F ' - ' '
/^[^ ]+ - \("/ {next}
/^[[:space:]]*$/ {next}
/^Информация:/ {next}
/^[^ ]+ - / {
name=$1;
desc=$2;
gsub(/^[[:space:]]+|[[:space:]]+$/, "", name);
gsub(/^[[:space:]]*"?|"?[[:space:]]*$/, "", desc);
if (name && desc) print name ":" desc
}
')"})
packages+=(
scadoffice:"SCAD Office"
t-flex-cad17-applications:"Приложения для T-FLEX CAD 17"
t-flex-cad17-resources:"Обучающие материалы T-FLEX CAD 17"
)
_describe 'packages' packages
}
_get_installed_list () {
installed=(
${(f)"$(grep -h 'Exec=env' ~/.local/share/winehelper/*.desktop 2>/dev/null |
awk -F'/' '{print $NF}' |
awk -F'"' '{print $1}')"}
)
if ((! ${#installed[@]} == 0 )); then
_values 'installed apps' "${installed[@]}"
fi
}
compdef _winehelper winehelper

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,20 +9,22 @@ export BASE_PFX="daobit_pfx_x86_v01"
export WH_WINDOWS_VER="10"
export WINEARCH="win32"
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_cs.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_cs"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_cs/SETUP.EXE"
EXE_SETUP_NAME="setup_cs.exe"
if [[ -f "$2" ]] && [[ $2 =~ $EXE_SETUP_NAME$ ]] ; then
prepair_wine
prepair_wine
if try_download "https://files.daobit.ru/CSERVICE/SFX/setup_cs.exe" "${AUTOINSTALL_EXE}" ; then
unpack "$2" "${AUTOINSTALL_UNPACK}"
# фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\DAO\DAOSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}"
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\CSERVICE" /auto /hide
WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/CSERVICE/CService32.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
try_remove_dir "$AUTOINSTALL_UNPACK"
else
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
winehelper install $1 \"/путь/до/$EXE_SETUP_NAME\""
try_remove_file "$AUTOINSTALL_EXE"
fi

View File

@ -9,20 +9,22 @@ export BASE_PFX="daobit_pfx_x86_v01"
export WH_WINDOWS_VER="10"
export WINEARCH="win32"
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_rk.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_rk"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_rk/setup.exe"
EXE_SETUP_NAME="setup_rk.exe"
if [[ -f "$2" ]] && [[ $2 =~ $EXE_SETUP_NAME$ ]] ; then
prepair_wine
prepair_wine
if try_download "https://files.daobit.ru/RATLAS/SFX/setup_rk.exe" "${AUTOINSTALL_EXE}" ; then
unpack "$2" "${AUTOINSTALL_UNPACK}"
# фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\DAO\DAOSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}"
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\RAtlas" /auto /hide
WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/RAtlas/ratlas.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
try_remove_dir "$AUTOINSTALL_UNPACK"
else
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
winehelper install $1 \"/путь/до/$EXE_SETUP_NAME\""
try_remove_file "$AUTOINSTALL_EXE"
fi

View File

@ -9,20 +9,22 @@ export BASE_PFX="daobit_pfx_x86_v01"
export WH_WINDOWS_VER="10"
export WINEARCH="win32"
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_ri.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_ri"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_ri/setup.exe"
EXE_SETUP_NAME="setup_ri.exe"
if [[ -f "$2" ]] && [[ $2 =~ $EXE_SETUP_NAME$ ]] ; then
prepair_wine
prepair_wine
if try_download "https://files.daobit.ru/RINFO/SFX/setup_ri.exe" "${AUTOINSTALL_EXE}" ; then
unpack "$2" "${AUTOINSTALL_UNPACK}"
# фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\DAO\DAOSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}"
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\RInfo" /auto /hide
WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/RInfo/rinfo.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
try_remove_dir "$AUTOINSTALL_UNPACK"
else
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
winehelper install $1 \"/путь/до/$EXE_SETUP_NAME\""
try_remove_file "$AUTOINSTALL_EXE"
fi

View File

@ -9,20 +9,22 @@ export BASE_PFX="daobit_pfx_x86_v01"
export WH_WINDOWS_VER="10"
export WINEARCH="win32"
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_rt.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_rt"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_rt/setup.exe"
EXE_SETUP_NAME="setup_rt.exe"
if [[ -f "$2" ]] && [[ $2 =~ $EXE_SETUP_NAME$ ]] ; then
prepair_wine
prepair_wine
if try_download "https://files.daobit.ru/RTARIFF/SFX/setup_rt.exe" "${AUTOINSTALL_EXE}" ; then
unpack "$2" "${AUTOINSTALL_UNPACK}"
# фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\DAO\DAOSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}"
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\RTariff" /auto /hide
WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/RTariff/Tariff.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
try_remove_dir "$AUTOINSTALL_UNPACK"
else
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
winehelper install $1 \"/путь/до/$EXE_SETUP_NAME\""
try_remove_file "$AUTOINSTALL_EXE"
fi

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

@ -3,11 +3,12 @@
########################################################################
export PROG_NAME="T-FLEX CAD Учебная Версия 17"
export PROG_ICON="tflexcad"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
export WINEARCH="win64"
export WH_WINDOWS_VER="10"
export WINEPREFIX="tflex17"
export WH_XDG_OPEN="log"
export WH_USE_MESA_GL_OVERRIDE="1"
# используем общий whdb файл для подготовки префикса и сервисов
# prepair_wine используется из файла настроек

View File

@ -3,11 +3,12 @@
########################################################################
export PROG_NAME="T-FLEX CAD 17"
export PROG_ICON="tflexcad"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
export WINEARCH="win64"
export WH_WINDOWS_VER="10"
export WINEPREFIX="tflex17"
export WH_XDG_OPEN="log"
export WH_USE_MESA_GL_OVERRIDE="1"
# используем общий whdb файл для подготовки префикса и сервисов
# prepair_wine используется из файла настроек

View File

@ -2,11 +2,12 @@
# info_ru: Приложения для T-FLEX CAD 17 (T-FLEX Анализ 17, T-FLEX Динамика 17, T-FLEX Зубчатые передачи 17, T-FLEX ЧПУ 17, T-FLEX Раскрой 17, T-FLEX Электротехника 17, T-FLEX VR 17, T-FLEX Печатные платы 17)
########################################################################
export WH_WINDOWS_VER="10"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
export BASE_PFX="tflex17_pfx_x64_v01"
export WINEARCH="win64"
export WINEPREFIX="tflex17"
export WH_XDG_OPEN="log"
export WH_USE_MESA_GL_OVERRIDE="1"
check_prefix_var
if [[ ! -f "$WINEPREFIX/drive_c/Program Files/T-FLEX CAD 17/Program/TFlexCad.exe" ]]

View File

@ -2,11 +2,12 @@
# info_ru: Обучающие материалы, примеры, бесплатные библиотеки для T-FLEX CAD 17 (Учебное пособие 17, Стандартные элементы 17, Элементы уплотнительной техники 17, Станочные приспособления 17, Детали штампов листовой штамповки 17, Детали пресс-форм 17, Примеры 17)
########################################################################
export WH_WINDOWS_VER="10"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
export BASE_PFX="tflex17_pfx_x64_v01"
export WINEARCH="win64"
export WINEPREFIX="tflex17"
export WH_XDG_OPEN="log"
export WH_USE_MESA_GL_OVERRIDE="1"
check_prefix_var
if [[ ! -f "$WINEPREFIX/drive_c/Program Files/T-FLEX CAD 17/Program/TFlexCad.exe" ]]

View File

@ -3,11 +3,12 @@
########################################################################
export PROG_NAME="T-FLEX CAD 2D+ 17"
export PROG_ICON="tflexcad"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
export WINEARCH="win64"
export WH_WINDOWS_VER="10"
export WINEPREFIX="tflex17"
export WH_XDG_OPEN="log"
export WH_USE_MESA_GL_OVERRIDE="1"
# используем общий whdb файл для подготовки префикса и сервисов
# prepair_wine используется из файла настроек

View File

@ -3,11 +3,12 @@
########################################################################
export PROG_NAME="T-FLEX DOCs 17"
export PROG_ICON="tflexdoc"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
export WINEARCH="win64"
export WH_WINDOWS_VER="10"
export WINEPREFIX="tflex17"
export WH_XDG_OPEN="log"
export WH_USE_MESA_GL_OVERRIDE="1"
# используем общий whdb файл для подготовки префикса и сервисов
# prepair_wine используется из файла настроек

View File

@ -3,11 +3,12 @@
########################################################################
export PROG_NAME="T-FLEX Viewer 17"
export PROG_ICON="tflexcad"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
export WINEARCH="win64"
export WH_WINDOWS_VER="10"
export WINEPREFIX="tflex17"
export WH_XDG_OPEN="log"
export WH_USE_MESA_GL_OVERRIDE="1"
# используем общий whdb файл для подготовки префикса и сервисов
# prepair_wine используется из файла настроек

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

@ -2,13 +2,26 @@
# info_ru: Компоненты сервисов поддержки T-FLEX 17
########################################################################
export WH_WINDOWS_VER="10"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
export BASE_PFX="tflex17_pfx_x64_v01"
export WINEARCH="win64"
export WINEPREFIX="tflex17"
export PROG_VERSION=""
export WH_XDG_OPEN="log"
export INSTALL_DLL="corefonts d3dcompiler_47 dotnet48 vcrun2022 ucrtbase2019 msxml6 fontsmooth=rgb baekmuk droid eufonts ipamona liberation lucida opensymbol sourcehansans tahoma takao uff unifont vlgothic wenquanyi wenquanyizenhei"
export WH_USE_MESA_GL_OVERRIDE="1"
# Компоненты поддержки T-FLEX PLM 17 (Linux)
AUTOINSTALL_ZIP_LIN="$WH_TMP_DIR/Prerequisites_T-FLEX_17_Linux.zip"
AUTOINSTALL_DIR_LIN="$WH_TMP_DIR/Prerequisites_T-FLEX_17_Linux"
AUTOINSTALL_REG_LIN="$AUTOINSTALL_DIR_LIN/Components/fake_hasp.reg"
# Компоненты поддержки T-FLEX PLM 17 (Windows)
AUTOINSTALL_ZIP_WIN="$WH_TMP_DIR/T-FLEX 17 Prerequisites.zip"
AUTOINSTALL_DIR_WIN="$WH_TMP_DIR/Компоненты поддержки T-FLEX 17"
AUTOINSTALL_EXE_WIN1="$AUTOINSTALL_DIR_WIN/Access Database Engine 2007/AccessDatabaseEngine.exe"
AUTOINSTALL_EXE_WIN_MSI="$AUTOINSTALL_DIR_WIN/Access Database Engine 2007"
AUTOINSTALL_EXE_WIN2="$AUTOINSTALL_DIR_WIN/TSC2/Setup_TSC2.msi"
prepair_wine
@ -28,41 +41,29 @@ else
|| ! systemctl list-units --type service --state running | grep hasplmd
then
# Компоненты поддержки T-FLEX PLM 17 (Linux)
AUTOINSTALL_ZIP_LIN="${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux.zip"
AUTOINSTALL_DIR_LIN="${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux"
AUTOINSTALL_EXE_LIN1="${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/fake_hasp.reg"
if try_download "https://www.tflex.ru/downloads/Prerequisites_T-FLEX_17_Linux.zip" "${AUTOINSTALL_ZIP_LIN}" ; then
unpack "${AUTOINSTALL_ZIP_LIN}" "${AUTOINSTALL_DIR_LIN}"
try_remove_file "$AUTOINSTALL_ZIP_LIN"
"$WINELOADER" regedit "${AUTOINSTALL_EXE_LIN1}"
unpack "$AUTOINSTALL_ZIP_LIN" "$AUTOINSTALL_DIR_LIN"
"$WINELOADER" regedit "$AUTOINSTALL_REG_LIN"
fi
if [[ "$BASE_PFX" == "none" ]] ; then
# Компоненты поддержки T-FLEX PLM 17 (Windows)
AUTOINSTALL_ZIP_WIN="${WH_TMP_DIR}/T-FLEX 17 Prerequisites.zip"
AUTOINSTALL_DIRWIN="${WH_TMP_DIR}"
AUTOINSTALL_EXE_WIN1="${WH_TMP_DIR}/Компоненты поддержки T-FLEX 17/Access Database Engine 2007/AccessDatabaseEngine.exe"
AUTOINSTALL_EXE_WIN_MSY="${WH_TMP_DIR}/Компоненты поддержки T-FLEX 17/Access Database Engine 2007"
AUTOINSTALL_EXE_WIN2="${WH_TMP_DIR}/Компоненты поддержки T-FLEX 17/TSC2/Setup_TSC2.msi"
if try_download "https://www.tflex.ru/downloads/T-FLEX%2017%20Prerequisites.zip" "${AUTOINSTALL_ZIP_WIN}" ; then
unpack "${AUTOINSTALL_ZIP_WIN}" "${AUTOINSTALL_DIRWIN}"
try_remove_file "$AUTOINSTALL_ZIP_WIN"
unpack "$AUTOINSTALL_ZIP_WIN" "$WH_TMP_DIR"
unpack "$AUTOINSTALL_EXE_WIN1" "$AUTOINSTALL_EXE_WIN_MSI"
unpack "${AUTOINSTALL_EXE_WIN1}" "${AUTOINSTALL_EXE_WIN_MSY}"
try_remove_file "$AUTOINSTALL_EXE_WIN1"
wine_run_install "${AUTOINSTALL_EXE_WIN_MSY}/AceRedist.msi" /q
wine_run_install "${AUTOINSTALL_EXE_WIN2}" /q
wine_run_install "$AUTOINSTALL_EXE_WIN_MSI/AceRedist.msi" /q
wine_run_install "$AUTOINSTALL_EXE_WIN2" /q
fi
rm -fR "$DRIVE_C/Program Files/Common Files/System"
rm -fR "$DRIVE_C/Program Files (x86)/Common Files/System"
cp -r "${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/Program Files/Common Files/System" "$DRIVE_C/Program Files/Common Files"
cp -r "${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/Program Files (x86)/Common Files/System" "$DRIVE_C/Program Files (x86)/Common Files"
mv -f "${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/Windows/System32/"*.dll "$DRIVE_C/windows/system32"
cp -r "$WH_TMP_DIR/Prerequisites_T-FLEX_17_Linux/Components/Program Files/Common Files/System" "$DRIVE_C/Program Files/Common Files"
cp -r "$WH_TMP_DIR/Prerequisites_T-FLEX_17_Linux/Components/Program Files (x86)/Common Files/System" "$DRIVE_C/Program Files (x86)/Common Files"
mv -f "$WH_TMP_DIR/Prerequisites_T-FLEX_17_Linux/Components/Windows/System32/"*.dll "$DRIVE_C/windows/system32"
"$WINELOADER" regedit "${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/ado-32.reg"
"$WINELOADER"64 regedit "${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/ado-64.reg"
"$WINELOADER" regedit "${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/tflex.reg"
"$WINELOADER" regedit "$WH_TMP_DIR/Prerequisites_T-FLEX_17_Linux/Components/ado-32.reg"
"$WINELOADER"64 regedit "$WH_TMP_DIR/Prerequisites_T-FLEX_17_Linux/Components/ado-64.reg"
"$WINELOADER" regedit "$WH_TMP_DIR/Prerequisites_T-FLEX_17_Linux/Components/tflex.reg"
fi
if systemctl list-units --type service --state running | grep aksusbd \
@ -71,23 +72,27 @@ else
print_info "Службы aksusbd и hasplmd уже запущены. Пропускаем..."
else
echo "#!/usr/bin/env bash
cd \"${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/HASP_Linux/aksusbd/\"
cd \"$WH_TMP_DIR/Prerequisites_T-FLEX_17_Linux/HASP_Linux/aksusbd/\"
bash ./dinst
mv -f \"${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/HASP_Linux/\"*.so /var/hasplm/
systemctl restart hasplmd.service" > "${WH_TMP_DIR}/tflex17_aksusbd.sh"
chmod +x ${WH_TMP_DIR}/tflex17_aksusbd.sh
mv -f \"$WH_TMP_DIR/Prerequisites_T-FLEX_17_Linux/HASP_Linux/\"*.so /var/hasplm/
systemctl restart hasplmd.service" > "$WH_TMP_DIR/tflex17_aksusbd.sh"
chmod +x $WH_TMP_DIR/tflex17_aksusbd.sh
unset TFLEX_ERROR
su_run "${WH_TMP_DIR}/tflex17_aksusbd.sh" || TFLEX_ERROR=1
try_remove_file "${WH_TMP_DIR}/tflex17_aksusbd.sh"
print_info "Будут установлены и запущены службы aksusbd и hasplmd."
su_run "$WH_TMP_DIR/tflex17_aksusbd.sh" || TFLEX_ERROR=1
try_remove_file "$WH_TMP_DIR/tflex17_aksusbd.sh"
fi
try_remove_dir "$AUTOINSTALL_DIR_LIN"
try_remove_dir "${WH_TMP_DIR}/Компоненты поддержки T-FLEX 17/"
fi
try_remove_dir "$AUTOINSTALL_DIR_LIN"
try_remove_dir "$AUTOINSTALL_DIR_WIN"
if [[ $TFLEX_ERROR == "1" ]] ; then
fatal "Произошла ошибка во время подготовки префикса, или установки компонентов ПО."
else
echo "t-flex-cad17-prepair" >> "$WINEPREFIX/winetricks.log"
try_remove_file "$AUTOINSTALL_ZIP_LIN"
try_remove_file "$AUTOINSTALL_ZIP_WIN"
print_info "Подготовка префикса и установка компонентов завершены."
fi
fi

BIN
image/animator.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
image/commfort-client.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

BIN
image/commfort-server.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
image/ol.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
image/resmanagdb.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

BIN
image/rtsim.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

BIN
image/sdedit.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

BIN
image/sexplore.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

BIN
image/simswitch.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
image/swimitator.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@ -3,11 +3,12 @@
########################################################################
export PROG_NAME="T-FLEX CAD 17"
export PROG_ICON="tflexcad"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
export WINEARCH="win64"
export WH_WINDOWS_VER="10"
export WINEPREFIX="tflex17"
export WH_XDG_OPEN="log"
export WH_USE_MESA_GL_OVERRIDE="1"
if [[ -f "$2" ]] ; then
# используем общий whdb файл для подготовки префикса и сервисов

View File

@ -1,10 +1,13 @@
##### WINE #####
009c95bfe2df3f9264c9c5092f3e30ea7a168dd7869046058a718a70739602d4 wine_wh_tflex_10-9_amd64.tar.xz
3571c40a787f0386e0160b5d471b1bf11fa2a235b497156cd38198b90bcb4a9f wine_x_tkg_10-0_i586.tar.xz
71d6fdfd23d7988471d345c68e81699b8af931352b03dd216424b398f63c7b12 wine_x_tkg_10-0_amd64.tar.xz
fb7fdfde96de10a1b3b051bdf2727b6a7c1768b878483726454dd6726e9e0193 wine-9.0.14-alt1-i586-spravkibk.tar.xz
e0a84bb4908c3927954d7eef6b8ac7212e442b8c107d000c6890fec340f96183 wine-9.0.14-alt1-amd64.tar.xz
6f86d2220b65b709bf88c6f829a4998de3b929cc2091cd1333a51c32e1491b79 wine-9.0.9-alt1-i586.tar.xz
61bec1230b37b8fcc69fd45f848b44fd88cc41fcdd5dc3080336d7da63660f40 wine-7.16.1-alt1-amd64.tar.xz
6fea17fd131f57c2ebf7ca4c60d3c5a9e819afe16e5d0b77ecb750da99ae0e38 wine-7.16.1-alt1-i586.tar.xz
##### DXVK #####
@ -17,6 +20,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
@ -47,6 +53,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

@ -0,0 +1,20 @@
#!/usr/bin/env bash
# info_ru: Локальный корпоративный чат/мессенджер с поддержкой видеоконференций.
########################################################################
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="commfort"
export PROG_NAME="CommFort"
export PROG_ICON="commfort-client"
export WH_WINDOWS_VER="10"
export WINEARCH="win32"
AUTOINSTALL_MSI="${WH_TMP_DIR}/commfort_client.msi"
prepair_wine
if try_download "https://www.commfort.com/download/commfort_client.msi" "${AUTOINSTALL_MSI}" ; then
wine_run_install "${AUTOINSTALL_MSI}" /q
try_remove_file "$AUTOINSTALL_MSI"
WIN_FILE_EXEC="$DRIVE_C/Program Files/CommFort/CommFort.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
fi

View File

@ -0,0 +1,24 @@
#!/usr/bin/env bash
# info_ru: (Сервер) Локальный корпоративный чат/мессенджер с поддержкой видеоконференций.
########################################################################
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="commfort"
export PROG_NAME="CommFort server"
export PROG_ICON="commfort-server"
export WH_WINDOWS_VER="10"
export WINEARCH="win32"
PACKZIP="${WH_TMP_DIR}/commfort_server.zip"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/commfort_server"
AUTOINSTALL_EXE="${WH_TMP_DIR}/commfort_server/commfort_server_599.exe"
prepair_wine
if try_download "https://www.commfort.com/download/commfort_server.zip" "${PACKZIP}" ; then
unpack "${PACKZIP}" "$AUTOINSTALL_UNPACK"
wine_run_install "$AUTOINSTALL_EXE" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
try_remove_file "$PACKZIP"
try_remove_dir "$AUTOINSTALL_UNPACK"
WIN_FILE_EXEC="$DRIVE_C/Program Files/CommFort_server/CommFort_server.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
fi

25
testinstall/rtsim Normal file
View File

@ -0,0 +1,25 @@
#!/usr/bin/env bash
# info_ru: Цифровая платформа для обучения и оценки специалистов нефтегазовой отрасли.
########################################################################
export WH_WINE_USE="wine_x_tkg_10-0_i586"
export PROG_NAME="РТСИМ.Карьера"
export WINEPREFIX="rtsim"
export PROG_ICON="rtsim"
export WH_WINDOWS_VER="10"
export BASE_PFX="none"
export WINEARCH="win32"
export INSTALL_DLL="dotnet48"
AUTOINSTALL_RAR="${WH_TMP_DIR}/РТСИМ.Карьера.rar"
AUTOINSTALL_MSI="${WH_TMP_DIR}/РТСИМ.Карьера/РТСИМ.Карьера.msi"
prepair_wine
if try_download "https://rtsim.ru/РТСИМ.Карьера.rar" "$AUTOINSTALL_RAR" ; then
unpack "${AUTOINSTALL_RAR}" "${WH_TMP_DIR}"
wine_run_install "$AUTOINSTALL_MSI" /q
try_remove_file "$AUTOINSTALL_RAR"
try_remove_dir "${WH_TMP_DIR}/РТСИМ.Карьера"
WIN_FILE_EXEC="$DRIVE_C/РТСИМ/Карьера/RTsimTrenager.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
fi

29
testinstall/swman-modus Normal file
View File

@ -0,0 +1,29 @@
#!/usr/bin/env bash
# info_ru: Программный комплекс для энергетики.
########################################################################
export WH_WINE_USE="wine-9.0.14-alt1-amd64"
export WINEPREFIX="swmanmodus"
export BASE_PFX="none"
export WH_WINDOWS_VER="10"
export WINEARCH="win64"
# export INSTALL_DLL=""
prepair_wine
# Ссылка для загрузки дистрибутива меняется в зависимости от версии
AUTOINSTALL_EXE="${WH_TMP_DIR}/modus710.msi"
DRIVE_C_MODUS="$DRIVE_C/Program Files (x86)/Modus 7.10/bin"
if try_download "https://www.swman.ru/download/710/modus710.msi" "${AUTOINSTALL_EXE}" ; then
wine_run_install "${AUTOINSTALL_EXE}" /q
try_remove_file "$AUTOINSTALL_EXE"
declare -a PROG_NAME=("Аниматор" "Диспетчер" "Графический Редактор" "Имитатор АРМ" "Просмотрщик" "Просмот Результатов" "Тренажер")
declare -a PROG_ICON=("animator" "ol" "sdedit" "swimitator" "sexplore" "resmanagdb" "simswitch")
declare -a WIN_FILE_EXEC=("${DRIVE_C_MODUS}/Animator.exe" "${DRIVE_C_MODUS}/OL.exe" "${DRIVE_C_MODUS}/Sdedit32.exe" "${DRIVE_C_MODUS}/SwImitator.exe" "${DRIVE_C_MODUS}/SExplore.exe" "${DRIVE_C_MODUS}/ResManagDB.exe" "${DRIVE_C_MODUS}/SimSwitch.exe")
for i in "${!PROG_NAME[@]}"; do
create_desktop "${PROG_NAME[i]}" "${WIN_FILE_EXEC[i]}" "${PROG_ICON[i]}"
done
fi

View File

@ -22,7 +22,8 @@ else
# минимальная проверка синтаксиса скриптов
for self_check_script in "$RUN_SCRIPT" \
"$DATA_PATH/dependencies.sh" "$DATA_PATH/autoinstall"/* \
"$DATA_PATH/manualinstall"/* "$DATA_PATH/database"/*
"$DATA_PATH/manualinstall"/* "$DATA_PATH/testinstall"/* \
"$DATA_PATH/database"/*
do /usr/bin/env bash -n "$self_check_script" || exit 1
done
fi
@ -95,12 +96,16 @@ WH_MENU_CONFIG="$HOME/.config/menus/applications-merged/WineHelper.menu"
check_variables WINEESYNC "0"
check_variables WINEFSYNC "0"
check_variables WINEUSERNAME "xuser"
check_variables WINEARCH "win64" # or "win32"
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"
@ -137,8 +142,13 @@ fi
##### ROOT #####
su_run () {
print_info "Для продолжения установки введите root пароль..."
su - -c "$@"
local i="1"
while [[ $i -le "3" ]] ; do
print_info "Для продолжения установки введите root пароль (попытка $i из 3)..."
su - -c "$@" && return 0
((i++))
done
return 1
}
##### CHECK DEPENDENCIES #####
@ -238,6 +248,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
@ -245,15 +261,19 @@ unpack () {
*.tar.gz) command="tar -xhzf" ; outarg="-C " ;;
*.tar.zst) command="tar -I zstd -xhf" ; outarg="-C " ;;
*.tar) command="tar -xhf" ; outarg="-C " ;;
*.zip|*.exe|*.rar) command="7z x -y" ; outarg="-o" ;;
*.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
if [[ $skip_xattr == "1" ]] \
&& $command "$1" ${outarg}"$2" 2>&1 | sed "/xattr/d"
then print_ok "Файл $1 распакован."
elif $command "$1" ${outarg}"$2"
then print_ok "Файл $1 распакован."
else
try_remove_file "$1"
fatal "Распаковать файл $1 не удалось!"
fi
return 0
}
try_get_page () {
@ -282,31 +302,46 @@ 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..."
if curl -f --progress-bar -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" \
-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 успешно проверена."
return 0
else
fatal "Хэш-сумма файла $OUTPUT_FILE_NAME не совподает!"
return 1
fi
fi
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
fatal "Скачивание файла: $OUTPUT_FILE_NAME завершилось с ошибкой!"
return 1
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"
then
print_ok "Скачивание файла $output_file_name прошло успешно."
[[ $3 == "check256sum" ]] && check_file_sum "$output_file"
return 0
else
try_remove_file "$output_file"
fatal "Скачивание файла: $output_file_name завершилось с ошибкой!"
return 1
fi
fi
}
@ -329,9 +364,9 @@ try_copy_other_dll_to_pfx_32() {
try_copy_wine_dll_to_pfx_64 () {
if [[ "$WINEARCH" == "win64" ]] ; then
if [[ -d "${WINEDIR}/lib64/wine/x86_64-windows" ]]
then WINE_BUILD_DLL_64="${WINEDIR}/lib64/wine/x86_64-windows"
else WINE_BUILD_DLL_64="${WINEDIR}/lib64/wine"
if [[ -d "$WINEDIR/lib64/wine/x86_64-windows" ]]
then WINE_BUILD_DLL_64="$WINEDIR/lib64/wine/x86_64-windows"
else WINE_BUILD_DLL_64="$WINEDIR/lib64/wine"
fi
cmp -s "$WINE_BUILD_DLL_64/$1" "${WINEPREFIX}/drive_c/windows/system32/$(basename $1)" && return 0
try_copy_file "$WINE_BUILD_DLL_64/$1" "${WINEPREFIX}/drive_c/windows/system32/" && return 0 || return 1
@ -339,9 +374,9 @@ try_copy_wine_dll_to_pfx_64 () {
}
try_copy_wine_dll_to_pfx_32() {
if [[ -d "${WINEDIR}/lib/wine/i386-windows" ]]
then WINE_BUILD_DLL_32="${WINEDIR}/lib/wine/i386-windows"
else WINE_BUILD_DLL_32="${WINEDIR}/lib/wine"
if [[ -d "$WINEDIR/lib/wine/i386-windows" ]]
then WINE_BUILD_DLL_32="$WINEDIR/lib/wine/i386-windows"
else WINE_BUILD_DLL_32="$WINEDIR/lib/wine"
fi
if [[ "$WINEARCH" == "win64" ]] ; then
cmp -s "$WINE_BUILD_DLL_32/$1" "${WINEPREFIX}/drive_c/windows/syswow64/$1" && return 0
@ -667,77 +702,66 @@ init_wine_ver () {
export WINEDIR="$WH_DIST_DIR/$WH_WINE_USE"
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
echo "$WH_WINE_USE" > "$WH_DIST_DIR/$WH_WINE_USE/version"
try_remove_file "$WINE_PACKAGE"
fi
fi
local wine_package="$WH_TMP_DIR/$WH_WINE_USE.tar.xz"
try_download "$CLOUD_URL/$WH_WINE_USE.tar.xz" "$wine_package" check256sum
unpack "$wine_package" "$WH_DIST_DIR/"
try_remove_file "$wine_package"
fi
export WINE="${WINEDIR}/bin/wine"
export WINELOADER="${WINEDIR}/bin/wine"
export WINESERVER="${WINEDIR}/bin/wineserver"
[[ ! -f "$WINEDIR/version" ]] && echo "$WH_WINE_USE" > "$WINEDIR/version"
export WINE="$WINEDIR/bin/wine"
export WINELOADER="$WINEDIR/bin/wine"
export WINESERVER="$WINEDIR/bin/wineserver"
if [[ -n "${PATH}" ]]
then export PATH="${WINEDIR}/bin:${PATH}"
else export PATH="${WINEDIR}/bin"
then export PATH="$WINEDIR/bin:${PATH}"
else export PATH="$WINEDIR/bin"
fi
if [[ -n "${LD_LIBRARY_PATH}" ]]
then export LD_LIBRARY_PATH="${WINEDIR}/lib:${LD_LIBRARY_PATH}"
else export LD_LIBRARY_PATH="${WINEDIR}/lib"
var_ld_library_path_update "$WINEDIR/lib"
export WINEDLLPATH="$WINEDIR/lib/wine"
if [[ ! -d "$WINEDIR/lib64/wine" ]] \
&& [[ -d "$WINEDIR/lib/wine/x86_64-unix" ]]
then
create_new_dir "$WINEDIR/lib64/"
try_force_link_dir "$WINEDIR/lib/wine/" "$WINEDIR/lib64/"
fi
export WINEDLLPATH="${WINEDIR}/lib/wine"
if [[ -d "${WINEDIR}/lib/gstreamer-1.0" ]] ; then
export GST_PLUGIN_SYSTEM_PATH_1_0="${WINEDIR}/lib/gstreamer-1.0"
if [[ -d "$WINEDIR/lib64" ]] \
&& [[ ! -L "$WINEDIR/lib64/wine" ]]
then
var_ld_library_path_update "$WINEDIR/lib64"
export WINEDLLPATH+=":$WINEDIR/lib64/wine"
fi
[[ ! -f "${WINEDIR}/version" ]] && echo "${WH_WINE_USE}" > "${WINEDIR}/version"
if [[ ! -d "${WINEDIR}/lib64/wine" ]] && [[ -d "${WINEDIR}/lib/wine/x86_64-unix" ]] ; then
create_new_dir "${WINEDIR}/lib64/"
try_force_link_dir "${WINEDIR}/lib/wine/" "${WINEDIR}/lib64/"
fi
if [[ -d "${WINEDIR}/lib64" ]] ; then
export LD_LIBRARY_PATH+=":${WINEDIR}/lib64"
export WINEDLLPATH+=":${WINEDIR}/lib64/wine"
if [[ -d "${WINEDIR}/lib64/gstreamer-1.0" ]] ; then
export GST_PLUGIN_SYSTEM_PATH_1_0+=":${WINEDIR}/lib64/gstreamer-1.0"
if [[ -d "$WINEDIR/lib/gstreamer-1.0" ]] ; then
export GST_PLUGIN_SYSTEM_PATH_1_0="$WINEDIR/lib/gstreamer-1.0"
if [[ -d "$WINEDIR/lib64/gstreamer-1.0" ]] ; then
export GST_PLUGIN_SYSTEM_PATH_1_0+=":$WINEDIR/lib64/gstreamer-1.0"
fi
fi
if [[ $WH_USE_CPCSP_PROXY == "1" ]] \
&& ! grep -q "$CPCSP_PROXY_VER" "${WINEDIR}/cpcsp_proxy.ver"
&& ! grep -q "$CPCSP_PROXY_VER" "$WINEDIR/cpcsp_proxy.ver"
then
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
unpack "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz" "$WH_TMP_DIR"
fi
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"
cp -fr "$WH_TMP_DIR/$CPCSP_PROXY_NAME/"i386-* "${WINEDIR}/lib/wine/"
if [[ -d "${WINEDIR}/lib64" ]] ; then
cp -fr "$WH_TMP_DIR/$CPCSP_PROXY_NAME/"x86_64-* "${WINEDIR}/lib64/wine/"
cp -fr "$WH_TMP_DIR/$CPCSP_PROXY_NAME/"i386-* "$WINEDIR/lib/wine/"
if [[ -d "$WINEDIR/lib64" ]] ; then
cp -fr "$WH_TMP_DIR/$CPCSP_PROXY_NAME/"x86_64-* "$WINEDIR/lib64/wine/"
fi
try_remove_dir "$WH_TMP_DIR/$CPCSP_PROXY_NAME"
echo "$CPCSP_PROXY_VER" > "${WINEDIR}/cpcsp_proxy.ver"
echo "$CPCSP_PROXY_VER" > "$WINEDIR/cpcsp_proxy.ver"
fi
else
# use system WINE
if ! command -v "wine" &>/dev/null ; then
if [[ ! -f "/usr/bin/wine" ]] ; then
fatal "system WINE - not found."
fi
export WINEDIR="/usr"
@ -861,23 +885,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 () {
@ -973,12 +989,14 @@ init_wineprefix () {
try_remove_file "$DRIVE_C/windows/system32/winemenubuilder.exe"
if [[ $WH_USE_MESA_GL_OVERRIDE == "1" ]] \
&& ! lspci | grep -i nvidia > /dev/null ; then
export MESA_GL_VERSION_OVERRIDE="3.3"
export MESA_GLSL_VERSION_OVERRIDE="330"
fi
# хак для XRDP сессии
if [[ $DISPLAY == *:10.0 ]] ; then
if ! lspci | grep -i nvidia > /dev/null ; then
export MESA_GL_VERSION_OVERRIDE="3.3"
export MESA_GLSL_VERSION_OVERRIDE="330"
fi
print_warning "Обнаружена сессия XRDP, настраиваем реестр:"
get_and_set_reg_file --add 'Software\Wine\X11 Driver' 'UseXRandR' 'REG_SZ' "N" "user"
get_and_set_reg_file --add 'Software\Wine\X11 Driver' 'UseXVidMode' 'REG_SZ' "N" "user"
@ -1061,10 +1079,26 @@ 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 \
WINE_CPU_TOPOLOGY USE_RENDERER DXVK_VER VKD3D_VER
WINE_CPU_TOPOLOGY USE_RENDERER DXVK_VER VKD3D_VER WH_XDG_OPEN WH_USE_MESA_GL_OVERRIDE
do
echo "export $var=\"${!var}\"" >> "$WINEPREFIX/last.conf"
done
@ -1369,6 +1403,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
@ -1499,10 +1582,7 @@ restore_prefix() {
print_info "Восстановление ярлыков для префикса $prefix_name..."
export RESTORE_FROM_BACKUP="1" # Устанавливаем флаг восстановления
while IFS='=' read -r line; do
local name_desktop=$(echo "$line" | cut -d'=' -f1)
local exe_path=$(echo "$line" | cut -d'=' -f2)
local icon_name=$(echo "$line" | cut -d'=' -f3)
while IFS='=' read -r name_desktop exe_path icon_name ; do
local full_exe_path="$WH_PREFIXES_DIR/$prefix_name${exe_path}"
local full_icon_path="$WH_PREFIXES_DIR/$prefix_name/icons/$icon_name"
@ -1576,7 +1656,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" ;;
@ -1585,6 +1665,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")"