#!/usr/bin/env bash # info_ru: Компоненты сервисов поддержки T-FLEX 17 ######################################################################## export WH_WINDOWS_VER="10" export WH_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 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" prepair_wine if [[ -d "$WINEPREFIX" ]] \ && grep -q "t-flex-cad17-prepair" "$WINEPREFIX/winetricks.log" \ && systemctl list-units --type service --state running | grep aksusbd \ && systemctl list-units --type service --state running | grep hasplmd then print_info "Префикс $PREFIX_NAME готов к установке ПО." print_info "Сервисы: aksusbd и hasplmd уже запущены." else print_warning "Службы aksusbd и hasplmd не запущены, или префикс не подготовлен" print_info "Запускаем подготовку префикса скриптом: t-flex-cad17-prepair" 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="${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}" 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_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 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" "$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 \ && systemctl list-units --type service --state running | grep hasplmd then print_info "Службы aksusbd и hasplmd уже запущены. Пропускаем..." else echo "#!/usr/bin/env bash 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 unset TFLEX_ERROR 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 if [[ $TFLEX_ERROR == "1" ]] ; then fatal "Произошла ошибка во время подготовки префикса, или установки компонентов ПО." else echo "t-flex-cad17-prepair" >> "$WINEPREFIX/winetricks.log" print_info "Подготовка префикса и установка компонентов завершены." fi fi