Compare commits

...

28 Commits

Author SHA1 Message Date
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
751ef7453c deleting the string 'try_remove_file ' in the ABC program installation scripts 2025-06-27 09:21:10 +06: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
b257dbaa7e hotfix abc programs 2025-06-26 17:28:52 +06:00
206e6f5467 updated bash_completion 2025-06-26 13:09:22 +03:00
973ae4c61a fixed debug variables 2025-06-26 13:08:33 +03:00
30cab1f4d1 moved install scripts abc-* to testinstall 2025-06-26 10:35:12 +03:00
6374e30797 added path for test scripts only 2025-06-26 10:34:58 +03:00
a1500e320b abc-akkord-poss: sample used try_get_page and read_page 2025-06-26 10:18:02 +03:00
5af77fee07 added try_get_page and read_page functions 2025-06-26 10:13:20 +03:00
8e96de0626 Merge branch 'minergenon-abc_programs' 2025-06-26 08:50:36 +03:00
a2b12327d4 unpack: added *.rar 2025-06-26 08:38:29 +03:00
b00702c77f moved bash_completion to auto_completion 2025-06-26 08:20:07 +03:00
74d8facc08 Merge branch 'minergenon-auto-completion' 2025-06-26 08:08:42 +03:00
0fa3e567ba added auto-completion of commands for winhelper 2025-06-25 19:45:29 +06:00
8e2a76414b autoinstall: added abc programs 2025-06-25 16:56:28 +06:00
33 changed files with 480 additions and 17 deletions

View File

@ -1,5 +1,8 @@
История изменений:
0.4.6:
* добавлено автодопонение команд для bash (bash_completion)
0.4.5:
* скорректирована проверка синтаксиса скриптов

View File

@ -0,0 +1,42 @@
# Auto-completion for winhelper
_winehelper_completions() {
local cur prev opts
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
opts="--help --version --debug install installed -r -i remove-all --clear-pfx killall remove-prefix backup-prefix restore-prefix"
wine_cmd="winecfg winereg winefile wineconsole winetricks desktop regedit explorer cmd run"
case "${prev}" in
winehelper)
COMPREPLY=( $(compgen -W "${opts} ${wine_cmd}" -- "${cur}") )
return 0
;;
--debug)
COMPREPLY=( $(compgen -W "${wine_cmd}" -- "${cur}") )
return 0
;;
install|-i)
local scripts="$(ls -1 /usr/share/winehelper/autoinstall) $(ls -1 /usr/share/winehelper/manualinstall)"
COMPREPLY=( $(compgen -W "list ${scripts}" -- "${cur}") )
return 0
;;
run|installed)
local installed=$(grep -h "Exec=env" ~/.local/share/winehelper/*.desktop 2>/dev/null | awk -F'/' '{print $NF}' | awk -F'"' '{print $1}')
COMPREPLY=( $(compgen -W "${installed}" -- "${cur}") )
return 0
;;
remove-prefix|backup-prefix)
local prefixes=$(ls -1 ~/.local/share/winehelper/prefixes 2>/dev/null)
COMPREPLY=( $(compgen -W "${prefixes}" -- "${cur}") )
return 0
;;
restore-prefix)
return 0
;;
*)
;;
esac
}
complete -F _winehelper_completions winehelper

BIN
image/abc-dps.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

BIN
image/abc-erp-bim.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
image/abc-pir.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

BIN
image/abc-recomposerwl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

BIN
image/abc.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
image/abc_akkord.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

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

@ -5,6 +5,8 @@
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 #####

View File

@ -0,0 +1,25 @@
#!/usr/bin/env bash
# info_ru: Автоматизация контроля координации организационно-распорядительной деятельности. ПОС Редакция.
########################################################################
export WH_WINE_USE="wine-9.0.14-alt1-amd64"
export WINEPREFIX="abccenter"
export PROG_NAME="АВС АККОРД ПОС"
export PROG_ICON="abc_akkord"
export BASE_PFX="none"
export WH_WINDOWS_VER="10"
export WINEARCH="win64"
# export INSTALL_DLL=""
prepair_wine
# Возможны точки либо нижнее подчеркивание в URL-адресе
try_get_page "https://abccenter.ru/download-ru/"
VERDATE=$(read_page | grep -oP 'akkord_pos_\K\d+[._]\d+[._]\d+[._]\d+_\d+-\d+-\d+')
AUTOINSTALL_EXE="${WH_TMP_DIR}/akkord_pos_${VERDATE}.exe"
if try_download "https://abccenter.ru/wp-content/soft/akkord_pos_${VERDATE}.exe" "${AUTOINSTALL_EXE}" ; then
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
try_remove_file "$AUTOINSTALL_EXE"
WIN_FILE_EXEC="$DRIVE_C/ABC-Soft/AKKORD POS/ABCAKKORD.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
fi

View File

@ -0,0 +1,25 @@
#!/usr/bin/env bash
# info_ru: Автоматизация контроля координации организационно-распорядительной деятельности. Профессиональная Редакция.
########################################################################
export WH_WINE_USE="wine-9.0.14-alt1-amd64"
export WINEPREFIX="abccenter"
export PROG_NAME="АВС АККОРД Профессиональный"
export PROG_ICON="abc_akkord"
export BASE_PFX="none"
export WH_WINDOWS_VER="10"
export WINEARCH="win64"
# export INSTALL_DLL=""
prepair_wine
# Возможны точки либо нижнее подчеркивание в URL-адресе
try_get_page "https://abccenter.ru/download-ru/"
VERDATE=$(read_page | grep -oP 'akkord_pro_\K\d+[._]\d+[._]\d+[._]\d+_\d+-\d+-\d+')
AUTOINSTALL_EXE="${WH_TMP_DIR}/akkord_pro_${VERDATE}.exe"
if try_download "https://abccenter.ru/wp-content/soft/akkord_pro_${VERDATE}.exe" "${AUTOINSTALL_EXE}" ; then
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
try_remove_file "$AUTOINSTALL_EXE"
WIN_FILE_EXEC="$DRIVE_C/ABC-Soft/AKKORD PRO/ABCAKKORD.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
fi

View File

@ -0,0 +1,21 @@
#!/usr/bin/env bash
# info_ru: Комплект плагинов «Сметная система АВС» к BIM-системам.
########################################################################
export WH_WINE_USE="wine-9.0.14-alt1-amd64"
export WINEPREFIX="abccenter"
export PROG_NAME="ABC-BIM-Plugins-RU"
export BASE_PFX="none"
export WH_WINDOWS_VER="10"
export WINEARCH="win64"
# export INSTALL_DLL=""
prepair_wine
# Возможны точки либо нижнее подчеркивание в URL-адресе
try_get_page "https://abccenter.ru/download-ru/"
VERSION=$(read_page | grep -oP 'ABC-BIM-Plugins-RU_\K\d+[._]\d+[._]\d+'| sed -E 's/[._]/./g')
AUTOINSTALL_EXE="${WH_TMP_DIR}/ABC-BIM-Plugins-RU_${VERSION}.exe"
if try_download "https://abccenter.ru/wp-content/soft/ABC-BIM-Plugins-RU_${VERSION}_Setup.exe" "${AUTOINSTALL_EXE}" ; then
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
try_remove_file "$AUTOINSTALL_EXE"
fi

28
testinstall/abc-bim-ru Normal file
View File

@ -0,0 +1,28 @@
#!/usr/bin/env bash
# info_ru: Интеграция сметной системы АВС с BIM-платформами.
########################################################################
export WH_WINE_USE="wine-9.0.14-alt1-amd64"
export WINEPREFIX="abccenter"
PROG_NAME=("BIM-смета АВС-RU" "АВС Рекомпозитор")
export BASE_PFX="none"
export WH_WINDOWS_VER="10"
export WINEARCH="win64"
# export INSTALL_DLL=""
prepair_wine
# Возможны точки либо нижнее подчеркивание в URL-адресе
try_get_page "https://abccenter.ru/download-ru/"
VERDATE=$(read_page | grep -oP 'Setup_ABC-BIM-RU_\K\d+[._]\d+_\d+-\d+-\d+')
VERSION=$(read_page | grep -oP 'Setup_ABC-BIM-RU_\K\d+[._]\d+' | sed -E 's/[._]/./g')
AUTOINSTALL_EXE="${WH_TMP_DIR}/Setup_ABC-BIM-RU_${VERDATE}_trial.exe"
if try_download "https://abccenter.ru/wp-content/soft/Setup_ABC-BIM-RU_${VERDATE}_trial.exe" "${AUTOINSTALL_EXE}" ; then
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
try_remove_file "$AUTOINSTALL_EXE"
WIN_FILE_EXEC="$DRIVE_C/ABC-Soft/ABC-RU/${VERSION}/Abc_win/Exec/Abc.exe"
WIN_FILE_EXEC1="$DRIVE_C/ABC-Soft/ABC RECOMPOSER/abcrecomposerwl.exe"
create_desktop "BIM-смета АВС-RU ${VERSION}" "$WIN_FILE_EXEC" "abc"
create_desktop "АВС Рекомпозитор" "$WIN_FILE_EXEC1" "abc-recomposerwl"
fi

26
testinstall/abc-dps-ru Normal file
View File

@ -0,0 +1,26 @@
#!/usr/bin/env bash
# info_ru: АВС-ЦСП предназначен для автоматизированного составления и выпуска спецификаций материалов и оборудования, а также формирования ведомостей объемов работ (ВОР) путем связывания материальных ресурсов, включаемых в спецификации, с видами работ.
########################################################################
export WH_WINE_USE="wine-9.0.14-alt1-amd64"
export WINEPREFIX="abccenter"
export PROG_NAME="Цифровая спецификация проекта"
export PROG_ICON="abc-dps"
export BASE_PFX="none"
export WH_WINDOWS_VER="10"
export WINEARCH="win64"
# export INSTALL_DLL=""
prepair_wine
# Возможны точки либо нижнее подчеркивание в URL-адресе
try_get_page "https://abccenter.ru/download-ru/"
VERDATE=$(read_page | grep -oP 'Setup_ABC_DPS_RU_\K\d+[._]\d+_\d+-\d+-\d+')
VERSION=$(read_page | grep -oP 'Setup_ABC_DPS_RU_\K\d+[._]\d+'| sed -E 's/[._]/./g')
AUTOINSTALL_EXE="${WH_TMP_DIR}/Setup_ABC_DPS_RU_${VERDATE}.exe"
if try_download "https://abccenter.ru/wp-content/soft/Setup_ABC_DPS_RU_${VERDATE}.exe" "${AUTOINSTALL_EXE}" ; then
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
try_remove_file "$AUTOINSTALL_EXE"
WIN_FILE_EXEC="$DRIVE_C/ABC-Soft/ABC-DPS RU/${VERSION}/ABCSpecificate.exe"
create_desktop "$PROG_NAME RU ${VERSION}" "$WIN_FILE_EXEC" "$PROG_ICON"
fi

24
testinstall/abc-erp-bim Normal file
View File

@ -0,0 +1,24 @@
#!/usr/bin/env bash
# info_ru: Конвертер в формат АВС_ERP_BIM_XML.
########################################################################
export WH_WINE_USE="wine-9.0.14-alt1-amd64"
export WINEPREFIX="abccenter"
export PROG_NAME="Конвертер в формат АВС_ERP_BIM_XML"
export PROG_ICON="abc-erp-bim"
export BASE_PFX="none"
export WH_WINDOWS_VER="10"
export WINEARCH="win64"
# export INSTALL_DLL=""
prepair_wine
AUTOINSTALL_EXE="${WH_TMP_DIR}/abc_erp_bim_converter.exe"
if try_download "https://abccenter.ru/wp-content/soft/abc_erp_bim_converter.exe" "${AUTOINSTALL_EXE}" ; then
mkdir -p "$DRIVE_C/ABC-Soft/abc_erp_bim_converter"
try_copy_file "${AUTOINSTALL_EXE}" "$DRIVE_C/ABC-Soft/abc_erp_bim_converter"
try_remove_file "$AUTOINSTALL_EXE"
WIN_FILE_EXEC="$DRIVE_C/ABC-Soft/abc_erp_bim_converter.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
fi

26
testinstall/abc-pir-ru Normal file
View File

@ -0,0 +1,26 @@
#!/usr/bin/env bash
# info_ru: Программный продукт АВС «ПИР» предназначен для подготовки, расчета и выпуска смет на проектно-изыскательские работы.
########################################################################
export WH_WINE_USE="wine-9.0.14-alt1-amd64"
export WINEPREFIX="abccenter"
export PROG_NAME="АВС-ПИР"
export PROG_ICON="abc-pir"
export BASE_PFX="none"
export WH_WINDOWS_VER="10"
export WINEARCH="win64"
# export INSTALL_DLL=""
prepair_wine
# Возможны точки либо нижнее подчеркивание в URL-адресе
try_get_page "https://abccenter.ru/download-ru/"
VERDATE=$(read_page | grep -oP 'Setup_ABC-PIR-RU_\K\d+[._]\d+_\d+-\d+-\d+')
VERSION=$(read_page | grep -oP 'Setup_ABC-PIR-RU_\K\d+[._]\d+'| sed -E 's/[._]/./g')
AUTOINSTALL_EXE="${WH_TMP_DIR}/Setup_ABC-PIR-RU_${VERDATE}.exe"
if try_download "https://abccenter.ru/wp-content/soft/Setup_ABC-PIR-RU_${VERDATE}.exe" "${AUTOINSTALL_EXE}" ; then
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
try_remove_file "$AUTOINSTALL_EXE"
WIN_FILE_EXEC="$DRIVE_C/ABC-Soft/ABC-PIR/${VERSION}RU/ABC-PIR.exe"
create_desktop "$PROG_NAME ${VERSION}RU" "$WIN_FILE_EXEC" "$PROG_ICON"
fi

View File

@ -0,0 +1,26 @@
#!/usr/bin/env bash
# info_ru: Программный комплекс АВС-Рекомпозитор.
########################################################################
export WH_WINE_USE="wine-9.0.14-alt1-amd64"
export WINEPREFIX="abccenter"
export PROG_NAME="АВС Рекомпозитор"
export PROG_ICON="abc-recomposerwl"
export BASE_PFX="none"
export WH_WINDOWS_VER="10"
export WINEARCH="win64"
# export INSTALL_DLL=""
prepair_wine
# Возможны точки либо нижнее подчеркивание в URL-адресе
try_get_page "https://abccenter.ru/download-ru/"
VERDATE=$(read_page | grep -oP 'abcrecomposer_\K\d+[._]\d+[._]\d+-\d+-\d+')
VERSION=$(read_page | grep -oP 'abcrecomposer_\K\d+[._]\d+' | sed -E 's/[._]/./g')
AUTOINSTALL_EXE="${WH_TMP_DIR}/Setup_ABC-RU_${VERDATE}.exe"
if try_download "https://abccenter.ru/wp-content/soft/abcrecomposer_${VERDATE}.exe" "${AUTOINSTALL_EXE}" ; then
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
try_remove_file "$AUTOINSTALL_EXE"
WIN_FILE_EXEC="$DRIVE_C/ABC-Soft/ABC RECOMPOSER/${VERSION}/abcrecomposerwl.exe"
create_desktop "$PROG_NAME $VERSION" "$WIN_FILE_EXEC" "$PROG_ICON"
fi

26
testinstall/abc-ru Normal file
View File

@ -0,0 +1,26 @@
#!/usr/bin/env bash
# info_ru: Система АВС предназначена для разработки сметной и ресурсной документации всеми участниками инвестиционного процесса: проектными, подрядными организациями и заказчиками строительства.
########################################################################
export WH_WINE_USE="wine-9.0.14-alt1-amd64"
export WINEPREFIX="abccenter"
export PROG_NAME="ABC-RU"
export PROG_ICON="abc"
export BASE_PFX="none"
export WH_WINDOWS_VER="10"
export WINEARCH="win64"
# export INSTALL_DLL=""
prepair_wine
# Возможны точки либо нижнее подчеркивание в URL-адресе
try_get_page "https://abccenter.ru/download-ru/"
VERDATE=$(read_page | grep -oP 'Setup_ABC-RU_\K\d+[._]\d+[._]\d+-\d+-\d+')
VERSION=$(read_page | grep -oP 'Setup_ABC-RU_\K\d+[._]\d+' | sed -E 's/[._]/./g')
AUTOINSTALL_EXE="${WH_TMP_DIR}/Setup_ABC-RU_${VERDATE}.exe"
if try_download "https://abccenter.ru/wp-content/soft/Setup_ABC-RU_${VERDATE}.exe" "${AUTOINSTALL_EXE}" ; then
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
try_remove_file "$AUTOINSTALL_EXE"
WIN_FILE_EXEC="$DRIVE_C/ABC-Soft/ABC-RU/${VERSION}/Abc_win/Exec/Abc.exe"
create_desktop "$PROG_NAME $VERSION" "$WIN_FILE_EXEC" "$PROG_ICON"
fi

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
@ -46,11 +47,11 @@ check_variables () { [[ -z ${!1} ]] && export $1="$2" ;}
if [[ "$1" == "--debug" ]] ; then
check_variables WINEDEBUG "+loaddll,+seh"
export DXVK_LOG_LEVEL="error"
export VKD3D_DEBUG "error"
export WINE_MONO_TRACE "E:System.NotImplementedException"
export VK_LOADER_DEBUG "error"
export VKBASALT_LOG_LEVEL "error"
export DXVK_NVAPI_LOG_LEVEL "error"
export VKD3D_DEBUG="error"
export WINE_MONO_TRACE="E:System.NotImplementedException"
export VK_LOADER_DEBUG="error"
export VKBASALT_LOG_LEVEL="error"
export DXVK_NVAPI_LOG_LEVEL="error"
shift
else
check_variables WINEDEBUG "-all"
@ -83,6 +84,7 @@ WH_IMAGE_PATH="$DATA_PATH/image"
WH_DB_DIR="$DATA_PATH/database"
WH_AUTOINSTALL_DIR="$DATA_PATH/autoinstall"
WH_MANUALINSTALL_DIR="$DATA_PATH/manualinstall"
WH_TESTINSTALL_DIR="$DATA_PATH/testinstall"
WH_WINETRICKS="$DATA_PATH/winetricks_$WINETRICKS_VERSION"
WH_MENU_DIR="$HOME/.local/share/applications/WineHelper"
@ -237,21 +239,55 @@ 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
*.tar.xz) command="tar -Jxhf" ; outarg="-C " ;;
*.tar.gz) command="tar -xhzf" ; outarg="-C " ;;
*.tar.xz) command="tar -Jxhf" ; outarg="-C " ;;
*.tar.gz) command="tar -xhzf" ; outarg="-C " ;;
*.tar.zst) command="tar -I zstd -xhf" ; outarg="-C " ;;
*.tar) command="tar -xhf" ; outarg="-C " ;;
*.zip|*.exe) command="7z x -y" ; outarg="-o" ;;
*.tar) command="tar -xhf" ; outarg="-C " ;;
*.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 | 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 () {
local url_page="$1"
export OUT_PAGE_TMP="${WH_TMP_DIR}/url_page.tmp"
print_info "Чтение страницы: $url_page"
if ! curl -o "$OUT_PAGE_TMP" -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "$url_page" \
|| grep -q "Forbidden" "$OUT_PAGE_TMP"
then
try_remove_file "$OUT_PAGE_TMP"
fatal "Страница сайта $1 не доступна, или превышено количество запросов к странице."
else
fatal "Распаковать файл $1 не удалось!"
return 0
fi
}
read_page () {
if [[ -n $OUT_PAGE_TMP ]] \
&& [[ -f "$OUT_PAGE_TMP" ]]
then
cat "$OUT_PAGE_TMP"
try_remove_file "$OUT_PAGE_TMP"
unset OUT_PAGE_TMP
else
echo "Исользуй try_get_page перед read_page"
fi
}
@ -710,7 +746,7 @@ init_wine_ver () {
fi
else
# use system WINE
if ! command -v "wine" &>/dev/null ; then
if ! rpm -q "wine" 1>/dev/null ; then
fatal "system WINE - not found."
fi
export WINEDIR="/usr"
@ -842,11 +878,11 @@ get_base_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/"
then unpack --skip-xattr "$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
if ! unpack --skip-xattr "$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
@ -1208,6 +1244,11 @@ run_autoinstall () {
elif [[ -f "$WH_MANUALINSTALL_DIR/$INSTALL_SCRIPT_NAME" ]] ; then
INSTALL_SCRIPT="$WH_MANUALINSTALL_DIR/$INSTALL_SCRIPT_NAME"
WH_INSTALL_MODE="manual"
elif [[ -d "$WH_TESTINSTALL_DIR" ]] \
&& [[ -f "$WH_TESTINSTALL_DIR/$INSTALL_SCRIPT_NAME" ]]
then
INSTALL_SCRIPT="$WH_TESTINSTALL_DIR/$INSTALL_SCRIPT_NAME"
WH_INSTALL_MODE="test"
else
INSTALL_SCRIPT="0"
fi
@ -1337,6 +1378,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
@ -1553,6 +1643,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")"