Compare commits

..

1 Commits

4 changed files with 132 additions and 68 deletions

View File

@ -1,11 +1,5 @@
История изменений:
0.3.8:
* добавлена возможность ассоциации и запуска файлов из WINE в нативном Linux приложении
* добавлен выбор префикса, если переменная WINEPREFIX не объявлена
* добавлено сохранение последней конфигурации использования префикса
* добавлено сохранение скписка создаваемых ярлыков для приложений
0.3.7:
* обновлены функции создания desktop файлов (ярлыков) и категория WineHelper в меню
* обновлен скрипт установки scadoffice

View File

@ -0,0 +1,67 @@
#!/usr/bin/env bash
# info_ru: Приложения для T-FLEX CAD 17 (T-FLEX Анализ 17, T-FLEX Динамика 17, T-FLEX Зубчатые передачи 17, T-FLEX ЧПУ 17, T-FLEX Раскрой 17, T-FLEX Электротехника 17, T-FLEX VR 17, 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"
BASE_URL="https://www.tflex.ru/downloads"
FILES=(
"T-FLEX Analysis 17.zip"
"T-FLEX Dynamics 17.zip"
"T-FLEX Gears 17.zip"
"T-FLEX CAM 17.zip"
"T-FLEX Nesting 17.zip"
"T-FLEX Electrical 17.zip"
"T-FLEX VR 17.zip"
"T-FLEX Circuits 17.zip"
)
UNPACK_APP="${WH_TMP_DIR}/unpack_applications"
prepair_wine
# Функция для распаковки файла
unpack_file() {
local archive="$1"
7z x -y "$archive" -o"${UNPACK_APP}"
}
# Функция для установки .msi файлов
install_msi_files() {
for msi_file in "${UNPACK_APP}"/*/*.msi; do
if [[ -f "$msi_file" ]]; then
echo "Установка $msi_file ..."
wine_run_install "$msi_file" /q
else
echo "Нет .msi файлов для установки в ${UNPACK_APP}/*."
fi
done
}
# Функция для кодирования URL
encode_url() {
local file_name="$1"
echo "${file_name// /%20}" # Заменяем пробелы на %20
}
# Скачивание всех файлов
download_all() {
for file_name in "${FILES[@]}"; do
local file_url="$(encode_url "$file_name")"
local output="${WH_TMP_DIR}/${file_name// /_}"
echo "Скачивание $file_name..."
if try_download "$BASE_URL/$file_url" "$output"; then
unpack_file "$output"
fi
done
}
# Автоматически скачиваем и устанавливаем все файлы
download_all
install_msi_files
rm -f ${WH_TMP_DIR}/*.zip
try_remove_dir "${UNPACK_APP}"

View File

@ -0,0 +1,65 @@
#!/usr/bin/env bash
# info_ru: Обучающие материалы, примеры, бесплатные библиотеки для T-FLEX CAD 17 (Учебное пособие 17, Стандартные элементы 17, Элементы уплотнительной техники 17, Станочные приспособления 17, Детали штампов листовой штамповки 17, Детали пресс-форм 17, Примеры 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"
BASE_URL="https://www.tflex.ru/downloads"
FILES=(
"T-FLEX Tutorial 17.zip"
"Standard parts 17.zip"
"Elements of sealing technology 17.zip"
"Machine tools 17.zip"
"Standard parts for sheet metal dies 17.zip"
"Standard Mold Parts 17.zip"
"Examples 17.zip"
)
UNPACK_RESOURCES="${WH_TMP_DIR}/unpack_resources"
prepair_wine
# Функция для распаковки файла
unpack_file() {
local archive="$1"
7z x -y "$archive" -o"${UNPACK_RESOURCES}"
}
# Функция для установки .msi файлов
install_msi_files() {
for msi_file in "${UNPACK_RESOURCES}"/*/*.msi; do
if [[ -f "$msi_file" ]]; then
echo "Установка $msi_file ..."
wine_run_install "$msi_file" /q
else
echo "Нет .msi файлов для установки в ${UNPACK_RESOURCES}/unpack_dop/*."
fi
done
}
# Функция для кодирования URL
encode_url() {
local file_name="$1"
echo "${file_name// /%20}" # Заменяем пробелы на %20
}
# Скачивание всех файлов
download_all() {
for file_name in "${FILES[@]}"; do
local file_url="$(encode_url "$file_name")"
local output="${WH_TMP_DIR}/${file_name// /_}"
echo "Скачивание $file_name..."
if try_download "$BASE_URL/$file_url" "$output"; then
unpack_file "$output"
fi
done
}
# Автоматически скачиваем и устанавливаем все файлы
download_all
install_msi_files
rm -f ${WH_TMP_DIR}/*.zip
try_remove_dir "${UNPACK_RESOURCES}"

View File

@ -1215,66 +1215,6 @@ run_autoinstall () {
echo
}
##### REMOVE PREFIX #####
remove_prefix() {
local prefix_name="$1"
local prefix_path="$WH_PREFIXES_DIR/$prefix_name"
if [[ -z "$prefix_name" ]]; then
print_error "Не указано имя префикса для удаления."
echo "Использование: $SCRIPT_NAME remove-prefix [имя_префикса]"
echo "Доступные префиксы:"
ls -1 "$WH_PREFIXES_DIR"
return 1
fi
if [[ ! -d "$prefix_path" ]]; then
print_error "Префикс "$prefix_name" не найден."
return 1
fi
echo "======================================================"
print_warning "Вы собираетесь удалить префикс "$prefix_name"."
echo "Это приведёт к:"
echo " - Полному удалению всех данных префикса"
echo " - Удалению всех программ, установленных в этом префиксе"
echo " - Удалению связанных ярлыков из меню и рабочего стола"
echo "======================================================"
read -p "Продолжить удаление? (y/N): " answer
if [[ ! "$answer" =~ ^[YyДд]$ ]]; then
print_info "Удаление префикса отменено."
return 0
fi
echo "----------------------------------------------"
print_warning " ВЫ ТОЧНО УВЕРЕНЫ?"
echo "----------------------------------------------"
read -p "Продолжить удаление? (y/N): " answer
if [[ ! "$answer" =~ ^[YyДд]$ ]]; then
print_info "Удаление префикса отменено."
return 0
fi
try_remove_dir "$prefix_path"
if [[ $? -eq 0 ]]; then
print_ok "Префикс "$prefix_name" успешно удален."
for desktop_file in "$WH_MENU_DIR"/*.desktop; do
if grep -q "$prefix_path" "$desktop_file"; then
desktop_name=$(basename "$desktop_file")
remove_desktop "${desktop_name%.*}"
fi
done
return 0
else
print_error "Не удалось удалить префикс "$prefix_name"."
return 1
fi
}
##### REMOVE WINEHELPER #####
remove_winehelper () {
local answer
@ -1342,7 +1282,6 @@ wh_info () {
installed список установленных программ
run [программа.exe] запуск программы (отладка)
remove удалить WineHelper и все связанные данные
remove-prefix [имя_префикса] удалить префикс и все связанные данные
Параметры:
--help показать эту справку и выйти
@ -1377,7 +1316,6 @@ case "${1,,}" in
installed) shift ; check_installed_programs "$1" ;;
run|-r) shift ; run_installed_programs "$1" ;;
remove|--remove) remove_winehelper ;;
remove-prefix) shift ; remove_prefix "$@" ;;
*)
if [[ -f "$1" ]] ; then
WIN_FILE_EXEC="$(readlink -f "$1")"