From fc7374fb54adfb1021b386a12eaffa2d6c36e947 Mon Sep 17 00:00:00 2001
From: Mikhail Tergoev <fidel@altlinux.org>
Date: Thu, 19 Jun 2025 16:22:06 +0300
Subject: [PATCH] t-flex-cad17: used only one settings file and fixed open log

---
 autoinstall/t-flex-cad-edu17          | 16 ++---
 autoinstall/t-flex-cad17              | 16 ++---
 autoinstall/t-flex-cad17-applications |  8 ++-
 autoinstall/t-flex-cad17-prepair      | 73 ---------------------
 autoinstall/t-flex-cad17-resources    |  6 ++
 autoinstall/t-flex-cad2d+17           | 16 ++---
 autoinstall/t-flex-doc17              | 77 +++-------------------
 autoinstall/t-flex-viewer17           | 75 +++------------------
 database/empty                        |  0
 database/t-flex-cad17.whdb            | 93 +++++++++++++++++++++++++++
 manualinstall/t-flex-cad17-manual     | 21 ++++++
 11 files changed, 166 insertions(+), 235 deletions(-)
 delete mode 100644 autoinstall/t-flex-cad17-prepair
 delete mode 100644 database/empty
 create mode 100644 database/t-flex-cad17.whdb
 create mode 100644 manualinstall/t-flex-cad17-manual

diff --git a/autoinstall/t-flex-cad-edu17 b/autoinstall/t-flex-cad-edu17
index fd10b10..13fb594 100644
--- a/autoinstall/t-flex-cad-edu17
+++ b/autoinstall/t-flex-cad-edu17
@@ -2,16 +2,16 @@
 # info_ru: Учебная версия. САПР, объединяющая в себе мощные параметрические возможности 2D и 3D-моделирования со средствами создания и оформления чертежей и конструкторской документации по ЕСКД.
 ########################################################################
 export PROG_NAME="T-FLEX CAD Учебная Версия 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 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"
+export WH_WINE_USE="wine_x_tkg_10-0_amd64"
+export WINEARCH="win64"
+export WH_WINDOWS_VER="10"
+export WINEPREFIX="tflex17"
+export WH_XDG_OPEN="log"
 
-prepair_wine
+# используем общий whdb файл для подготовки префикса и сервисов
+# prepair_wine используется из файла настроек
+source "$WH_DB_DIR/t-flex-cad17.whdb"
 
 # Программа T-FLEX CAD Учебная Версия
 export AUTOINSTALL_ZIP="${WH_TMP_DIR}/TFCAD_ST_17x64_PACK.zip"
diff --git a/autoinstall/t-flex-cad17 b/autoinstall/t-flex-cad17
index bca4ea3..cf6666c 100644
--- a/autoinstall/t-flex-cad17
+++ b/autoinstall/t-flex-cad17
@@ -2,16 +2,16 @@
 # info_ru: Профессиональная САПР, объединяющая в себе мощные параметрические возможности 2D и 3D-моделирования со средствами создания и оформления чертежей и конструкторской документации по ЕСКД.
 ########################################################################
 export PROG_NAME="T-FLEX CAD 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 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"
+export WH_WINE_USE="wine_x_tkg_10-0_amd64"
+export WINEARCH="win64"
+export WH_WINDOWS_VER="10"
+export WINEPREFIX="tflex17"
+export WH_XDG_OPEN="log"
 
-prepair_wine
+# используем общий whdb файл для подготовки префикса и сервисов
+# prepair_wine используется из файла настроек
+source "$WH_DB_DIR/t-flex-cad17.whdb"
 
 # Программа T-FLEX CAD
 export AUTOINSTALL_ZIP="${WH_TMP_DIR}/T-FLEX CAD 17.zip"
diff --git a/autoinstall/t-flex-cad17-applications b/autoinstall/t-flex-cad17-applications
index 19bfb80..e099862 100644
--- a/autoinstall/t-flex-cad17-applications
+++ b/autoinstall/t-flex-cad17-applications
@@ -6,6 +6,12 @@ export WH_WINE_USE="wine_x_tkg_10-0_amd64"
 export BASE_PFX="tflex17_pfx_x64_v01"
 export WINEARCH="win64"
 export WINEPREFIX="tflex17"
+export WH_XDG_OPEN="log"
+
+check_prefix_var
+if [[ ! -f "$WINEPREFIX/drive_c/Program Files/T-FLEX CAD 17/Program/TFlexCad.exe" ]]
+then fatal "Изначально установите T-FLEX CAD 17."
+fi
 
 BASE_URL="https://www.tflex.ru/downloads"
 FILES=(
@@ -26,7 +32,6 @@ prepair_wine
 for file_name in "${FILES[@]}" ; do
     local output="${WH_TMP_DIR}/${file_name// /_}"
 
-    print_info "Скачивание $file_name..."
     if try_download "$BASE_URL/$file_name" "$output" ; then
         unpack "$output" "${UNPACK_APP}"
     fi
@@ -36,7 +41,6 @@ done
 # Установка .msi файлов
 for msi_file in "${UNPACK_APP}"/*/*.msi ; do
     if [[ -f "$msi_file" ]] ; then
-        print_info "Установка $msi_file ..."
         wine_run_install "$msi_file" /q
     else
         fatal "Нет .msi файлов для установки в ${UNPACK_APP}/*."
diff --git a/autoinstall/t-flex-cad17-prepair b/autoinstall/t-flex-cad17-prepair
deleted file mode 100644
index 57ce526..0000000
--- a/autoinstall/t-flex-cad17-prepair
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/usr/bin/env bash
-# info_ru: Компоненты поддержки T-FLEX 17
-########################################################################
-export PROG_NAME="T-FLEX CAD 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 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="${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
-        su_run "${WH_TMP_DIR}/tflex17_aksusbd.sh"
-        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
diff --git a/autoinstall/t-flex-cad17-resources b/autoinstall/t-flex-cad17-resources
index 42ef665..06c461d 100644
--- a/autoinstall/t-flex-cad17-resources
+++ b/autoinstall/t-flex-cad17-resources
@@ -6,6 +6,12 @@ export WH_WINE_USE="wine_x_tkg_10-0_amd64"
 export BASE_PFX="tflex17_pfx_x64_v01"
 export WINEARCH="win64"
 export WINEPREFIX="tflex17"
+export WH_XDG_OPEN="log"
+
+check_prefix_var
+if [[ ! -f "$WINEPREFIX/drive_c/Program Files/T-FLEX CAD 17/Program/TFlexCad.exe" ]]
+then fatal "Изначально установите T-FLEX CAD 17."
+fi
 
 BASE_URL="https://www.tflex.ru/downloads"
 FILES=(
diff --git a/autoinstall/t-flex-cad2d+17 b/autoinstall/t-flex-cad2d+17
index c560f06..cf0e5ad 100644
--- a/autoinstall/t-flex-cad2d+17
+++ b/autoinstall/t-flex-cad2d+17
@@ -2,16 +2,16 @@
 # info_ru: Профессиональная САПР, объединяющая в себе мощные параметрические возможности 2D и 3D-моделирования со средствами создания и оформления чертежей и конструкторской документации по ЕСКД.
 ########################################################################
 export PROG_NAME="T-FLEX CAD 2D+ 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 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"
+export WH_WINE_USE="wine_x_tkg_10-0_amd64"
+export WINEARCH="win64"
+export WH_WINDOWS_VER="10"
+export WINEPREFIX="tflex17"
+export WH_XDG_OPEN="log"
 
-prepair_wine
+# используем общий whdb файл для подготовки префикса и сервисов
+# prepair_wine используется из файла настроек
+source "$WH_DB_DIR/t-flex-cad17.whdb"
 
 # Программа T-FLEX CAD 2D+ 17
 export AUTOINSTALL_ZIP="${WH_TMP_DIR}/T-FLEX CAD 2D+ 17.zip"
diff --git a/autoinstall/t-flex-doc17 b/autoinstall/t-flex-doc17
index a74db2c..34b9392 100644
--- a/autoinstall/t-flex-doc17
+++ b/autoinstall/t-flex-doc17
@@ -2,77 +2,16 @@
 # info_ru: Система T-FLEX DOCs предназначена для комплексного управления инженерными данными предприятия, а также решения задач конструкторско-технологического и организационно-распорядительного документооборота.
 ########################################################################
 export PROG_NAME="T-FLEX DOCs 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 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
+export WH_WINE_USE="wine_x_tkg_10-0_amd64"
+export WINEARCH="win64"
+export WH_WINDOWS_VER="10"
+export WINEPREFIX="tflex17"
+export WH_XDG_OPEN="log"
 
-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="${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
-        su_run "${WH_TMP_DIR}/tflex17_aksusbd.sh"
-        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
+# используем общий whdb файл для подготовки префикса и сервисов
+# prepair_wine используется из файла настроек
+source "$WH_DB_DIR/t-flex-cad17.whdb"
 
 # Программа T-FLEX DOC
 AUTOINSTALL_ZIP="${WH_TMP_DIR}/T-FLEX DOCs 17 Client.zip"
diff --git a/autoinstall/t-flex-viewer17 b/autoinstall/t-flex-viewer17
index a4dcf94..5d8c898 100644
--- a/autoinstall/t-flex-viewer17
+++ b/autoinstall/t-flex-viewer17
@@ -2,75 +2,16 @@
 # info_ru: Просмотр, печать и аннотирование документов T-FLEX CAD
 ########################################################################
 export PROG_NAME="T-FLEX Viewer 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 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"
+export WH_WINE_USE="wine_x_tkg_10-0_amd64"
+export WINEARCH="win64"
+export WH_WINDOWS_VER="10"
+export WINEPREFIX="tflex17"
+export WH_XDG_OPEN="log"
 
-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="${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
-        su_run "${WH_TMP_DIR}/tflex17_aksusbd.sh"
-        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
+# используем общий whdb файл для подготовки префикса и сервисов
+# prepair_wine используется из файла настроек
+source "$WH_DB_DIR/t-flex-cad17.whdb"
 
 # Программа T-FLEX Viewer
 export AUTOINSTALL_ZIP="${WH_TMP_DIR}/T-FLEX Viewer 17.zip"
diff --git a/database/empty b/database/empty
deleted file mode 100644
index e69de29..0000000
diff --git a/database/t-flex-cad17.whdb b/database/t-flex-cad17.whdb
new file mode 100644
index 0000000..4a5883b
--- /dev/null
+++ b/database/t-flex-cad17.whdb
@@ -0,0 +1,93 @@
+#!/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
diff --git a/manualinstall/t-flex-cad17-manual b/manualinstall/t-flex-cad17-manual
new file mode 100644
index 0000000..2d9d2fe
--- /dev/null
+++ b/manualinstall/t-flex-cad17-manual
@@ -0,0 +1,21 @@
+#!/usr/bin/env bash
+# info_ru: Ручная установка дополнений для T-FLEX CAD 17
+########################################################################
+export PROG_NAME="T-FLEX CAD 17"
+export PROG_ICON="tflexcad"
+export WH_WINE_USE="wine_x_tkg_10-0_amd64"
+export WINEARCH="win64"
+export WH_WINDOWS_VER="10"
+export WINEPREFIX="tflex17"
+export WH_XDG_OPEN="log"
+
+if [[ -f "$2" ]] ; then
+    # используем общий whdb файл для подготовки префикса и сервисов
+    # prepair_wine используется из файла настроек
+    source "$WH_DB_DIR/t-flex-cad17.whdb"
+
+    wine_run_install "$2"
+else
+    fatal "Не найден файл установки. Перезапустите по примеру:
+    winehelper install $1 \"/путь/до/файла\""
+fi