Compare commits

...

11 Commits

Author SHA1 Message Date
Mikhail Tergoev
1061f16349 updated scada 2025-03-28 16:25:47 +03:00
Mikhail Tergoev
220fff4a4f info for AI: recommended not to change the path 2025-03-28 16:25:25 +03:00
Mikhail Tergoev
c39fadd0dc added kill_autostart 2025-03-28 15:23:16 +03:00
Mikhail Tergoev
f8e182ad3a added auto search for executable file 2025-03-28 15:22:26 +03:00
Mikhail Tergoev
48623270d8 updated AI: skada 2025-03-27 19:00:44 +03:00
Mikhail Tergoev
9b413af250 added wine_x_tkg_10-0_i586 and scada pfx 2025-03-27 18:58:39 +03:00
Mikhail Tergoev
78921cb4f5 Merge branch 'minergenon-alta-expert' 2025-03-26 18:50:53 +03:00
Mikhail Tergoev
f925d1c942 added scada-krug-2000 (without BASE_PFX) 2025-03-26 18:48:51 +03:00
Mikhail Tergoev
ec08aa36db updated vulkan functions 2025-03-26 18:26:29 +03:00
Mikhail Tergoev
90f334816c updated sha256sum list 2025-03-26 18:25:58 +03:00
Sergey Palcheh
0313f77c61 added alta-expert 2025-03-24 21:17:15 +06:00
5 changed files with 122 additions and 19 deletions

30
autoinstall/alta-expert Normal file

@ -0,0 +1,30 @@
#!/usr/bin/env bash
# info_ru: Пакет программ для таможенного оформления. Включает программы Такса и ТамДок в комплектациях Эксперт, а также программу Заполнитель.
########################################################################
export WH_AUTOINSTALL="1"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="alta"
export PROG_NAME="Альта-Эксперт"
export BASE_PFX="alta_pfx_x86_v01"
export WH_WINDOWS_VER="10"
export WINEARCH="win32"
export INSTALL_DLL="corefonts eufonts lucida opensymbol tahoma cjkfonts vb6run mdac28 msxml3 msxml4 msxml6 mfc42 jet40 native_oleaut32"
ALTA_VERSION="230325"
AUTOINSTALL_EXE="${WH_TMP_DIR}/expert${ALTA_VERSION}.zip"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/expert${ALTA_VERSION}"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/expert${ALTA_VERSION}/setup.exe"
prepair_wine
if try_download "https://www1.alta.ru/pub/packets/distr/expert${ALTA_VERSION}.zip" "${AUTOINSTALL_EXE}" ; then
7z x -y "${AUTOINSTALL_EXE}" -o"${AUTOINSTALL_UNPACK}"
try_remove_file "$AUTOINSTALL_EXE"
wine_run_install "${AUTOINSTALL_SETUP}" /S /OVERWRITE
try_remove_dir "$AUTOINSTALL_UNPACK"
ALTA_PATH="$DRIVE_C/ALTA"
create_desktop "Таможенные документы" "$ALTA_PATH/ordview.exe" "altatamdoc"
create_desktop "Такса" "$ALTA_PATH/taxwin.exe" "altatax"
create_desktop "Заполнитель" "$ALTA_PATH/zapoln.exe" "altazap"
fi

@ -0,0 +1,26 @@
#!/usr/bin/env bash
# info_ru: Это мощный, современный инструмент быстрой и качественной разработки АСУТП
########################################################################
export WH_AUTOINSTALL="1"
export WH_WINE_USE="wine_x_tkg_10-0_i586" # wine-9.0.9-alt1-i586"
export WINEPREFIX="scada-krug-2000"
export PROG_NAME="SCADA КРУГ 2000"
export PROG_ICON="krugtaskmanager"
export BASE_PFX="scadakrug2k_pfx_v01"
export WH_WINDOWS_VER="10"
export WINEARCH="win32"
export INSTALL_DLL="dotnet48 vcrun6 vcrun2008 vcrun2022 d3dcompiler_47 mdac28 corefonts riched20 wsh57"
export USE_RENDERER="proton"
if [[ -f "$2" ]] ; then
prepair_wine
kill_autostart "KrugTaskManager.exe" &
wine_run_install "$2" /quiet
WIN_FILE_EXEC="$DRIVE_C/Program Files/Krug2000/Bin/KrugTaskManager.exe"
create_desktop "Менеджер задач" "$WIN_FILE_EXEC" "$PROG_ICON"
else
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
winehelper install $1 \"/путь/до/установочногоайла\""
fi

BIN
image/krugtaskmanager.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

@ -1,7 +1,17 @@
##### WINE ##### ##### WINE #####
3571c40a787f0386e0160b5d471b1bf11fa2a235b497156cd38198b90bcb4a9f wine_x_tkg_10-0_i586.tar.xz
71d6fdfd23d7988471d345c68e81699b8af931352b03dd216424b398f63c7b12 wine_x_tkg_10-0_amd64.tar.xz 71d6fdfd23d7988471d345c68e81699b8af931352b03dd216424b398f63c7b12 wine_x_tkg_10-0_amd64.tar.xz
fb7fdfde96de10a1b3b051bdf2727b6a7c1768b878483726454dd6726e9e0193 wine-9.0.14-alt1-i586-spravkibk.tar.xz fb7fdfde96de10a1b3b051bdf2727b6a7c1768b878483726454dd6726e9e0193 wine-9.0.14-alt1-i586-spravkibk.tar.xz
6f86d2220b65b709bf88c6f829a4998de3b929cc2091cd1333a51c32e1491b79 wine-9.0.9-alt1-i586.tar.xz
##### DXVK #####
98411effbc1b3611b11c4ca3af2ad29400b08e1c8c380791d6351600a06fb3c7 dxvk-1.10.3-28.tar.xz
##### VKD3D #####
df1a940d2e072a884524f66a16e0f0ef74048bc6a6642b96eb257528a522109f vkd3d-proton-1.1-2602.tar.xz
##### PREFIX ##### ##### PREFIX #####
@ -41,3 +51,7 @@ d026d799f8d3893c64c749661240d76896d45fd14fdb6665bf0f875a4a05bcdb spravkibk_pfx_
# create with wine-9.0.14-alt1-i586-spravkibk (xuser in .reg files) # create with wine-9.0.14-alt1-i586-spravkibk (xuser in .reg files)
# winetricks msxml6 dotnet35sp1 msxml3 renderer=gdi # winetricks msxml6 dotnet35sp1 msxml3 renderer=gdi
# winetricks isolate_home used after unpacking prefix # winetricks isolate_home used after unpacking prefix
8a56796be2f18b831ce92119886e84f62c37e06fa1d8f1e4df82c5ced4479a5d scadakrug2k_pfx_v01.tar.xz
# create with wine_x_tkg_10-0_i586 (universal user: xuser)
# winetricks wsh57 mdac28 vcrun2022 dotnet40 dotnet48 d3dcompiler_47 vcrun6 msls31 riched20 andale arial comicsans courier georgia impact times trebuchet verdana webdings corefonts vcrun2008

@ -74,16 +74,14 @@ check_variables WH_DLL_INSTALL ""
check_variables WINE_WIN_START "start /wait /high /unix" check_variables WINE_WIN_START "start /wait /high /unix"
check_variables WINE_CPU_TOPOLOGY "4" check_variables WINE_CPU_TOPOLOGY "8"
check_variables USE_OPENGL "1" check_variables USE_RENDERER "opengl" # opengl, damavand, proton
check_variables DXVK_STABLE_VER "1.10.3-28" check_variables DXVK_VER "1.10.3-28"
check_variables DXVK_GIT_VER "2.2-164"
# check_variables DXVK_CONFIG_FILE "path/to/dxvk.conf" # check_variables DXVK_CONFIG_FILE "path/to/dxvk.conf"
check_variables VKD3D_STABLE_VER "1.1-2602" check_variables VKD3D_VER "1.1-2602"
check_variables VKD3D_GIT_VER "1.1-3556"
# check_variables VKD3D_LIMIT_TESS_FACTORS 64 # check_variables VKD3D_LIMIT_TESS_FACTORS 64
# check_variables VKD3D_FEATURE_LEVEL "12_0" # check_variables VKD3D_FEATURE_LEVEL "12_0"
@ -371,8 +369,24 @@ create_desktop () {
if [[ -z "$name_desktop" ]] || [[ -z "$exe_file" ]] ; then if [[ -z "$name_desktop" ]] || [[ -z "$exe_file" ]] ; then
fatal "Used: $SCRIPT_NAME --desktop \"desktop_name\" \"path_to_exe\" \"name_png_from_image\"" fatal "Used: $SCRIPT_NAME --desktop \"desktop_name\" \"path_to_exe\" \"name_png_from_image\""
elif [[ ! -f "$exe_file" ]] ; then
print_warning "Для создания ярлыка не найден исполняемый файл: $exe_file"
BASENAME_EXE="$(basename "$exe_file")"
print_info "Запускаем поиск $BASENAME_EXE"
if [[ -z "$DRIVE_C" ]] || [[ ! -d "$DRIVE_C" ]]
then FIND_PATH="$WH_PREFIXES_DIR"
else FIND_PATH="$DRIVE_C"
fi
exe_file="$(find "$FIND_PATH" -type f -not -type l \
-not -path "*/windows/*" -not -path "*/dosdevices/*" \
-iname "$BASENAME_EXE")"
if [[ -z "$exe_file" ]] || [[ ! -f "$exe_file" ]]
then fatal "Для создания ярлыка не найден исполняемый файл: $BASENAME_EXE"
else print_ok "Исполняемый файл $BASENAME_EXE найден по пути $(dirname "$exe_file")/"
fi
fi fi
[[ ! -f "$exe_file" ]] && fatal "Для создания ярлыка не найден исполняемый файл: $exe_file"
[[ ! -f "$icon_file" ]] && icon_file=wine [[ ! -f "$icon_file" ]] && icon_file=wine
{ {
@ -455,14 +469,17 @@ run_installed_programs () {
} }
##### USED WINED3D LIBRARY ##### ##### USED WINED3D LIBRARY #####
init_opengl () { init_wined3d () {
if [[ "$USE_OPENGL" == 1 ]] ; then if [[ "$USE_RENDERER" != "proton" ]] ; then
WINED3D_FILES="d3d8 d3d9 d3d10_1 d3d10 d3d10core d3d11 dxgi d3d12" # d3d12core WINED3D_FILES="d3d8 d3d9 d3d10_1 d3d10 d3d10core d3d11 dxgi d3d12 d3d12core"
for wined3dfiles in $WINED3D_FILES ; do for wined3dfiles in $WINED3D_FILES ; do
try_copy_wine_dll_to_pfx_64 "$wined3dfiles.dll" try_copy_wine_dll_to_pfx_64 "$wined3dfiles.dll"
try_copy_wine_dll_to_pfx_32 "$wined3dfiles.dll" try_copy_wine_dll_to_pfx_32 "$wined3dfiles.dll"
done done
# check_variables WINE_D3D_CONFIG "renderer=" if [[ "$USE_RENDERER" == "damavand" ]]
then export WINE_D3D_CONFIG="renderer=vulkan"
else export WINE_D3D_CONFIG="renderer=gl"
fi
return 0 return 0
else else
return 1 return 1
@ -487,7 +504,7 @@ init_dxvk () {
for DXVK_VAR_VER in "$USE_DXVK_VER" $@ ; do for DXVK_VAR_VER in "$USE_DXVK_VER" $@ ; do
if [[ ! -d "${WH_VULKAN_LIBDIR}/dxvk-$DXVK_VAR_VER" ]] ; then if [[ ! -d "${WH_VULKAN_LIBDIR}/dxvk-$DXVK_VAR_VER" ]] ; then
get_dxvk "$CLOUD_URL/dxvk-${DXVK_VAR_VER}.tar.gz" get_dxvk "$CLOUD_URL/dxvk-${DXVK_VAR_VER}.tar.xz"
fi fi
done done
@ -711,6 +728,22 @@ init_wineprefix () {
try_remove_file "$DRIVE_C/windows/system32/winemenubuilder.exe" try_remove_file "$DRIVE_C/windows/system32/winemenubuilder.exe"
} }
##### KILL AUTOSTART AFTER INSTALLING #####
kill_autostart () {
[[ -z "${1}" ]] && fatal "Нет аргумента для функции kill_autostart."
[[ -z "${2}" ]] && SWAIT=3 || SWAIT="${2}"
sleep 5
while ps aux | grep -m 1 -i "$WINESERVER" | grep -v grep &>/dev/null ; do
if [[ -z "$(ps aux | grep -m 1 -i "$1" | grep -v grep | awk '{print $2}')" ]] ; then
print_info "PID для $1 не найден. Ожидаем окончания установки..."
sleep "${SWAIT}"
else
print_ok "PID для $1 найден. Завершаем работу автозапуска приложения."
"$WINESERVER" -k
break
fi
done
}
update_winetricks () { update_winetricks () {
W_TRX_URL="https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks" W_TRX_URL="https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks"
@ -825,14 +858,13 @@ prepair_wine () {
init_wineprefix init_wineprefix
use_winetricks use_winetricks
unset MANGOHUD_RUN if init_wined3d ; then
if init_opengl ; then :
[[ "$MANGOHUD" == 1 ]] && MANGOHUD_RUN="mangohud --dlsym"
else else
init_dxvk "$DXVK_STABLE_VER" init_dxvk "$DXVK_VER"
init_vkd3d "$VKD3D_STABLE_VER" init_vkd3d "$VKD3D_VER"
[[ "$MANGOHUD" == 1 ]] && MANGOHUD_RUN="mangohud"
fi fi
[[ "$MANGOHUD" == 1 ]] && MANGOHUD_RUN="mangohud"
} }
wine_run () { wine_run () {
@ -851,6 +883,7 @@ wine_run () {
wine_run_install () { wine_run_install () {
print_info "Запускаем установку приложения $PROG_NAME." print_info "Запускаем установку приложения $PROG_NAME."
print_warning "Рекомендуется не менять пути для установки приложения!"
[[ ! -f "$1" ]] && fatal "Нет файла для установки: $1" [[ ! -f "$1" ]] && fatal "Нет файла для установки: $1"
case "${1,,}" in case "${1,,}" in
*.exe) wine_run $WINE_WIN_START "$@" ;; *.exe) wine_run $WINE_WIN_START "$@" ;;
@ -880,7 +913,7 @@ run_autoinstall () {
echo echo
elif [[ -f "$WH_AUTOINSTALL_DIR/$AI_SCRIPT" ]] ; then elif [[ -f "$WH_AUTOINSTALL_DIR/$AI_SCRIPT" ]] ; then
export USE_AI_SCRIPTS="1" export USE_AI_SCRIPTS="1"
source "$WH_AUTOINSTALL_DIR/$AI_SCRIPT" source "$WH_AUTOINSTALL_DIR/$AI_SCRIPT" "$@"
print_info "Завершена установка $AI_SCRIPT" print_info "Завершена установка $AI_SCRIPT"
else else
fatal "Скрипт автоматической установки для $AI_SCRIPT не найден!" fatal "Скрипт автоматической установки для $AI_SCRIPT не найден!"