From 5ab5c2062ceaa1d97e1b4639361920fe1496e641 Mon Sep 17 00:00:00 2001 From: Mikhail Tergoev Date: Fri, 31 Jan 2025 15:33:31 +0300 Subject: [PATCH] autoinstall: added t-flex cad and doc --- autoinstall/t-flex-cad17 | 89 ++++++++++++++++++++++++++++++++++++++ autoinstall/t-flex-doc17 | 91 +++++++++++++++++++++++++++++++++++++++ image/tflexcad.png | Bin 0 -> 7541 bytes image/tflexdoc.png | Bin 0 -> 15021 bytes 4 files changed, 180 insertions(+) create mode 100644 autoinstall/t-flex-cad17 create mode 100644 autoinstall/t-flex-doc17 create mode 100644 image/tflexcad.png create mode 100644 image/tflexdoc.png diff --git a/autoinstall/t-flex-cad17 b/autoinstall/t-flex-cad17 new file mode 100644 index 0000000..98572c7 --- /dev/null +++ b/autoinstall/t-flex-cad17 @@ -0,0 +1,89 @@ +#!/usr/bin/env bash +# info_ru: Профессиональная САПР, объединяющая в себе мощные параметрические возможности 2D и 3D-моделирования со средствами создания и оформления чертежей и конструкторской документации по ЕСКД. +######################################################################## +export PROG_NAME="T-FLEX CAD 17" +export PP_WINDOWS_VER="10" +export PP_WINE_USE="wine_x_tkg_10-0_amd64" +export BASE_PFX="tflex17_pfx_x64_v01" +export WINEARCH="win64" +export WINEPREFIX="tflex17" +export PROG_VERSION="" +export PROG_ICON="tflexcad" +export INSTALL_DLL="corefonts d3dcompiler_47 dotnet48 vcrun2019 ucrtbase2019 msxml6 fontsmooth=rgb baekmuk droid eufonts ipamona liberation lucida opensymbol sourcehansans tahoma takao uff unifont vlgothic wenquanyi wenquanyizenhei" + +prepair_wine +if [[ "$BASE_PFX" == "none" ]] \ +|| ! systemctl list-units --type service --state running | grep aksusbd \ +|| ! systemctl list-units --type service --state running | grep hasplmd +then + # Компоненты поддержки T-FLEX PLM 17 (Linux) + AUTOINSTALL_ZIP_LIN="${PP_TMP_DIR}/Prerequisites_T-FLEX_17_Linux.zip" + AUTOINSTALL_DIR_LIN="${PP_TMP_DIR}/Prerequisites_T-FLEX_17_Linux" + AUTOINSTALL_EXE_LIN1="${PP_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 + 7z x -y "${AUTOINSTALL_ZIP_LIN}" -o"${AUTOINSTALL_DIR_LIN}" + try_remove_file "$AUTOINSTALL_ZIP_LIN" + "$WINELOADER" regedit "${AUTOINSTALL_EXE_LIN1}" + fi + + if [[ "$BASE_PFX" == "none" ]] ; then + # Компоненты поддержки T-FLEX PLM 17 (Windows) + AUTOINSTALL_ZIP_WIN="${PP_TMP_DIR}/T-FLEX 17 Prerequisites.zip" + AUTOINSTALL_DIRWIN="${PP_TMP_DIR}" + AUTOINSTALL_EXE_WIN1="${PP_TMP_DIR}/Компоненты поддержки T-FLEX 17/Access Database Engine 2007/AccessDatabaseEngine.exe" + AUTOINSTALL_EXE_WIN_MSY="${PP_TMP_DIR}/Компоненты поддержки T-FLEX 17/Access Database Engine 2007" + AUTOINSTALL_EXE_WIN2="${PP_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 + 7z x -y "${AUTOINSTALL_ZIP_WIN}" -o"${AUTOINSTALL_DIRWIN}" + try_remove_file "$AUTOINSTALL_ZIP_WIN" + + 7z x -y "${AUTOINSTALL_EXE_WIN1}" -o"${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 + fi + rm -fR "$DRIVE_C/Program Files/Common Files/System" + rm -fR "$DRIVE_C/Program Files (x86)/Common Files/System" + cp -r "${PP_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/Program Files/Common Files/System" "$DRIVE_C/Program Files/Common Files" + cp -r "${PP_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/Program Files (x86)/Common Files/System" "$DRIVE_C/Program Files (x86)/Common Files" + mv -f "${PP_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/Windows/System32/"*.dll "$DRIVE_C/windows/system32" + + "$WINELOADER" regedit "${PP_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/ado-32.reg" + "$WINELOADER"64 regedit "${PP_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/ado-64.reg" + "$WINELOADER" regedit "${PP_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/tflex.reg" + fi + + if systemctl list-units --type service --state running | grep aksusbd \ + && systemctl list-units --type service --state running | grep hasplmd + then + print_info "Службы aksusbd и hasplmd уже запущены. Пропускаем..." + else + echo "#!/usr/bin/env bash + cd \"${PP_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/HASP_Linux/aksusbd/\" + bash ./dinst + mv -f \"${PP_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/HASP_Linux/\"*.so /var/hasplm/ + systemctl restart hasplmd.service" > "${PP_TMP_DIR}/tflex17_aksusbd.sh" + chmod +x ${PP_TMP_DIR}/tflex17_aksusbd.sh + su_run "${PP_TMP_DIR}/tflex17_aksusbd.sh" + try_remove_file "${PP_TMP_DIR}/tflex17_aksusbd.sh" + fi + try_remove_dir "$AUTOINSTALL_DIR_LIN" + try_remove_dir "${PP_TMP_DIR}/Компоненты поддержки T-FLEX 17/" +fi + +# Программа T-FLEX CAD +export AUTOINSTALL_ZIP="${PP_TMP_DIR}/T-FLEX CAD 17.zip" +export AUTOINSTALL_DIR="${PP_TMP_DIR}" +export AUTOINSTALL_EXE="${PP_TMP_DIR}/T-FLEX CAD 17/T-FLEX CAD 17.msi" + +if try_download "https://www.tflex.ru/downloads/T-FLEX%20CAD%2017.zip" "${AUTOINSTALL_ZIP}" ; then + 7z x -y "${AUTOINSTALL_ZIP}" -o"${AUTOINSTALL_DIR}" + try_remove_file "${AUTOINSTALL_ZIP}" + + wine_run_install "${AUTOINSTALL_EXE}" /q + try_remove_file "${AUTOINSTALL_EXE}" + + WIN_FILE_EXEC="$DRIVE_C/Program Files/T-FLEX CAD 17/Program/TFlexCad.exe" + create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON" +fi diff --git a/autoinstall/t-flex-doc17 b/autoinstall/t-flex-doc17 new file mode 100644 index 0000000..1117a6d --- /dev/null +++ b/autoinstall/t-flex-doc17 @@ -0,0 +1,91 @@ +#!/usr/bin/env bash +# info_ru: Система T-FLEX DOCs предназначена для комплексного управления инженерными данными предприятия, а также решения задач конструкторско-технологического и организационно-распорядительного документооборота. +######################################################################## +export PROG_NAME="T-FLEX DOCs 17" +export PP_WINDOWS_VER="10" +export PP_WINE_USE="wine_x_tkg_10-0_amd64" +export BASE_PFX="tflex17_pfx_x64_v01" +export WINEARCH="win64" +export WINEPREFIX="tflex17" +export PROG_VERSION="" +export PROG_ICON="tflexdoc" +export INSTALL_DLL="vcrun2019 d3dcompiler_47 dotnet48 msxml6 fontsmooth=rgb corefonts" +# eucrtbase2019 baekmuk droid eufonts ipamona liberation lucida opensymbol sourcehansans tahoma takao uff unifont vlgothic wenquanyi wenquanyizenhei + +prepair_wine + +if [[ "$BASE_PFX" == "none" ]] \ +|| ! systemctl list-units --type service --state running | grep aksusbd \ +|| ! systemctl list-units --type service --state running | grep hasplmd +then + # Компоненты поддержки T-FLEX PLM 17 (Linux) + AUTOINSTALL_ZIP_LIN="${PP_TMP_DIR}/Prerequisites_T-FLEX_17_Linux.zip" + AUTOINSTALL_DIR_LIN="${PP_TMP_DIR}/Prerequisites_T-FLEX_17_Linux" + AUTOINSTALL_EXE_LIN1="${PP_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 + 7z x -y "${AUTOINSTALL_ZIP_LIN}" -o"${AUTOINSTALL_DIR_LIN}" + try_remove_file "$AUTOINSTALL_ZIP_LIN" + "$WINELOADER" regedit "${AUTOINSTALL_EXE_LIN1}" + fi + + if [[ "$BASE_PFX" == "none" ]] ; then + # Компоненты поддержки T-FLEX PLM 17 (Windows) + AUTOINSTALL_ZIP_WIN="${PP_TMP_DIR}/T-FLEX 17 Prerequisites.zip" + AUTOINSTALL_DIRWIN="${PP_TMP_DIR}" + AUTOINSTALL_EXE_WIN1="${PP_TMP_DIR}/Компоненты поддержки T-FLEX 17/Access Database Engine 2007/AccessDatabaseEngine.exe" + AUTOINSTALL_EXE_WIN_MSY="${PP_TMP_DIR}/Компоненты поддержки T-FLEX 17/Access Database Engine 2007" + AUTOINSTALL_EXE_WIN2="${PP_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 + 7z x -y "${AUTOINSTALL_ZIP_WIN}" -o"${AUTOINSTALL_DIRWIN}" + try_remove_file "$AUTOINSTALL_ZIP_WIN" + + 7z x -y "${AUTOINSTALL_EXE_WIN1}" -o"${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 + fi + rm -fR "$DRIVE_C/Program Files/Common Files/System" + rm -fR "$DRIVE_C/Program Files (x86)/Common Files/System" + cp -r "${PP_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/Program Files/Common Files/System" "$DRIVE_C/Program Files/Common Files" + cp -r "${PP_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/Program Files (x86)/Common Files/System" "$DRIVE_C/Program Files (x86)/Common Files" + mv -f "${PP_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/Windows/System32/"*.dll "$DRIVE_C/windows/system32" + + "$WINELOADER" regedit "${PP_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/ado-32.reg" + "$WINELOADER"64 regedit "${PP_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/ado-64.reg" + "$WINELOADER" regedit "${PP_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/tflex.reg" + fi + + if systemctl list-units --type service --state running | grep aksusbd \ + && systemctl list-units --type service --state running | grep hasplmd + then + print_info "Службы aksusbd и hasplmd уже запущены. Пропускаем..." + else + echo "#!/usr/bin/env bash + cd \"${PP_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/HASP_Linux/aksusbd/\" + bash ./dinst + mv -f \"${PP_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/HASP_Linux/\"*.so /var/hasplm/ + systemctl restart hasplmd.service" > "${PP_TMP_DIR}/tflex17_aksusbd.sh" + chmod +x ${PP_TMP_DIR}/tflex17_aksusbd.sh + su_run "${PP_TMP_DIR}/tflex17_aksusbd.sh" + try_remove_file "${PP_TMP_DIR}/tflex17_aksusbd.sh" + fi + try_remove_dir "$AUTOINSTALL_DIR_LIN" + try_remove_dir "${PP_TMP_DIR}/Компоненты поддержки T-FLEX 17/" +fi + +# Программа T-FLEX DOC +AUTOINSTALL_ZIP="${PP_TMP_DIR}/T-FLEX DOCs 17 Client.zip" +AUTOINSTALL_DIR="${PP_TMP_DIR}/T-FLEX DOCs 17" +AUTOINSTALL_EXE="${PP_TMP_DIR}/T-FLEX DOCs 17/T-FLEX DOCs 17/T-FLEX DOCs 17.msi" + +if try_download "https://www.tflex.ru/downloads/DOCs/T-FLEX%20DOCs%2017%20Client.zip" "${AUTOINSTALL_ZIP}" ; then + 7z x -y "${AUTOINSTALL_ZIP}" -o"${AUTOINSTALL_DIR}" + try_remove_file "${AUTOINSTALL_ZIP}" + + wine_run_install "${AUTOINSTALL_EXE}" /q + try_remove_file "${AUTOINSTALL_EXE}" + + WIN_FILE_EXEC="$DRIVE_C/Program Files (x86)/T-FLEX DOCs 17/Program/TFlex.DOCs.Client.exe" + create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON" +fi diff --git a/image/tflexcad.png b/image/tflexcad.png new file mode 100644 index 0000000000000000000000000000000000000000..668e867cd14a9a000c266fe231c2cb74c44f3aac GIT binary patch literal 7541 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 literal 0 HcmV?d00001