Compare commits

..

7 Commits

10 changed files with 257 additions and 28 deletions

View File

@ -1,5 +1,19 @@
История изменений:
0.3.5:
* обновлены скрипты установок daobit
* добавлен вывод списка программ с возможностью установки из существующего дистрибутива
0.3.4:
* добавлены скрипты установки специализированных программных решений для железнодорожной логистики daobit:
winehelper install daobit-cservice "/путь/до/установочногоайла" - "Сервис обновления ПО"
winehelper install daobit-ratlas "/путь/до/установочногоайла" - "R-Атлас"
winehelper install daobit-rinfo "/путь/до/установочногоайла" - "R-Инфо"
winehelper install daobit-rtariff "/путь/до/установочногоайла" - "R-Тариф"
* добавлена автоустановка:
winehelper install scadoffice - "Программный комплекс для расчёта строительных конструкций"
* добавлена возможность запуска приложений в сессии XRDP
0.3.3:
* добавлены скрипты установки:
winehelper install is-record-station "/путь/до/установочногоайла"

View File

@ -0,0 +1,102 @@
#!/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
}
# Вывод списка доступных файлов
list_files() {
echo "Доступные файлы для скачивания:"
for i in "${!FILES[@]}"; do
echo "$((i + 1)). ${FILES[$i]}"
done
}
# Скачивание одиночного файла
download_single() {
local index="$1"
local file_name="${FILES[$((index - 1))]}"
local file_url="$(encode_url "$file_name")"
local output="${WH_TMP_DIR}/${file_name// /_}"
if try_download "$BASE_URL/$file_url" "$output"; then
unpack_file "$output"
fi
}
# Скачивание всех файлов
download_all() {
for i in "${!FILES[@]}"; do
download_single "$((i + 1))"
done
}
# Основное меню
list_files
echo "Выберите опцию:"
echo "1. Скачать один файл и установить его."
echo "2. Скачать все файлы и установить их."
read -rp "Введите номер опции: " option
case "$option" in
1)
read -rp "Введите номер файла для скачивания (например, 1 для 'T-FLEX Analysis 17.zip'): " file_number
if [[ "$file_number" =~ ^[0-9]+$ ]] && (( file_number >= 1 && file_number <= ${#FILES[@]} )); then
download_single "$file_number"
else
echo "Неверный номер файла."
fi
;;
2)
download_all
;;
*)
echo "Неверный выбор. Попробуйте еще раз."
;;
esac
install_msi_files
try_remove_file ${WH_TMP_DIR}/*.zip
try_remove_dir "${UNPACK_APP}"

View File

@ -0,0 +1,101 @@
#!/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
}
# Вывод списка доступных файлов
list_files() {
echo "Доступные файлы для скачивания:"
for i in "${!FILES[@]}"; do
echo "$((i + 1)). ${FILES[$i]}"
done
}
# Скачивание одиночного файла
download_single() {
local index="$1"
local file_name="${FILES[$((index - 1))]}"
local file_url="$(encode_url "$file_name")"
local output="${WH_TMP_DIR}/${file_name// /_}"
if try_download "$BASE_URL/$file_url" "$output"; then
unpack_file "$output"
fi
}
# Скачивание всех файлов
download_all() {
for i in "${!FILES[@]}"; do
download_single "$((i + 1))"
done
}
# Основное меню
list_files
echo "Выберите опцию:"
echo "1. Скачать один файл и установить его."
echo "2. Скачать все файлы и установить их."
read -rp "Введите номер опции: " option
case "$option" in
1)
read -rp "Введите номер файла для скачивания (например, 1 для 'T-FLEX Tutorial 17.zip'): " file_number
if [[ "$file_number" =~ ^[0-9]+$ ]] && (( file_number >= 1 && file_number <= ${#FILES[@]} )); then
download_single "$file_number"
else
echo "Неверный номер файла."
fi
;;
2)
download_all
;;
*)
echo "Неверный выбор. Попробуйте еще раз."
;;
esac
install_msi_files
try_remove_file ${WH_TMP_DIR}/*.zip
try_remove_dir "${UNPACK_RESOURCES}"

BIN
image/daobitratlas.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -5,24 +5,24 @@ export WH_WINE_USE="wine_x_tkg_10-0_i586" # wine-9.0.9-alt1-i586"
export WINEPREFIX="daobit"
export PROG_NAME="Сервис обновления ПО"
export PROG_ICON="daobitcservice"
export BASE_PFX="none"
export BASE_PFX="daobit_pfx_x86_v01"
export WH_WINDOWS_VER="10"
export WINEARCH="win32"
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
# export USE_RENDERER="proton"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_cs"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_cs/SETUP.EXE"
EXE_SETUP_NAME="setup_cs.exe"
if [[ -f "$2" ]] ; then
if [[ -f "$2" ]] && [[ $2 =~ $EXE_SETUP_NAME$ ]] ; then
prepair_wine
7z x -y "$2" -o"${AUTOINSTALL_UNPACK}"
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\CSERVICE" /auto /hide
WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/CSERVICE/daoservc.exe"
WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/CSERVICE/CService32.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
try_remove_dir "$AUTOINSTALL_UNPACK"
else
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
winehelper install $1 \"/путь/до/установочногоайла\""
winehelper install $1 \"/путь/до/$EXE_SETUP_NAME\""
fi

View File

@ -5,15 +5,15 @@ export WH_WINE_USE="wine_x_tkg_10-0_i586" # wine-9.0.9-alt1-i586"
export WINEPREFIX="daobit"
export PROG_NAME="R-Атлас"
export PROG_ICON="daobitratlas"
export BASE_PFX="none"
export BASE_PFX="daobit_pfx_x86_v01"
export WH_WINDOWS_VER="10"
export WINEARCH="win32"
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
# export USE_RENDERER="proton"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_rk"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_rk/setup.exe"
EXE_SETUP_NAME="setup_rk.exe"
if [[ -f "$2" ]] ; then
if [[ -f "$2" ]] && [[ $2 =~ $EXE_SETUP_NAME$ ]] ; then
prepair_wine
7z x -y "$2" -o"${AUTOINSTALL_UNPACK}"
@ -24,5 +24,5 @@ if [[ -f "$2" ]] ; then
try_remove_dir "$AUTOINSTALL_UNPACK"
else
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
winehelper install $1 \"/путь/до/установочногоайла\""
winehelper install $1 \"/путь/до/$EXE_SETUP_NAME\""
fi

View File

@ -5,15 +5,15 @@ export WH_WINE_USE="wine_x_tkg_10-0_i586" # wine-9.0.9-alt1-i586"
export WINEPREFIX="daobit"
export PROG_NAME="R-Инфо"
export PROG_ICON="daobitrinfo"
export BASE_PFX="none"
export BASE_PFX="daobit_pfx_x86_v01"
export WH_WINDOWS_VER="10"
export WINEARCH="win32"
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
# export USE_RENDERER="proton"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_ri"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_ri/setup.exe"
EXE_SETUP_NAME="setup_ri.exe"
if [[ -f "$2" ]] ; then
if [[ -f "$2" ]] && [[ $2 =~ $EXE_SETUP_NAME$ ]] ; then
prepair_wine
7z x -y "$2" -o"${AUTOINSTALL_UNPACK}"
@ -24,5 +24,5 @@ if [[ -f "$2" ]] ; then
try_remove_dir "$AUTOINSTALL_UNPACK"
else
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
winehelper install $1 \"/путь/до/установочногоайла\""
winehelper install $1 \"/путь/до/$EXE_SETUP_NAME\""
fi

View File

@ -5,15 +5,15 @@ export WH_WINE_USE="wine_x_tkg_10-0_i586" # wine-9.0.9-alt1-i586"
export WINEPREFIX="daobit"
export PROG_NAME="R-Тариф"
export PROG_ICON="daobitrtariff"
export BASE_PFX="none"
export BASE_PFX="daobit_pfx_x86_v01"
export WH_WINDOWS_VER="10"
export WINEARCH="win32"
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
# export USE_RENDERER="proton"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_rt"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_rt/setup.exe"
EXE_SETUP_NAME="setup_rt.exe"
if [[ -f "$2" ]] ; then
if [[ -f "$2" ]] && [[ $2 =~ $EXE_SETUP_NAME$ ]] ; then
prepair_wine
7z x -y "$2" -o"${AUTOINSTALL_UNPACK}"
@ -24,5 +24,5 @@ if [[ -f "$2" ]] ; then
try_remove_dir "$AUTOINSTALL_UNPACK"
else
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
winehelper install $1 \"/путь/до/установочногоайла\""
winehelper install $1 \"/путь/до/$EXE_SETUP_NAME\""
fi

View File

@ -59,3 +59,7 @@ d026d799f8d3893c64c749661240d76896d45fd14fdb6665bf0f875a4a05bcdb spravkibk_pfx_
dfb44ce5e5af7dba1686932c63d6b05e5dd6919a21c78130a7d1d0271b93958e audiorecstation_pfx_v01.tar.xz
# create with wine_x_tkg_10-0_i586 (universal user: xuser)
# winetricks gdiplus vcrun2022 xact winhttp dotnet40 dotnet48 andale arial comicsans courier georgia impact times trebuchet verdana webdings corefonts dsound
00516ef51079d68ad0f9621c8270e0f86318539b63ebf1085d0faba36896e4ac daobit_pfx_x86_v01.tar.xz
# create with wine_x_tkg_10-0_i586 (universal user: xuser)
# winetricks arial dotnet7 dotnetdesktop7 renderer=gdi

View File

@ -86,14 +86,6 @@ check_variables VKD3D_VER "1.1-2602"
# check_variables VKD3D_LIMIT_TESS_FACTORS 64
# check_variables VKD3D_FEATURE_LEVEL "12_0"
if [[ "$WINEARCH" == "win32" ]] ;then
check_variables BASE_PFX "defpfx_x86_v01"
check_variables WINEPREFIX "default_x86"
else
check_variables BASE_PFX "defpfx_x64_v01"
check_variables WINEPREFIX "default_x64"
fi
export CLOUD_URL="https://cloud.linux-gaming.ru/portproton"
##### CHECK NOEXEC FOR /HOME #####
@ -776,15 +768,23 @@ get_base_pfx () {
init_wineprefix () {
if [[ -z "$WINEPREFIX" ]] ; then
export WINEPREFIX="$WH_PREFIXES_DIR/default"
print_warning "Префикс не выбран, используйте пееременную: WINEPREFIX=имя_префикса"
print_info "Список существующих префиксов:"
ls -1 "$WH_PREFIXES_DIR"
echo
exit 1
else
if echo "$WINEPREFIX" | grep -v '/' ; then
export WINEPREFIX="$WH_PREFIXES_DIR/$WINEPREFIX"
fi
fi
if [[ "$WINEARCH" == "win32" ]]
then check_variables BASE_PFX "defpfx_x86_v01"
else check_variables BASE_PFX "defpfx_x64_v01"
fi
export DRIVE_C="$WINEPREFIX/drive_c"
# export WINEDLLPATH+=":$DRIVE_C/widows/system32:$DRIVE_C/windows/syswow64"
if [[ ! -f "$WINEPREFIX/.firstboot" ]] ; then
create_new_dir "$WINEPREFIX"
@ -1028,7 +1028,7 @@ run_autoinstall () {
export INSTALL_SCRIPT INSTALL_MODE
if [[ $INSTALL_SCRIPT_NAME == "list" ]] || [[ -z "$INSTALL_SCRIPT_NAME" ]] ; then
echo "Список программ с возможностью автоматической установки:"
print_info "Список программ с возможностью автоматической установки:"
for list in $(ls "$WH_AUTOINSTALL_DIR") ; do
AI_INFO="$(grep "info_ru:" "$WH_AUTOINSTALL_DIR/$list" | awk -F"info_ru: " '{print $2}')"
AI_PROGNAME="$(grep "PROG_NAME=" "$WH_AUTOINSTALL_DIR/$list" | awk -F"PROG_NAME=" '{print $2}')"
@ -1036,12 +1036,20 @@ run_autoinstall () {
echo "$AI_INFO"
done
echo
print_info "Список программ с возможностью установки из существующего дистрибутива:"
for list in $(ls "$WH_MANUALINSTALL_DIR") ; do
AI_INFO="$(grep "info_ru:" "$WH_MANUALINSTALL_DIR/$list" | awk -F"info_ru: " '{print $2}')"
AI_PROGNAME="$(grep "PROG_NAME=" "$WH_MANUALINSTALL_DIR/$list" | awk -F"PROG_NAME=" '{print $2}')"
echo -e "\n$list - $AI_PROGNAME"
echo "$AI_INFO"
done
elif [[ "$INSTALL_SCRIPT" != "0" ]] ; then
source "$INSTALL_SCRIPT" "$@"
print_info "Завершена установка $INSTALL_SCRIPT_NAME"
else
fatal "Скрипт автоматической установки для $INSTALL_SCRIPT_NAME не найден!"
fi
echo
}
wh_info () {