Compare commits

..

4 Commits

Author SHA1 Message Date
6f50e5e0cf added backup/restore pfx 2025-06-14 07:52:26 +00:00
a58c477e32 fix 2025-06-14 06:47:01 +00:00
61c1d81192 Обновить README.md
fix command
2025-06-14 06:38:44 +00:00
19fdd64d1f added README.md 2025-06-14 12:11:50 +06:00
69 changed files with 706 additions and 1341 deletions

View File

@ -1,50 +1,5 @@
История изменений: История изменений:
0.4.8:
* все скрипты для программ daobit-* переведены из ручных установок в автоматические
0.4.7:
* обновлены скрипты установки и префикс для программ ved-* и ctm-*
* обновлены скрипты установки для программ daobit-*
* улучшено отображение шрифтов в ПО: Справки БК
* добавлена проверка хэш-суммы для сохраненных архивов
0.4.6:
* добавлено автодопонение команд для bash (bash_completion)
0.4.5:
* скорректирована проверка синтаксиса скриптов
0.4.4:
* добавлены/обновлены скрипты установки:
winehelper install t-flex-cad17 - "T-FLEX CAD 17"
winehelper install t-flex-doc17 - "T-FLEX DOCs 17"
winehelper install t-flex-cad2d+17 - "T-FLEX CAD 2D+ 17"
winehelper install t-flex-cad-edu17 - "T-FLEX CAD Учебная Версия 17"
winehelper install t-flex-viewer17 - "T-FLEX Viewer 17"
winehelper install t-flex-cad17-applications
Приложения для 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)
winehelper install t-flex-cad17-resources
Обучающие материалы, примеры, бесплатные библиотеки для T-FLEX CAD 17 (Учебное пособие 17, Стандартные элементы 17, Элементы уплотнительной техники 17, Станочные приспособления 17, Детали штампов листовой штамповки 17, Детали пресс-форм 17, Примеры 17)
* добавлена ручная установка дополнений для T-FLEX CAD 17:
winehelper install t-flex-cad17-manual "/путь/до/файла"
0.4.3:
* исправлено обновление префикса при первом запуске
0.4.2:
* исправлено создание и восстановление резервных копий с разными именами пользователей
0.4.1:
* добавлена возможность создания резервной копии префикса:
winehelper backup-prefix [имя_префикса]
* добавлена возможность восстановления резервной копии префикса:
winehelper restore-prefix "путь/до/резервной_копии.whpack"
* создание и восстановление резервной копии префикса включает в себя требуемую версиею WINE и информацию для создания .desktop файлов (ярлыков), что дает возможность переноса префикса на ПК без доступа к интернету
0.4.0: 0.4.0:
* добавлена автоматическая установка и настройка wine-cpcsp_proxy при * добавлена автоматическая установка и настройка wine-cpcsp_proxy при
использовании переменной WH_USE_CPCSP_PROXY=1 использовании переменной WH_USE_CPCSP_PROXY=1

163
README.md Normal file
View File

@ -0,0 +1,163 @@
<div align="center">
<h1 align="center">WineHelper</h1>
<p align="center">WineHelper - предназначен для упрощения установки windows-приложений, с помощью подготовленных скриптов, в разные префиксы и используя портативные версии wine для максимальной повторяемости на различных системах, начиная с релиза p10 Alt Linux и выше.</p>
</div>
## Установка
```
su -
apt-get update && apt-get dist-upgrade
apt-get install winehelper
exit
```
## Использование WineHelper
### Список приложений для установки
Для вывода списка доступных к установке приложений:
```
winehelper install list
```
либо использовать сокращенную команду:
```
winehelper -i
```
### Запуск установки приложений
В списках есть 2 вида установщиков:
**Список программ с возможностью автоматической установки** - содержит полностью автоматизированные скрипты установок программ у которых есть дистрибутивы (установщики) в свободном доступе.
Пример:
```
winehelper install spravki-bk
```
либо использовать сокращенную команду:
```
winehelper -i spravki-bk
```
**Список программ с возможностью установки из существующего дистрибутива** - содержит скрипты установок для программ которых нет в свободном доступе.
Пример:
```sh
winehelper install is-record-station "/путь/до/установочногоайла"
```
либо использовать сокращенную команду:
```sh
winehelper -i is-record-station "/путь/до/установочногоайла"
```
### Процесс установки приложений
1. при первом запуске winehelper произойдет проверка на дополнительные зависимости и при необходимости будет запрос ввода root пароля для установки пакетов
2. далее будет предложено принять лицензионные соглашения использования сторонних компонентов, для продолжения нажмите любую клавишу на клавиатуре
3. на данном этапе, в большей части скриптов, всё устанавливается автоматически с подробным выводом информации в терминале:
- загрузка необходимой версии wine, с последующей проверкой хэш-суммы
- загрузка базового префикса, с последующей проверкой хэш-суммы
- первичные обновление и подготовка префикса
- скачивание дистрибутива (установщика) программы с официального сайта
- установка программы
- создание desktop файла (ярлыка) на рабочем столе и в меню
Если устанавливаемое приложение требует дополнительных действий от пользователя, об этом будет явно написано в терминале.
### Процесс удаления префикса с приложением
Выполняем команду:
```sh
winehelper remove-prefix
```
и видим список префиксов доступных для удаления, например:
```sh
winehelper remove-prefix spravki-bk
```
после подтверждения клавишей "y" полностью удалит префикс с ПО и desktop файлы (ярлыки)
### Процесс удаления WineHelper
Выполняем команду:
```sh
winehelper remove-all
```
после подтверждения клавишей "y" данная команда удалить WineHelper и все связанные данные (префиксы, ярлыки, wine, прогаммы установленные с помощью WineHelper)
### Процесс создания резервной копии префикса
Выполняем команду:
```sh
winehelper backup-prefix "имя префикса"
```
команда создаст резервную копию префикса на рабочем столе в виде архива backup_имя_префикса_год.месяц.цисло.whpack
### Процесс восстановления резервной копии префикса
Выполняем команду:
```sh
winehelper restore-prefix "/путь/к/архиву.whpack"
```
команда восстановит префикс из резервной копии а также desktop файлы и фалы меню
### Дополнительные команды
```sh
winehelper help
```
Вывод:
<pre>
Использование: $SCRIPT_NAME [команда]
Команды:
install list список возможных установочных скриптов
install [скрипт] запустить скрипт установки программы
install [скрипт] --clear-pfx не использовать подготовленный префикс для установки ПО
installed список установленных программ
run [программа.exe] запуск программы (отладка)
remove-all удалить WineHelper и все связанные данные
remove-prefix [имя_префикса] удалить префикс и все связанные данные
backup-prefix [имя_префикса] создать резервную копию префикса
restore-prefix [имя_префикса] восстановить префикс из резервной копии
Параметры:
--help показать эту справку и выйти
--version показать информацию о пакете и его версии
--debug [команда] включить режим логирования работы WINE
</pre>
## 🛠 Участие в разработке
Мы рады вашим Pull Request'ам! Вот как можно помочь:
1. **Сообщить о баге или предложить улучшение**
Откройте [Задачи](https://git.linux-gaming.ru/CastroFidel/winehelper/issues), опишите проблему или идею.
2. **Исправить баг или добавить функционал**
- Форкните репозиторий
- Создайте ветку (`git checkout -b feature/ваша-фича`)
- Закоммитьте изменения (`git commit -m 'Добавил ...'`)
- Запушьте в форк (`git push origin feature/ваша-фича`)
- Откройте Pull Request
3. **Помощь с документацией**
Исправления в документации тоже приветствуются!
Перед началом работы обсудите вашу идею в [Задачи](https://git.linux-gaming.ru/CastroFidel/winehelper/issues), чтобы избежать дублирования.

View File

@ -1,42 +0,0 @@
# Auto-completion for winehelper
_winehelper_completions() {
local cur prev opts
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
opts="--help --version --debug install installed -r -i remove-all --clear-pfx killall remove-prefix backup-prefix restore-prefix"
wine_cmd="winecfg winereg winefile wineconsole winetricks desktop regedit explorer cmd run"
case "${prev}" in
winehelper)
COMPREPLY=( $(compgen -W "${opts} ${wine_cmd}" -- "${cur}") )
return 0
;;
--debug)
COMPREPLY=( $(compgen -W "${wine_cmd}" -- "${cur}") )
return 0
;;
install|-i)
local scripts="$(ls -1 /usr/share/winehelper/autoinstall) $(ls -1 /usr/share/winehelper/manualinstall)"
COMPREPLY=( $(compgen -W "list ${scripts}" -- "${cur}") )
return 0
;;
run|installed)
local installed=$(grep -h "Exec=env" ~/.local/share/winehelper/*.desktop 2>/dev/null | awk -F'/' '{print $NF}' | awk -F'"' '{print $1}')
COMPREPLY=( $(compgen -W "${installed}" -- "${cur}") )
return 0
;;
remove-prefix|backup-prefix)
local prefixes=$(ls -1 ~/.local/share/winehelper/prefixes 2>/dev/null)
COMPREPLY=( $(compgen -W "${prefixes}" -- "${cur}") )
return 0
;;
restore-prefix)
return 0
;;
*)
;;
esac
}
complete -F _winehelper_completions winehelper

View File

@ -1,114 +0,0 @@
#compdef winehelper
# shellcheck disable=SC2034,SC2206
_winehelper() {
local -a opts wine_cmd scripts installed prefixes
opts=(
'--help[Вывести справку]'
'--version[Показать информацию о пакете и его версии]'
'--debug[Режим отладки]'
'install[Запустить скрипт установки программы]'
'installed[Список установленных программ]'
'-r[Запуск программы (отладка)]'
'-i[Запустить скрипт установки программы]'
'remove-all[Удалить WineHelper и все связанные данные]'
'--clear-pfx[Очистить префикс \[имя_префикса\]]'
'killall[Убить все процессы]'
'remove-prefix[Удалить префикс и все связанные данные]'
'backup-prefix[Создать резерную копию префикса]'
'restore-prefix[восстановить префикс из резервной копии "путь/до/whpack"]'
)
wine_cmd=(
winecfg
winereg
winefile
wineconsole
winetricks
desktop
regedit
explorer
cmd
'run[Запуск программы (отладка)]'
)
local context state line
_arguments -C \
'1:command:->cmds' \
'2:subcommand or argument:->args'
case $state in
cmds)
_values 'winehelper options' "${opts[@]}" "${wine_cmd[@]}"
;;
args)
case $words[2] in
--debug)
_values 'wine commands' "${wine_cmd[@]}"
;;
install|-i)
_get_list_for_install
;;
run|installed)
_get_installed_list
;;
remove-prefix|backup-prefix)
_get_prefixes
;;
restore-prefix)
_files
;;
*)
_values 'winehelper options' "${opts[@]}" "${wine_cmd[@]}"
;;
esac
;;
esac
}
_get_prefixes () {
prefixes=( ${(f)"$(ls -1 ~/.local/share/winehelper/prefixes 2>/dev/null)"} )
if ((! ${#prefixes[@]} == 0 )); then
_values 'prefixes' "${prefixes[@]}"
fi
}
_get_list_for_install () {
packages=(${(f)"$(winehelper install list 2>/dev/null |
awk -F ' - ' '
/^[^ ]+ - \("/ {next}
/^[[:space:]]*$/ {next}
/^Информация:/ {next}
/^[^ ]+ - / {
name=$1;
desc=$2;
gsub(/^[[:space:]]+|[[:space:]]+$/, "", name);
gsub(/^[[:space:]]*"?|"?[[:space:]]*$/, "", desc);
if (name && desc) print name ":" desc
}
')"})
packages+=(
scadoffice:"SCAD Office"
t-flex-cad17-applications:"Приложения для T-FLEX CAD 17"
t-flex-cad17-resources:"Обучающие материалы T-FLEX CAD 17"
)
_describe 'packages' packages
}
_get_installed_list () {
installed=(
${(f)"$(grep -h 'Exec=env' ~/.local/share/winehelper/*.desktop 2>/dev/null |
awk -F'/' '{print $NF}' |
awk -F'"' '{print $1}')"}
)
if ((! ${#installed[@]} == 0 )); then
_values 'installed apps' "${installed[@]}"
fi
}
compdef _winehelper winehelper

View File

@ -16,7 +16,7 @@ AUTOINSTALL_SETUP="${WH_TMP_DIR}/expert${ALTA_VERSION}/setup.exe"
prepair_wine prepair_wine
if try_download "https://www1.alta.ru/pub/packets/distr/expert${ALTA_VERSION}.zip" "${AUTOINSTALL_EXE}" ; then if try_download "https://www1.alta.ru/pub/packets/distr/expert${ALTA_VERSION}.zip" "${AUTOINSTALL_EXE}" ; then
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}" 7z x -y "${AUTOINSTALL_EXE}" -o"${AUTOINSTALL_UNPACK}"
try_remove_file "$AUTOINSTALL_EXE" try_remove_file "$AUTOINSTALL_EXE"
wine_run_install "${AUTOINSTALL_SETUP}" /S /OVERWRITE wine_run_install "${AUTOINSTALL_SETUP}" /S /OVERWRITE

View File

@ -16,7 +16,7 @@ AUTOINSTALL_SETUP="${WH_TMP_DIR}/gtdw280125/setup.exe"
prepair_wine prepair_wine
if try_download "https://www2.alta.ru/pub/packets/distr/gtdw280125.zip" "${AUTOINSTALL_EXE}" ; then if try_download "https://www2.alta.ru/pub/packets/distr/gtdw280125.zip" "${AUTOINSTALL_EXE}" ; then
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}" 7z x -y "${AUTOINSTALL_EXE}" -o"${AUTOINSTALL_UNPACK}"
try_remove_file "$AUTOINSTALL_EXE" try_remove_file "$AUTOINSTALL_EXE"
wine_run_install "${AUTOINSTALL_SETUP}" /S /OVERWRITE wine_run_install "${AUTOINSTALL_SETUP}" /S /OVERWRITE

View File

@ -16,7 +16,7 @@ AUTOINSTALL_SETUP="${WH_TMP_DIR}/maximum${ALTA_VERSION}/setup.exe"
prepair_wine prepair_wine
if try_download "https://www2.alta.ru/pub/packets/distr/maximum${ALTA_VERSION}.zip" "${AUTOINSTALL_EXE}" ; then if try_download "https://www2.alta.ru/pub/packets/distr/maximum${ALTA_VERSION}.zip" "${AUTOINSTALL_EXE}" ; then
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}" 7z x -y "${AUTOINSTALL_EXE}" -o"${AUTOINSTALL_UNPACK}"
try_remove_file "$AUTOINSTALL_EXE" try_remove_file "$AUTOINSTALL_EXE"
wine_run_install "${AUTOINSTALL_SETUP}" /S /OVERWRITE wine_run_install "${AUTOINSTALL_SETUP}" /S /OVERWRITE

View File

@ -16,7 +16,7 @@ AUTOINSTALL_SETUP="${WH_TMP_DIR}/ordw030225/setup.exe"
prepair_wine prepair_wine
if try_download "https://www2.alta.ru/pub/packets/distr/ordw030225.zip" "${AUTOINSTALL_EXE}" ; then if try_download "https://www2.alta.ru/pub/packets/distr/ordw030225.zip" "${AUTOINSTALL_EXE}" ; then
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}" 7z x -y "${AUTOINSTALL_EXE}" -o"${AUTOINSTALL_UNPACK}"
try_remove_file "$AUTOINSTALL_EXE" try_remove_file "$AUTOINSTALL_EXE"
wine_run_install "${AUTOINSTALL_SETUP}" /S /OVERWRITE wine_run_install "${AUTOINSTALL_SETUP}" /S /OVERWRITE

View File

@ -16,7 +16,7 @@ AUTOINSTALL_SETUP="${WH_TMP_DIR}/taxwin040225/setup.exe"
prepair_wine prepair_wine
if try_download "https://www2.alta.ru/pub/packets/distr/taxwin040225.zip" "${AUTOINSTALL_EXE}" ; then if try_download "https://www2.alta.ru/pub/packets/distr/taxwin040225.zip" "${AUTOINSTALL_EXE}" ; then
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}" 7z x -y "${AUTOINSTALL_EXE}" -o"${AUTOINSTALL_UNPACK}"
try_remove_file "$AUTOINSTALL_EXE" try_remove_file "$AUTOINSTALL_EXE"
wine_run_install "${AUTOINSTALL_SETUP}" /S /OVERWRITE wine_run_install "${AUTOINSTALL_SETUP}" /S /OVERWRITE

View File

@ -16,7 +16,7 @@ AUTOINSTALL_SETUP="${WH_TMP_DIR}/zapwin040225/setup.exe"
prepair_wine prepair_wine
if try_download "https://www1.alta.ru/pub/packets/distr/zapwin040225.zip" "${AUTOINSTALL_EXE}" ; then if try_download "https://www1.alta.ru/pub/packets/distr/zapwin040225.zip" "${AUTOINSTALL_EXE}" ; then
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}" 7z x -y "${AUTOINSTALL_EXE}" -o"${AUTOINSTALL_UNPACK}"
try_remove_file "$AUTOINSTALL_EXE" try_remove_file "$AUTOINSTALL_EXE"
wine_run_install "${AUTOINSTALL_SETUP}" /S /OVERWRITE wine_run_install "${AUTOINSTALL_SETUP}" /S /OVERWRITE

View File

@ -6,22 +6,19 @@ export PROG_ICON="ctmfinance"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm" export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v05" export BASE_PFX="ved_ctm_pfx_x86_v04"
export WINEARCH="win32" export WINEARCH="win32"
export WH_WINDOWS_VER="7" export WH_WINDOWS_VER="7"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8 vcrun2019 dotnet7 dotnetdesktop7 renderer=gdi" export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8"
prepair_wine prepair_wine
# фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\CTM\CTMSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_fn.exe" AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_fn.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_fn" AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_fn"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_fn/setup.exe" AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_fn/setup.exe"
if try_download "https://files.ctm.ru/FINANCE/SFX/setup_fn.exe" "${AUTOINSTALL_EXE}" ; then if try_download "https://files.ctm.ru/FINANCE/SFX/setup_fn.exe" "${AUTOINSTALL_EXE}" ; then
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}" 7z x -y "${AUTOINSTALL_EXE}" -o"${AUTOINSTALL_UNPACK}"
try_remove_file "$AUTOINSTALL_EXE" try_remove_file "$AUTOINSTALL_EXE"
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\CTM\\\\FINANCE" /auto /hide wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\CTM\\\\FINANCE" /auto /hide

View File

@ -6,22 +6,19 @@ export PROG_ICON="ctmjournals"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm" export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v05" export BASE_PFX="ved_ctm_pfx_x86_v04"
export WINEARCH="win32" export WINEARCH="win32"
export WH_WINDOWS_VER="7" export WH_WINDOWS_VER="7"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8 vcrun2019 dotnet7 dotnetdesktop7 renderer=gdi" export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8"
prepair_wine prepair_wine
# фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\CTM\CTMSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_jr.exe" AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_jr.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_jr" AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_jr"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_jr/setup.exe" AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_jr/setup.exe"
if try_download "https://files.ctm.ru/JOURNALS/SFX/setup_jr.exe" "${AUTOINSTALL_EXE}" ; then if try_download "https://files.ctm.ru/JOURNALS/SFX/setup_jr.exe" "${AUTOINSTALL_EXE}" ; then
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}" 7z x -y "${AUTOINSTALL_EXE}" -o"${AUTOINSTALL_UNPACK}"
try_remove_file "$AUTOINSTALL_EXE" try_remove_file "$AUTOINSTALL_EXE"
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\CTM\\\\JOURNALS" /auto /hide wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\CTM\\\\JOURNALS" /auto /hide

View File

@ -6,22 +6,19 @@ export PROG_ICON="ctmmonitor"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm" export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v05" export BASE_PFX="ved_ctm_pfx_x86_v04"
export WINEARCH="win32" export WINEARCH="win32"
export WH_WINDOWS_VER="7" export WH_WINDOWS_VER="7"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8 vcrun2019 dotnet7 dotnetdesktop7 renderer=gdi" export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8"
prepair_wine prepair_wine
# фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\CTM\CTMSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_me.exe" AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_me.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_me" AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_me"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_me/setup.exe" AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_me/setup.exe"
if try_download "https://files.ctm.ru/MONITOR_ED/SFX/setup_me.exe" "${AUTOINSTALL_EXE}" ; then if try_download "https://files.ctm.ru/MONITOR_ED/SFX/setup_me.exe" "${AUTOINSTALL_EXE}" ; then
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}" 7z x -y "${AUTOINSTALL_EXE}" -o"${AUTOINSTALL_UNPACK}"
try_remove_file "$AUTOINSTALL_EXE" try_remove_file "$AUTOINSTALL_EXE"
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\CTM\\\\MONITOR_ED" /auto /hide wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\CTM\\\\MONITOR_ED" /auto /hide

View File

@ -6,22 +6,19 @@ export PROG_ICON="ctmreport"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm" export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v05" export BASE_PFX="ved_ctm_pfx_x86_v04"
export WINEARCH="win32" export WINEARCH="win32"
export WH_WINDOWS_VER="7" export WH_WINDOWS_VER="7"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8 vcrun2019 dotnet7 dotnetdesktop7 renderer=gdi" export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8"
prepair_wine prepair_wine
# фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\CTM\CTMSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_rp.exe" AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_rp.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_rp" AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_rp"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_rp/setup.exe" AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_rp/setup.exe"
if try_download "https://ftp.ctm.ru/REPORT/SFX/setup_rp.exe" "${AUTOINSTALL_EXE}" ; then if try_download "https://ftp.ctm.ru/REPORT/SFX/setup_rp.exe" "${AUTOINSTALL_EXE}" ; then
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}" 7z x -y "${AUTOINSTALL_EXE}" -o"${AUTOINSTALL_UNPACK}"
try_remove_file "$AUTOINSTALL_EXE" try_remove_file "$AUTOINSTALL_EXE"
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\CTM\\\\REPORT" /auto /hide wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\CTM\\\\REPORT" /auto /hide

View File

@ -6,22 +6,19 @@ export PROG_ICON="ctmservice"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm" export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v05" export BASE_PFX="ved_ctm_pfx_x86_v04"
export WINEARCH="win32" export WINEARCH="win32"
export WH_WINDOWS_VER="7" export WH_WINDOWS_VER="7"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8 vcrun2019 dotnet7 dotnetdesktop7 renderer=gdi" export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8"
prepair_wine prepair_wine
# фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\CTM\CTMSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_cs.exe" AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_cs.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_cs" AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_cs"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_cs/setup.exe" AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_cs/setup.exe"
if try_download "https://files.ctm.ru/CSERVICE/SFX/setup_cs.exe" "${AUTOINSTALL_EXE}" ; then if try_download "https://files.ctm.ru/CSERVICE/SFX/setup_cs.exe" "${AUTOINSTALL_EXE}" ; then
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}" 7z x -y "${AUTOINSTALL_EXE}" -o"${AUTOINSTALL_UNPACK}"
try_remove_file "$AUTOINSTALL_EXE" try_remove_file "$AUTOINSTALL_EXE"
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\CTM\\\\CSERVICE" /auto /hide wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\CTM\\\\CSERVICE" /auto /hide

View File

@ -16,7 +16,7 @@ AUTOINSTALL_SETUP="${WH_TMP_DIR}/Easymnemo/EasyMnemo.msi"
prepair_wine prepair_wine
if try_download "https://s.siteapi.org/c6e311629e736a8.ru/docs/j3pdl4vxv5wkg0sg0ksks40k8ss0sc" "${AUTOINSTALL_EXE}" ; then if try_download "https://s.siteapi.org/c6e311629e736a8.ru/docs/j3pdl4vxv5wkg0sg0ksks40k8ss0sc" "${AUTOINSTALL_EXE}" ; then
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}" 7z x -y "${AUTOINSTALL_EXE}" -o"${AUTOINSTALL_UNPACK}"
try_remove_file "$AUTOINSTALL_EXE" try_remove_file "$AUTOINSTALL_EXE"
wine_run_install "${AUTOINSTALL_SETUP}" /q wine_run_install "${AUTOINSTALL_SETUP}" /q

View File

@ -9,7 +9,6 @@ export BASE_PFX="spravkibk_pfx_x86_v03"
export WH_WINDOWS_VER="10" export WH_WINDOWS_VER="10"
export WINEARCH="win32" export WINEARCH="win32"
export INSTALL_DLL="msxml3 msxml6 dotnet35sp1 renderer=gdi" export INSTALL_DLL="msxml3 msxml6 dotnet35sp1 renderer=gdi"
export WH_USE_EXTRA_FONTS="1"
AUTOINSTALL_EXE="${WH_TMP_DIR}/СПО-Справки-БК-(версия-2.5.5)-от-31.01.2024.zip" AUTOINSTALL_EXE="${WH_TMP_DIR}/СПО-Справки-БК-(версия-2.5.5)-от-31.01.2024.zip"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/SpravkiBk" AUTOINSTALL_UNPACK="${WH_TMP_DIR}/SpravkiBk"
@ -17,7 +16,7 @@ AUTOINSTALL_SETUP="${WH_TMP_DIR}/SpravkiBk/SpravkiBk-2-5-5-2275-Internet.msi"
prepair_wine prepair_wine
if try_download "https://spravki-bk.ru/wp-content/uploads/СПО-Справки-БК-(версия-2.5.5)-от-31.01.2024.zip" "${AUTOINSTALL_EXE}" ; then if try_download "https://spravki-bk.ru/wp-content/uploads/СПО-Справки-БК-(версия-2.5.5)-от-31.01.2024.zip" "${AUTOINSTALL_EXE}" ; then
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}" 7z x -y "${AUTOINSTALL_EXE}" -o"${AUTOINSTALL_UNPACK}"
try_remove_file "$AUTOINSTALL_EXE" try_remove_file "$AUTOINSTALL_EXE"
wine_run_install "${AUTOINSTALL_SETUP}" /q wine_run_install "${AUTOINSTALL_SETUP}" /q

View File

@ -2,16 +2,75 @@
# info_ru: Учебная версия. САПР, объединяющая в себе мощные параметрические возможности 2D и 3D-моделирования со средствами создания и оформления чертежей и конструкторской документации по ЕСКД. # info_ru: Учебная версия. САПР, объединяющая в себе мощные параметрические возможности 2D и 3D-моделирования со средствами создания и оформления чертежей и конструкторской документации по ЕСКД.
######################################################################## ########################################################################
export PROG_NAME="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 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 WINEPREFIX="tflex17"
export WH_XDG_OPEN="log" 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"
# используем общий whdb файл для подготовки префикса и сервисов prepair_wine
# prepair_wine используется из файла настроек if [[ "$BASE_PFX" == "none" ]] \
source "$WH_DB_DIR/t-flex-cad17.whdb" || ! 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
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="${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
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 "${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
# Программа T-FLEX CAD Учебная Версия # Программа T-FLEX CAD Учебная Версия
export AUTOINSTALL_ZIP="${WH_TMP_DIR}/TFCAD_ST_17x64_PACK.zip" export AUTOINSTALL_ZIP="${WH_TMP_DIR}/TFCAD_ST_17x64_PACK.zip"
@ -21,7 +80,7 @@ export AUTOINSTALL_COMPONENTS="${WH_TMP_DIR}/Компоненты поддерж
export AUTOINSTALL_ELEMENTS="${WH_TMP_DIR}/Стандартные элементы 17/Стандартные элементы 17.msi" export AUTOINSTALL_ELEMENTS="${WH_TMP_DIR}/Стандартные элементы 17/Стандартные элементы 17.msi"
if try_download "https://www.tflexcad.ru/download/t-flex-cad-free/files/TFCAD_ST_17x64_PACK.zip" "${AUTOINSTALL_ZIP}" ; then if try_download "https://www.tflexcad.ru/download/t-flex-cad-free/files/TFCAD_ST_17x64_PACK.zip" "${AUTOINSTALL_ZIP}" ; then
unpack "${AUTOINSTALL_ZIP}" "${AUTOINSTALL_DIR}" 7z x -y "${AUTOINSTALL_ZIP}" -o"${AUTOINSTALL_DIR}"
try_remove_file "${AUTOINSTALL_ZIP}" try_remove_file "${AUTOINSTALL_ZIP}"
wine_run_install "${AUTOINSTALL_EDUCATION}" /q wine_run_install "${AUTOINSTALL_EDUCATION}" /q

View File

@ -2,16 +2,75 @@
# info_ru: Профессиональная САПР, объединяющая в себе мощные параметрические возможности 2D и 3D-моделирования со средствами создания и оформления чертежей и конструкторской документации по ЕСКД. # info_ru: Профессиональная САПР, объединяющая в себе мощные параметрические возможности 2D и 3D-моделирования со средствами создания и оформления чертежей и конструкторской документации по ЕСКД.
######################################################################## ########################################################################
export PROG_NAME="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 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 WINEPREFIX="tflex17"
export WH_XDG_OPEN="log" 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"
# используем общий whdb файл для подготовки префикса и сервисов prepair_wine
# prepair_wine используется из файла настроек if [[ "$BASE_PFX" == "none" ]] \
source "$WH_DB_DIR/t-flex-cad17.whdb" || ! 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
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="${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
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 "${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
# Программа T-FLEX CAD # Программа T-FLEX CAD
export AUTOINSTALL_ZIP="${WH_TMP_DIR}/T-FLEX CAD 17.zip" export AUTOINSTALL_ZIP="${WH_TMP_DIR}/T-FLEX CAD 17.zip"
@ -19,7 +78,7 @@ export AUTOINSTALL_DIR="${WH_TMP_DIR}"
export AUTOINSTALL_EXE="${WH_TMP_DIR}/T-FLEX CAD 17/T-FLEX CAD 17.msi" export AUTOINSTALL_EXE="${WH_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 if try_download "https://www.tflex.ru/downloads/T-FLEX%20CAD%2017.zip" "${AUTOINSTALL_ZIP}" ; then
unpack "${AUTOINSTALL_ZIP}" "${AUTOINSTALL_DIR}" 7z x -y "${AUTOINSTALL_ZIP}" -o"${AUTOINSTALL_DIR}"
try_remove_file "${AUTOINSTALL_ZIP}" try_remove_file "${AUTOINSTALL_ZIP}"
wine_run_install "${AUTOINSTALL_EXE}" /q wine_run_install "${AUTOINSTALL_EXE}" /q

View File

@ -1,50 +0,0 @@
#!/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"
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=(
"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
# Скачивание всех файлов
for file_name in "${FILES[@]}" ; do
local output="${WH_TMP_DIR}/${file_name// /_}"
if try_download "$BASE_URL/$file_name" "$output" ; then
unpack "$output" "${UNPACK_APP}"
fi
try_remove_file "$output"
done
# Установка .msi файлов
for msi_file in "${UNPACK_APP}"/*/*.msi ; do
if [[ -f "$msi_file" ]] ; then
wine_run_install "$msi_file" /q
else
fatal "Нет .msi файлов для установки в ${UNPACK_APP}/*."
fi
done
try_remove_dir "${UNPACK_APP}"

View File

@ -1,49 +0,0 @@
#!/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"
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=(
"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
# Скачивание всех файлов
for file_name in "${FILES[@]}" ; do
local output="${WH_TMP_DIR}/${file_name// /_}"
if try_download "$BASE_URL/$file_name" "$output" ; then
unpack "$output" "$UNPACK_RESOURCES"
fi
try_remove_file "$output"
done
# Установка .msi файлов
for msi_file in "${UNPACK_RESOURCES}"/*/*.msi ; do
if [[ -f "$msi_file" ]] ; then
wine_run_install "$msi_file" /q
else
fatal "Нет .msi файлов для установки в ${UNPACK_RESOURCES}/unpack_dop/*."
fi
done
try_remove_dir "${UNPACK_RESOURCES}"

View File

@ -2,16 +2,75 @@
# info_ru: Профессиональная САПР, объединяющая в себе мощные параметрические возможности 2D и 3D-моделирования со средствами создания и оформления чертежей и конструкторской документации по ЕСКД. # info_ru: Профессиональная САПР, объединяющая в себе мощные параметрические возможности 2D и 3D-моделирования со средствами создания и оформления чертежей и конструкторской документации по ЕСКД.
######################################################################## ########################################################################
export PROG_NAME="T-FLEX CAD 2D+ 17" export PROG_NAME="T-FLEX CAD 2D+ 17"
export PROG_ICON="tflexcad"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEARCH="win64"
export WH_WINDOWS_VER="10" 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 WINEPREFIX="tflex17"
export WH_XDG_OPEN="log" 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"
# используем общий whdb файл для подготовки префикса и сервисов prepair_wine
# prepair_wine используется из файла настроек if [[ "$BASE_PFX" == "none" ]] \
source "$WH_DB_DIR/t-flex-cad17.whdb" || ! 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
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="${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
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 "${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
# Программа T-FLEX CAD 2D+ 17 # Программа T-FLEX CAD 2D+ 17
export AUTOINSTALL_ZIP="${WH_TMP_DIR}/T-FLEX CAD 2D+ 17.zip" export AUTOINSTALL_ZIP="${WH_TMP_DIR}/T-FLEX CAD 2D+ 17.zip"
@ -19,7 +78,7 @@ export AUTOINSTALL_DIR="${WH_TMP_DIR}"
export AUTOINSTALL_EXE="${WH_TMP_DIR}/T-FLEX CAD 2D+ 17/T-FLEX CAD 2D+ 17.msi" export AUTOINSTALL_EXE="${WH_TMP_DIR}/T-FLEX CAD 2D+ 17/T-FLEX CAD 2D+ 17.msi"
if try_download "https://www.tflex.ru/downloads/T-FLEX%20CAD%202D+%2017.zip" "${AUTOINSTALL_ZIP}" ; then if try_download "https://www.tflex.ru/downloads/T-FLEX%20CAD%202D+%2017.zip" "${AUTOINSTALL_ZIP}" ; then
unpack "${AUTOINSTALL_ZIP}" "${AUTOINSTALL_DIR}" 7z x -y "${AUTOINSTALL_ZIP}" -o"${AUTOINSTALL_DIR}"
try_remove_file "${AUTOINSTALL_ZIP}" try_remove_file "${AUTOINSTALL_ZIP}"
wine_run_install "${AUTOINSTALL_EXE}" /q wine_run_install "${AUTOINSTALL_EXE}" /q

View File

@ -2,16 +2,77 @@
# info_ru: Система T-FLEX DOCs предназначена для комплексного управления инженерными данными предприятия, а также решения задач конструкторско-технологического и организационно-распорядительного документооборота. # info_ru: Система T-FLEX DOCs предназначена для комплексного управления инженерными данными предприятия, а также решения задач конструкторско-технологического и организационно-распорядительного документооборота.
######################################################################## ########################################################################
export PROG_NAME="T-FLEX DOCs 17" export PROG_NAME="T-FLEX DOCs 17"
export PROG_ICON="tflexdoc"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEARCH="win64"
export WH_WINDOWS_VER="10" 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 WINEPREFIX="tflex17"
export WH_XDG_OPEN="log" 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
# используем общий whdb файл для подготовки префикса и сервисов prepair_wine
# prepair_wine используется из файла настроек
source "$WH_DB_DIR/t-flex-cad17.whdb" 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
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="${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
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 "${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
# Программа T-FLEX DOC # Программа T-FLEX DOC
AUTOINSTALL_ZIP="${WH_TMP_DIR}/T-FLEX DOCs 17 Client.zip" AUTOINSTALL_ZIP="${WH_TMP_DIR}/T-FLEX DOCs 17 Client.zip"
@ -19,7 +80,7 @@ AUTOINSTALL_DIR="${WH_TMP_DIR}/T-FLEX DOCs 17"
AUTOINSTALL_EXE="${WH_TMP_DIR}/T-FLEX DOCs 17/T-FLEX DOCs 17/T-FLEX DOCs 17.msi" AUTOINSTALL_EXE="${WH_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 if try_download "https://www.tflex.ru/downloads/DOCs/T-FLEX%20DOCs%2017%20Client.zip" "${AUTOINSTALL_ZIP}" ; then
unpack "${AUTOINSTALL_ZIP}" "${AUTOINSTALL_DIR}" 7z x -y "${AUTOINSTALL_ZIP}" -o"${AUTOINSTALL_DIR}"
try_remove_file "${AUTOINSTALL_ZIP}" try_remove_file "${AUTOINSTALL_ZIP}"
wine_run_install "${AUTOINSTALL_EXE}" /q wine_run_install "${AUTOINSTALL_EXE}" /q

View File

@ -2,16 +2,75 @@
# info_ru: Просмотр, печать и аннотирование документов T-FLEX CAD # info_ru: Просмотр, печать и аннотирование документов T-FLEX CAD
######################################################################## ########################################################################
export PROG_NAME="T-FLEX Viewer 17" export PROG_NAME="T-FLEX Viewer 17"
export PROG_ICON="tflexcad"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEARCH="win64"
export WH_WINDOWS_VER="10" 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 WINEPREFIX="tflex17"
export WH_XDG_OPEN="log" 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"
# используем общий whdb файл для подготовки префикса и сервисов prepair_wine
# prepair_wine используется из файла настроек if [[ "$BASE_PFX" == "none" ]] \
source "$WH_DB_DIR/t-flex-cad17.whdb" || ! 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
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="${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
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 "${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
# Программа T-FLEX Viewer # Программа T-FLEX Viewer
export AUTOINSTALL_ZIP="${WH_TMP_DIR}/T-FLEX Viewer 17.zip" export AUTOINSTALL_ZIP="${WH_TMP_DIR}/T-FLEX Viewer 17.zip"
@ -19,7 +78,7 @@ export AUTOINSTALL_DIR="${WH_TMP_DIR}"
export AUTOINSTALL_EXE="${WH_TMP_DIR}/T-FLEX Viewer 17/T-FLEX Viewer 17.msi" export AUTOINSTALL_EXE="${WH_TMP_DIR}/T-FLEX Viewer 17/T-FLEX Viewer 17.msi"
if try_download "https://www.tflex.ru/downloads/T-FLEX%20Viewer%2017.zip" "${AUTOINSTALL_ZIP}" ; then if try_download "https://www.tflex.ru/downloads/T-FLEX%20Viewer%2017.zip" "${AUTOINSTALL_ZIP}" ; then
unpack "${AUTOINSTALL_ZIP}" "${AUTOINSTALL_DIR}" 7z x -y "${AUTOINSTALL_ZIP}" -o"${AUTOINSTALL_DIR}"
try_remove_file "${AUTOINSTALL_ZIP}" try_remove_file "${AUTOINSTALL_ZIP}"
wine_run_install "${AUTOINSTALL_EXE}" /q wine_run_install "${AUTOINSTALL_EXE}" /q

View File

@ -6,22 +6,19 @@ export PROG_ICON="vedalf"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm" export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v05" export BASE_PFX="ved_ctm_pfx_x86_v04"
export WINEARCH="win32" export WINEARCH="win32"
export WH_WINDOWS_VER="7" export WH_WINDOWS_VER="7"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8 vcrun2019 dotnet7 dotnetdesktop7 renderer=gdi" export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8"
prepair_wine prepair_wine
# фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\CTM\CTMSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_al.exe" AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_al.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_al" AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_al"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_al/setup.exe" AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_al/setup.exe"
if try_download "https://ftp.ctm.ru/ALPHABET/SFX/setup_al.exe" "${AUTOINSTALL_EXE}" ; then if try_download "https://ftp.ctm.ru/ALPHABET/SFX/setup_al.exe" "${AUTOINSTALL_EXE}" ; then
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}" 7z x -y "${AUTOINSTALL_EXE}" -o"${AUTOINSTALL_UNPACK}"
try_remove_file "$AUTOINSTALL_EXE" try_remove_file "$AUTOINSTALL_EXE"
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\CTM\\\\ALPHABET" /auto /hide wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\CTM\\\\ALPHABET" /auto /hide

View File

@ -6,22 +6,19 @@ export PROG_ICON="vedcontrol"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm" export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v05" export BASE_PFX="ved_ctm_pfx_x86_v04"
export WINEARCH="win32" export WINEARCH="win32"
export WH_WINDOWS_VER="7" export WH_WINDOWS_VER="7"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8 vcrun2019 dotnet7 dotnetdesktop7 renderer=gdi" export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8"
prepair_wine prepair_wine
# фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\CTM\CTMSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_cl.exe" AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_cl.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_cl" AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_cl"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_cl/setup.exe" AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_cl/setup.exe"
if try_download "https://ftp.ctm.ru/CONTROL/SFX/setup_cl.exe" "${AUTOINSTALL_EXE}" ; then if try_download "https://ftp.ctm.ru/CONTROL/SFX/setup_cl.exe" "${AUTOINSTALL_EXE}" ; then
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}" 7z x -y "${AUTOINSTALL_EXE}" -o"${AUTOINSTALL_UNPACK}"
try_remove_file "$AUTOINSTALL_EXE" try_remove_file "$AUTOINSTALL_EXE"
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\CTM\\\\CONTROL" /auto /hide wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\CTM\\\\CONTROL" /auto /hide

View File

@ -6,22 +6,19 @@ export PROG_ICON="veddcl"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm" export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v05" export BASE_PFX="ved_ctm_pfx_x86_v04"
export WINEARCH="win32" export WINEARCH="win32"
export WH_WINDOWS_VER="7" export WH_WINDOWS_VER="7"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8 vcrun2019 dotnet7 dotnetdesktop7 renderer=gdi" export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8"
prepair_wine prepair_wine
# фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\CTM\CTMSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_dl.exe" AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_dl.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_dl" AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_dl"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_dl/setup.exe" AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_dl/setup.exe"
if try_download "https://ftp.ctm.ru/DCL/SFX/setup_dl.exe" "${AUTOINSTALL_EXE}" ; then if try_download "https://ftp.ctm.ru/DCL/SFX/setup_dl.exe" "${AUTOINSTALL_EXE}" ; then
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}" 7z x -y "${AUTOINSTALL_EXE}" -o"${AUTOINSTALL_UNPACK}"
try_remove_file "$AUTOINSTALL_EXE" try_remove_file "$AUTOINSTALL_EXE"
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\CTM\\\\DCL" /auto /hide wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\CTM\\\\DCL" /auto /hide

View File

@ -6,22 +6,19 @@ export PROG_ICON="vedinfo"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm" export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v05" export BASE_PFX="ved_ctm_pfx_x86_v04"
export WINEARCH="win32" export WINEARCH="win32"
export WH_WINDOWS_VER="7" export WH_WINDOWS_VER="7"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8 vcrun2019 dotnet7 dotnetdesktop7 renderer=gdi" export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8"
prepair_wine prepair_wine
# фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\CTM\CTMSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_vi.exe" AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_vi.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_vi" AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_vi"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_vi/setup.exe" AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_vi/setup.exe"
if try_download "https://ftp.ctm.ru/VEDINFO/SFX/setup_vi.exe" "${AUTOINSTALL_EXE}" ; then if try_download "https://ftp.ctm.ru/VEDINFO/SFX/setup_vi.exe" "${AUTOINSTALL_EXE}" ; then
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}" 7z x -y "${AUTOINSTALL_EXE}" -o"${AUTOINSTALL_UNPACK}"
try_remove_file "$AUTOINSTALL_EXE" try_remove_file "$AUTOINSTALL_EXE"
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\CTM\\\\VED_INFO" /auto /hide wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\CTM\\\\VED_INFO" /auto /hide

View File

@ -6,22 +6,19 @@ export PROG_ICON="vedpayments"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm" export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v05" export BASE_PFX="ved_ctm_pfx_x86_v04"
export WINEARCH="win32" export WINEARCH="win32"
export WH_WINDOWS_VER="7" export WH_WINDOWS_VER="7"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8 vcrun2019 dotnet7 dotnetdesktop7 renderer=gdi" export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8"
prepair_wine prepair_wine
# фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\CTM\CTMSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_pa.exe" AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_pa.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_pa" AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_pa"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_pa/setup.exe" AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_pa/setup.exe"
if try_download "https://ftp.ctm.ru/PAYMENT/SFX/setup_pa.exe" "${AUTOINSTALL_EXE}" ; then if try_download "https://ftp.ctm.ru/PAYMENT/SFX/setup_pa.exe" "${AUTOINSTALL_EXE}" ; then
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}" 7z x -y "${AUTOINSTALL_EXE}" -o"${AUTOINSTALL_UNPACK}"
try_remove_file "$AUTOINSTALL_EXE" try_remove_file "$AUTOINSTALL_EXE"
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\CTM\\\\PAYMENT" /auto /hide wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\CTM\\\\PAYMENT" /auto /hide

View File

@ -6,22 +6,19 @@ export PROG_ICON="vedsts"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm" export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v05" export BASE_PFX="ved_ctm_pfx_x86_v04"
export WINEARCH="win32" export WINEARCH="win32"
export WH_WINDOWS_VER="7" export WH_WINDOWS_VER="7"
export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8 vcrun2019 dotnet7 dotnetdesktop7 renderer=gdi" export INSTALL_DLL="vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8"
prepair_wine prepair_wine
# фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\CTM\CTMSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_st.exe" AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_st.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_st" AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_st"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_st/setup.exe" AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_st/setup.exe"
if try_download "https://ftp.ctm.ru/STS/SFX/setup_st.exe" "${AUTOINSTALL_EXE}" ; then if try_download "https://ftp.ctm.ru/STS/SFX/setup_st.exe" "${AUTOINSTALL_EXE}" ; then
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}" 7z x -y "${AUTOINSTALL_EXE}" -o"${AUTOINSTALL_UNPACK}"
try_remove_file "$AUTOINSTALL_EXE" try_remove_file "$AUTOINSTALL_EXE"
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\CTM\\\\STS" /auto /hide wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\CTM\\\\STS" /auto /hide

0
database/empty Normal file
View File

View File

@ -1,93 +0,0 @@
#!/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

View File

@ -19,11 +19,11 @@ apt-repo | grep -q "x86_64-i586" || fatal "Репозиторий x86_64-i586 н
windows приложения. Подробнее по ссылке: https://www.altlinux.org/Biarch" windows приложения. Подробнее по ссылке: https://www.altlinux.org/Biarch"
##### INSTALL DEPENDENCIES ##### ##### INSTALL DEPENDENCIES #####
# fonts-ttf-ms
apt-get install {i586-,}{glibc-core,libstdc++6,glibc-pthread,glibc-nss,\ apt-get install {i586-,}{glibc-core,libstdc++6,glibc-pthread,glibc-nss,\
libOSMesa,libnss-mdns,libunixODBC2,ocl-icd,libfreetype,libfontconfig1,\ libOSMesa,libnss-mdns,libunixODBC2,ocl-icd,libfreetype,libfontconfig1,\
libgnutls30,libGL,libEGL,xorg-dri-swrast,xorg-dri-intel,xorg-dri-radeon,\ libgnutls30,libGL,libEGL,xorg-dri-swrast,xorg-dri-intel,xorg-dri-radeon,\
libvulkan1,libcups} || fatal "Не удалось установить зависимости." libvulkan1,libcups} || fatal "Не удалось установить зависимости."
apt-get install {i586-,}wine apt-get install {i586-,}wine
# yad zenity

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

View File

@ -9,22 +9,20 @@ export BASE_PFX="daobit_pfx_x86_v01"
export WH_WINDOWS_VER="10" export WH_WINDOWS_VER="10"
export WINEARCH="win32" export WINEARCH="win32"
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi" export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_cs.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_cs" AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_cs"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_cs/SETUP.EXE" AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_cs/SETUP.EXE"
EXE_SETUP_NAME="setup_cs.exe"
prepair_wine if [[ -f "$2" ]] && [[ $2 =~ $EXE_SETUP_NAME$ ]] ; then
if try_download "https://files.daobit.ru/CSERVICE/SFX/setup_cs.exe" "${AUTOINSTALL_EXE}" ; then prepair_wine
# фикс постоянного запроса обновления Windows 7z x -y "$2" -o"${AUTOINSTALL_UNPACK}"
get_and_set_reg_file --add 'Software\DAO\DAOSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}"
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\CSERVICE" /auto /hide wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\CSERVICE" /auto /hide
WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/CSERVICE/CService32.exe" WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/CSERVICE/CService32.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON" create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
try_remove_dir "$AUTOINSTALL_UNPACK" try_remove_dir "$AUTOINSTALL_UNPACK"
try_remove_file "$AUTOINSTALL_EXE" else
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
winehelper install $1 \"/путь/до/$EXE_SETUP_NAME\""
fi fi

View File

@ -9,22 +9,20 @@ export BASE_PFX="daobit_pfx_x86_v01"
export WH_WINDOWS_VER="10" export WH_WINDOWS_VER="10"
export WINEARCH="win32" export WINEARCH="win32"
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi" export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_rk.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_rk" AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_rk"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_rk/setup.exe" AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_rk/setup.exe"
EXE_SETUP_NAME="setup_rk.exe"
prepair_wine if [[ -f "$2" ]] && [[ $2 =~ $EXE_SETUP_NAME$ ]] ; then
if try_download "https://files.daobit.ru/RATLAS/SFX/setup_rk.exe" "${AUTOINSTALL_EXE}" ; then prepair_wine
# фикс постоянного запроса обновления Windows 7z x -y "$2" -o"${AUTOINSTALL_UNPACK}"
get_and_set_reg_file --add 'Software\DAO\DAOSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}"
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\RAtlas" /auto /hide wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\RAtlas" /auto /hide
WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/RAtlas/ratlas.exe" WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/RAtlas/ratlas.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON" create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
try_remove_dir "$AUTOINSTALL_UNPACK" try_remove_dir "$AUTOINSTALL_UNPACK"
try_remove_file "$AUTOINSTALL_EXE" else
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
winehelper install $1 \"/путь/до/$EXE_SETUP_NAME\""
fi fi

View File

@ -9,22 +9,20 @@ export BASE_PFX="daobit_pfx_x86_v01"
export WH_WINDOWS_VER="10" export WH_WINDOWS_VER="10"
export WINEARCH="win32" export WINEARCH="win32"
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi" export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_ri.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_ri" AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_ri"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_ri/setup.exe" AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_ri/setup.exe"
EXE_SETUP_NAME="setup_ri.exe"
prepair_wine if [[ -f "$2" ]] && [[ $2 =~ $EXE_SETUP_NAME$ ]] ; then
if try_download "https://files.daobit.ru/RINFO/SFX/setup_ri.exe" "${AUTOINSTALL_EXE}" ; then prepair_wine
# фикс постоянного запроса обновления Windows 7z x -y "$2" -o"${AUTOINSTALL_UNPACK}"
get_and_set_reg_file --add 'Software\DAO\DAOSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}"
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\RInfo" /auto /hide wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\RInfo" /auto /hide
WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/RInfo/rinfo.exe" WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/RInfo/rinfo.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON" create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
try_remove_dir "$AUTOINSTALL_UNPACK" try_remove_dir "$AUTOINSTALL_UNPACK"
try_remove_file "$AUTOINSTALL_EXE" else
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
winehelper install $1 \"/путь/до/$EXE_SETUP_NAME\""
fi fi

View File

@ -9,22 +9,20 @@ export BASE_PFX="daobit_pfx_x86_v01"
export WH_WINDOWS_VER="10" export WH_WINDOWS_VER="10"
export WINEARCH="win32" export WINEARCH="win32"
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi" export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_rt.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_rt" AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_rt"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_rt/setup.exe" AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_rt/setup.exe"
EXE_SETUP_NAME="setup_rt.exe"
prepair_wine if [[ -f "$2" ]] && [[ $2 =~ $EXE_SETUP_NAME$ ]] ; then
if try_download "https://files.daobit.ru/RTARIFF/SFX/setup_rt.exe" "${AUTOINSTALL_EXE}" ; then prepair_wine
# фикс постоянного запроса обновления Windows 7z x -y "$2" -o"${AUTOINSTALL_UNPACK}"
get_and_set_reg_file --add 'Software\DAO\DAOSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}"
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\RTariff" /auto /hide wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\RTariff" /auto /hide
WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/RTariff/Tariff.exe" WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/RTariff/Tariff.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON" create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
try_remove_dir "$AUTOINSTALL_UNPACK" try_remove_dir "$AUTOINSTALL_UNPACK"
try_remove_file "$AUTOINSTALL_EXE" else
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
winehelper install $1 \"/путь/до/$EXE_SETUP_NAME\""
fi fi

View File

@ -1,21 +0,0 @@
#!/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

View File

@ -5,8 +5,6 @@
fb7fdfde96de10a1b3b051bdf2727b6a7c1768b878483726454dd6726e9e0193 wine-9.0.14-alt1-i586-spravkibk.tar.xz fb7fdfde96de10a1b3b051bdf2727b6a7c1768b878483726454dd6726e9e0193 wine-9.0.14-alt1-i586-spravkibk.tar.xz
e0a84bb4908c3927954d7eef6b8ac7212e442b8c107d000c6890fec340f96183 wine-9.0.14-alt1-amd64.tar.xz e0a84bb4908c3927954d7eef6b8ac7212e442b8c107d000c6890fec340f96183 wine-9.0.14-alt1-amd64.tar.xz
6f86d2220b65b709bf88c6f829a4998de3b929cc2091cd1333a51c32e1491b79 wine-9.0.9-alt1-i586.tar.xz 6f86d2220b65b709bf88c6f829a4998de3b929cc2091cd1333a51c32e1491b79 wine-9.0.9-alt1-i586.tar.xz
61bec1230b37b8fcc69fd45f848b44fd88cc41fcdd5dc3080336d7da63660f40 wine-7.16.1-alt1-amd64.tar.xz
6fea17fd131f57c2ebf7ca4c60d3c5a9e819afe16e5d0b77ecb750da99ae0e38 wine-7.16.1-alt1-i586.tar.xz
##### DXVK ##### ##### DXVK #####
@ -19,9 +17,6 @@ df1a940d2e072a884524f66a16e0f0ef74048bc6a6642b96eb257528a522109f vkd3d-proton-1
##### CPCSP_PROXY ##### ##### CPCSP_PROXY #####
3153088ff28d6af415c3504a421e5382554dbb305f38d5a87dd84df90d680421 wine-cpcsp_proxy-0.6.1-alt1.tar.xz 3153088ff28d6af415c3504a421e5382554dbb305f38d5a87dd84df90d680421 wine-cpcsp_proxy-0.6.1-alt1.tar.xz
##### FONTS #####
405bfe3b7c7f80034837c05656535053305727ee4bf1d993521b67b71d08ebc6 extra_fonts_v01.tar.xz
##### PREFIX ##### ##### PREFIX #####
0e86cd9958d1bd1bfac99e23165a091a4ea2fa3e693c551f69aabeed5f681fea defpfx_x86_v01.tar.xz 0e86cd9958d1bd1bfac99e23165a091a4ea2fa3e693c551f69aabeed5f681fea defpfx_x86_v01.tar.xz
@ -52,10 +47,6 @@ f4cb2f380ad8887f334c6eb3c272b343ae8de327764945266e9e74f8acbac69f tflex17_pfx_x6
# create with wine_x_tkg_10-0_amd64 (universal user: xuser) # create with wine_x_tkg_10-0_amd64 (universal user: xuser)
# winetricks vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8 # winetricks vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8
25ccbd6ac4f5e4f0f4c609a016db9251160e3559b56676d97751f870a43fe7ef ved_ctm_pfx_x86_v05.tar.xz
# create with wine_x_tkg_10-0_amd64 (universal user: xuser)
# winetricks vb6run art2kmin mdac27 mdac28 arial jet40 dotnet452 dotnet46 msxml3 ie8 vcrun2019 dotnet7 dotnetdesktop7
7ce0ff53b66bf6f3b1f8d398dddeec476a6ad9b0d0ab25cd303bf242c86c5513 alta_pfx_x86_v01.tar.xz 7ce0ff53b66bf6f3b1f8d398dddeec476a6ad9b0d0ab25cd303bf242c86c5513 alta_pfx_x86_v01.tar.xz
# create with wine_x_tkg_10-0_amd64 (universal user: xuser) # create with wine_x_tkg_10-0_amd64 (universal user: xuser)
# winetricks isolate_home msxml6 mdac27 wsh57 jet40 vb6run mdac28 opensymbol msxml4 msxml3 native_oleaut32 eufonts mfc42 andale arial comicsans courier georgia impact times trebuchet verdana webdings corefonts tahoma lucida sourcehansans fakechinese fakejapanese fakekorean unifont cjkfonts # winetricks isolate_home msxml6 mdac27 wsh57 jet40 vb6run mdac28 opensymbol msxml4 msxml3 native_oleaut32 eufonts mfc42 andale arial comicsans courier georgia impact times trebuchet verdana webdings corefonts tahoma lucida sourcehansans fakechinese fakejapanese fakekorean unifont cjkfonts

View File

@ -1,25 +0,0 @@
#!/usr/bin/env bash
# info_ru: Автоматизация контроля координации организационно-распорядительной деятельности. ПОС Редакция.
########################################################################
export WH_WINE_USE="wine-9.0.14-alt1-amd64"
export WINEPREFIX="abccenter"
export PROG_NAME="АВС АККОРД ПОС"
export PROG_ICON="abc_akkord"
export BASE_PFX="none"
export WH_WINDOWS_VER="10"
export WINEARCH="win64"
# export INSTALL_DLL=""
prepair_wine
# Возможны точки либо нижнее подчеркивание в URL-адресе
try_get_page "https://abccenter.ru/download-ru/"
VERDATE=$(read_page | grep -oP 'akkord_pos_\K\d+[._]\d+[._]\d+[._]\d+_\d+-\d+-\d+')
AUTOINSTALL_EXE="${WH_TMP_DIR}/akkord_pos_${VERDATE}.exe"
if try_download "https://abccenter.ru/wp-content/soft/akkord_pos_${VERDATE}.exe" "${AUTOINSTALL_EXE}" ; then
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
try_remove_file "$AUTOINSTALL_EXE"
WIN_FILE_EXEC="$DRIVE_C/ABC-Soft/AKKORD POS/ABCAKKORD.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
fi

View File

@ -1,25 +0,0 @@
#!/usr/bin/env bash
# info_ru: Автоматизация контроля координации организационно-распорядительной деятельности. Профессиональная Редакция.
########################################################################
export WH_WINE_USE="wine-9.0.14-alt1-amd64"
export WINEPREFIX="abccenter"
export PROG_NAME="АВС АККОРД Профессиональный"
export PROG_ICON="abc_akkord"
export BASE_PFX="none"
export WH_WINDOWS_VER="10"
export WINEARCH="win64"
# export INSTALL_DLL=""
prepair_wine
# Возможны точки либо нижнее подчеркивание в URL-адресе
try_get_page "https://abccenter.ru/download-ru/"
VERDATE=$(read_page | grep -oP 'akkord_pro_\K\d+[._]\d+[._]\d+[._]\d+_\d+-\d+-\d+')
AUTOINSTALL_EXE="${WH_TMP_DIR}/akkord_pro_${VERDATE}.exe"
if try_download "https://abccenter.ru/wp-content/soft/akkord_pro_${VERDATE}.exe" "${AUTOINSTALL_EXE}" ; then
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
try_remove_file "$AUTOINSTALL_EXE"
WIN_FILE_EXEC="$DRIVE_C/ABC-Soft/AKKORD PRO/ABCAKKORD.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
fi

View File

@ -1,21 +0,0 @@
#!/usr/bin/env bash
# info_ru: Комплект плагинов «Сметная система АВС» к BIM-системам.
########################################################################
export WH_WINE_USE="wine-9.0.14-alt1-amd64"
export WINEPREFIX="abccenter"
export PROG_NAME="ABC-BIM-Plugins-RU"
export BASE_PFX="none"
export WH_WINDOWS_VER="10"
export WINEARCH="win64"
# export INSTALL_DLL=""
prepair_wine
# Возможны точки либо нижнее подчеркивание в URL-адресе
try_get_page "https://abccenter.ru/download-ru/"
VERSION=$(read_page | grep -oP 'ABC-BIM-Plugins-RU_\K\d+[._]\d+[._]\d+'| sed -E 's/[._]/./g')
AUTOINSTALL_EXE="${WH_TMP_DIR}/ABC-BIM-Plugins-RU_${VERSION}.exe"
if try_download "https://abccenter.ru/wp-content/soft/ABC-BIM-Plugins-RU_${VERSION}_Setup.exe" "${AUTOINSTALL_EXE}" ; then
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
try_remove_file "$AUTOINSTALL_EXE"
fi

View File

@ -1,28 +0,0 @@
#!/usr/bin/env bash
# info_ru: Интеграция сметной системы АВС с BIM-платформами.
########################################################################
export WH_WINE_USE="wine-9.0.14-alt1-amd64"
export WINEPREFIX="abccenter"
PROG_NAME=("BIM-смета АВС-RU" "АВС Рекомпозитор")
export BASE_PFX="none"
export WH_WINDOWS_VER="10"
export WINEARCH="win64"
# export INSTALL_DLL=""
prepair_wine
# Возможны точки либо нижнее подчеркивание в URL-адресе
try_get_page "https://abccenter.ru/download-ru/"
VERDATE=$(read_page | grep -oP 'Setup_ABC-BIM-RU_\K\d+[._]\d+_\d+-\d+-\d+')
VERSION=$(read_page | grep -oP 'Setup_ABC-BIM-RU_\K\d+[._]\d+' | sed -E 's/[._]/./g')
AUTOINSTALL_EXE="${WH_TMP_DIR}/Setup_ABC-BIM-RU_${VERDATE}_trial.exe"
if try_download "https://abccenter.ru/wp-content/soft/Setup_ABC-BIM-RU_${VERDATE}_trial.exe" "${AUTOINSTALL_EXE}" ; then
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
try_remove_file "$AUTOINSTALL_EXE"
WIN_FILE_EXEC="$DRIVE_C/ABC-Soft/ABC-RU/${VERSION}/Abc_win/Exec/Abc.exe"
WIN_FILE_EXEC1="$DRIVE_C/ABC-Soft/ABC RECOMPOSER/abcrecomposerwl.exe"
create_desktop "BIM-смета АВС-RU ${VERSION}" "$WIN_FILE_EXEC" "abc"
create_desktop "АВС Рекомпозитор" "$WIN_FILE_EXEC1" "abc-recomposerwl"
fi

View File

@ -1,26 +0,0 @@
#!/usr/bin/env bash
# info_ru: АВС-ЦСП предназначен для автоматизированного составления и выпуска спецификаций материалов и оборудования, а также формирования ведомостей объемов работ (ВОР) путем связывания материальных ресурсов, включаемых в спецификации, с видами работ.
########################################################################
export WH_WINE_USE="wine-9.0.14-alt1-amd64"
export WINEPREFIX="abccenter"
export PROG_NAME="Цифровая спецификация проекта"
export PROG_ICON="abc-dps"
export BASE_PFX="none"
export WH_WINDOWS_VER="10"
export WINEARCH="win64"
# export INSTALL_DLL=""
prepair_wine
# Возможны точки либо нижнее подчеркивание в URL-адресе
try_get_page "https://abccenter.ru/download-ru/"
VERDATE=$(read_page | grep -oP 'Setup_ABC_DPS_RU_\K\d+[._]\d+_\d+-\d+-\d+')
VERSION=$(read_page | grep -oP 'Setup_ABC_DPS_RU_\K\d+[._]\d+'| sed -E 's/[._]/./g')
AUTOINSTALL_EXE="${WH_TMP_DIR}/Setup_ABC_DPS_RU_${VERDATE}.exe"
if try_download "https://abccenter.ru/wp-content/soft/Setup_ABC_DPS_RU_${VERDATE}.exe" "${AUTOINSTALL_EXE}" ; then
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
try_remove_file "$AUTOINSTALL_EXE"
WIN_FILE_EXEC="$DRIVE_C/ABC-Soft/ABC-DPS RU/${VERSION}/ABCSpecificate.exe"
create_desktop "$PROG_NAME RU ${VERSION}" "$WIN_FILE_EXEC" "$PROG_ICON"
fi

View File

@ -1,24 +0,0 @@
#!/usr/bin/env bash
# info_ru: Конвертер в формат АВС_ERP_BIM_XML.
########################################################################
export WH_WINE_USE="wine-9.0.14-alt1-amd64"
export WINEPREFIX="abccenter"
export PROG_NAME="Конвертер в формат АВС_ERP_BIM_XML"
export PROG_ICON="abc-erp-bim"
export BASE_PFX="none"
export WH_WINDOWS_VER="10"
export WINEARCH="win64"
# export INSTALL_DLL=""
prepair_wine
AUTOINSTALL_EXE="${WH_TMP_DIR}/abc_erp_bim_converter.exe"
if try_download "https://abccenter.ru/wp-content/soft/abc_erp_bim_converter.exe" "${AUTOINSTALL_EXE}" ; then
mkdir -p "$DRIVE_C/ABC-Soft/abc_erp_bim_converter"
try_copy_file "${AUTOINSTALL_EXE}" "$DRIVE_C/ABC-Soft/abc_erp_bim_converter"
try_remove_file "$AUTOINSTALL_EXE"
WIN_FILE_EXEC="$DRIVE_C/ABC-Soft/abc_erp_bim_converter.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
fi

View File

@ -1,26 +0,0 @@
#!/usr/bin/env bash
# info_ru: Программный продукт АВС «ПИР» предназначен для подготовки, расчета и выпуска смет на проектно-изыскательские работы.
########################################################################
export WH_WINE_USE="wine-9.0.14-alt1-amd64"
export WINEPREFIX="abccenter"
export PROG_NAME="АВС-ПИР"
export PROG_ICON="abc-pir"
export BASE_PFX="none"
export WH_WINDOWS_VER="10"
export WINEARCH="win64"
# export INSTALL_DLL=""
prepair_wine
# Возможны точки либо нижнее подчеркивание в URL-адресе
try_get_page "https://abccenter.ru/download-ru/"
VERDATE=$(read_page | grep -oP 'Setup_ABC-PIR-RU_\K\d+[._]\d+_\d+-\d+-\d+')
VERSION=$(read_page | grep -oP 'Setup_ABC-PIR-RU_\K\d+[._]\d+'| sed -E 's/[._]/./g')
AUTOINSTALL_EXE="${WH_TMP_DIR}/Setup_ABC-PIR-RU_${VERDATE}.exe"
if try_download "https://abccenter.ru/wp-content/soft/Setup_ABC-PIR-RU_${VERDATE}.exe" "${AUTOINSTALL_EXE}" ; then
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
try_remove_file "$AUTOINSTALL_EXE"
WIN_FILE_EXEC="$DRIVE_C/ABC-Soft/ABC-PIR/${VERSION}RU/ABC-PIR.exe"
create_desktop "$PROG_NAME ${VERSION}RU" "$WIN_FILE_EXEC" "$PROG_ICON"
fi

View File

@ -1,26 +0,0 @@
#!/usr/bin/env bash
# info_ru: Программный комплекс АВС-Рекомпозитор.
########################################################################
export WH_WINE_USE="wine-9.0.14-alt1-amd64"
export WINEPREFIX="abccenter"
export PROG_NAME="АВС Рекомпозитор"
export PROG_ICON="abc-recomposerwl"
export BASE_PFX="none"
export WH_WINDOWS_VER="10"
export WINEARCH="win64"
# export INSTALL_DLL=""
prepair_wine
# Возможны точки либо нижнее подчеркивание в URL-адресе
try_get_page "https://abccenter.ru/download-ru/"
VERDATE=$(read_page | grep -oP 'abcrecomposer_\K\d+[._]\d+[._]\d+-\d+-\d+')
VERSION=$(read_page | grep -oP 'abcrecomposer_\K\d+[._]\d+' | sed -E 's/[._]/./g')
AUTOINSTALL_EXE="${WH_TMP_DIR}/Setup_ABC-RU_${VERDATE}.exe"
if try_download "https://abccenter.ru/wp-content/soft/abcrecomposer_${VERDATE}.exe" "${AUTOINSTALL_EXE}" ; then
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
try_remove_file "$AUTOINSTALL_EXE"
WIN_FILE_EXEC="$DRIVE_C/ABC-Soft/ABC RECOMPOSER/${VERSION}/abcrecomposerwl.exe"
create_desktop "$PROG_NAME $VERSION" "$WIN_FILE_EXEC" "$PROG_ICON"
fi

View File

@ -1,26 +0,0 @@
#!/usr/bin/env bash
# info_ru: Система АВС предназначена для разработки сметной и ресурсной документации всеми участниками инвестиционного процесса: проектными, подрядными организациями и заказчиками строительства.
########################################################################
export WH_WINE_USE="wine-9.0.14-alt1-amd64"
export WINEPREFIX="abccenter"
export PROG_NAME="ABC-RU"
export PROG_ICON="abc"
export BASE_PFX="none"
export WH_WINDOWS_VER="10"
export WINEARCH="win64"
# export INSTALL_DLL=""
prepair_wine
# Возможны точки либо нижнее подчеркивание в URL-адресе
try_get_page "https://abccenter.ru/download-ru/"
VERDATE=$(read_page | grep -oP 'Setup_ABC-RU_\K\d+[._]\d+[._]\d+-\d+-\d+')
VERSION=$(read_page | grep -oP 'Setup_ABC-RU_\K\d+[._]\d+' | sed -E 's/[._]/./g')
AUTOINSTALL_EXE="${WH_TMP_DIR}/Setup_ABC-RU_${VERDATE}.exe"
if try_download "https://abccenter.ru/wp-content/soft/Setup_ABC-RU_${VERDATE}.exe" "${AUTOINSTALL_EXE}" ; then
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
try_remove_file "$AUTOINSTALL_EXE"
WIN_FILE_EXEC="$DRIVE_C/ABC-Soft/ABC-RU/${VERSION}/Abc_win/Exec/Abc.exe"
create_desktop "$PROG_NAME $VERSION" "$WIN_FILE_EXEC" "$PROG_ICON"
fi

View File

@ -1,20 +0,0 @@
#!/usr/bin/env bash
# info_ru: Локальный корпоративный чат/мессенджер с поддержкой видеоконференций.
########################################################################
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="commfort"
export PROG_NAME="CommFort"
export PROG_ICON="commfort-client"
export WH_WINDOWS_VER="10"
export WINEARCH="win32"
AUTOINSTALL_MSI="${WH_TMP_DIR}/commfort_client.msi"
prepair_wine
if try_download "https://www.commfort.com/download/commfort_client.msi" "${AUTOINSTALL_MSI}" ; then
wine_run_install "${AUTOINSTALL_MSI}" /q
try_remove_file "$AUTOINSTALL_MSI"
WIN_FILE_EXEC="$DRIVE_C/Program Files/CommFort/CommFort.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
fi

View File

@ -1,24 +0,0 @@
#!/usr/bin/env bash
# info_ru: (Сервер) Локальный корпоративный чат/мессенджер с поддержкой видеоконференций.
########################################################################
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="commfort"
export PROG_NAME="CommFort server"
export PROG_ICON="commfort-server"
export WH_WINDOWS_VER="10"
export WINEARCH="win32"
PACKZIP="${WH_TMP_DIR}/commfort_server.zip"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/commfort_server"
AUTOINSTALL_EXE="${WH_TMP_DIR}/commfort_server/commfort_server_599.exe"
prepair_wine
if try_download "https://www.commfort.com/download/commfort_server.zip" "${PACKZIP}" ; then
unpack "${PACKZIP}" "$AUTOINSTALL_UNPACK"
wine_run_install "$AUTOINSTALL_EXE" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
try_remove_file "$PACKZIP"
try_remove_dir "$AUTOINSTALL_UNPACK"
WIN_FILE_EXEC="$DRIVE_C/Program Files/CommFort_server/CommFort_server.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
fi

View File

@ -1,25 +0,0 @@
#!/usr/bin/env bash
# info_ru: Цифровая платформа для обучения и оценки специалистов нефтегазовой отрасли.
########################################################################
export WH_WINE_USE="wine_x_tkg_10-0_i586"
export PROG_NAME="РТСИМ.Карьера"
export WINEPREFIX="rtsim"
export PROG_ICON="rtsim"
export WH_WINDOWS_VER="10"
export BASE_PFX="none"
export WINEARCH="win32"
export INSTALL_DLL="dotnet48"
AUTOINSTALL_RAR="${WH_TMP_DIR}/РТСИМ.Карьера.rar"
AUTOINSTALL_MSI="${WH_TMP_DIR}/РТСИМ.Карьера/РТСИМ.Карьера.msi"
prepair_wine
if try_download "https://rtsim.ru/РТСИМ.Карьера.rar" "$AUTOINSTALL_RAR" ; then
unpack "${AUTOINSTALL_RAR}" "${WH_TMP_DIR}"
wine_run_install "$AUTOINSTALL_MSI" /q
try_remove_file "$AUTOINSTALL_RAR"
try_remove_dir "${WH_TMP_DIR}/РТСИМ.Карьера"
WIN_FILE_EXEC="$DRIVE_C/РТСИМ/Карьера/RTsimTrenager.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
fi

View File

@ -1,29 +0,0 @@
#!/usr/bin/env bash
# info_ru: Программный комплекс для энергетики.
########################################################################
export WH_WINE_USE="wine-9.0.14-alt1-amd64"
export WINEPREFIX="swmanmodus"
export BASE_PFX="none"
export WH_WINDOWS_VER="10"
export WINEARCH="win64"
# export INSTALL_DLL=""
prepair_wine
# Ссылка для загрузки дистрибутива меняется в зависимости от версии
AUTOINSTALL_EXE="${WH_TMP_DIR}/modus710.msi"
DRIVE_C_MODUS="$DRIVE_C/Program Files (x86)/Modus 7.10/bin"
if try_download "https://www.swman.ru/download/710/modus710.msi" "${AUTOINSTALL_EXE}" ; then
wine_run_install "${AUTOINSTALL_EXE}" /q
try_remove_file "$AUTOINSTALL_EXE"
declare -a PROG_NAME=("Аниматор" "Диспетчер" "Графический Редактор" "Имитатор АРМ" "Просмотрщик" "Просмот Результатов" "Тренажер")
declare -a PROG_ICON=("animator" "ol" "sdedit" "swimitator" "sexplore" "resmanagdb" "simswitch")
declare -a WIN_FILE_EXEC=("${DRIVE_C_MODUS}/Animator.exe" "${DRIVE_C_MODUS}/OL.exe" "${DRIVE_C_MODUS}/Sdedit32.exe" "${DRIVE_C_MODUS}/SwImitator.exe" "${DRIVE_C_MODUS}/SExplore.exe" "${DRIVE_C_MODUS}/ResManagDB.exe" "${DRIVE_C_MODUS}/SimSwitch.exe")
for i in "${!PROG_NAME[@]}"; do
create_desktop "${PROG_NAME[i]}" "${WIN_FILE_EXEC[i]}" "${PROG_ICON[i]}"
done
fi

View File

@ -6,28 +6,6 @@ if [[ $(id -u) -eq 0 ]] ; then
exit 1 exit 1
fi fi
##### DEFAULT PATH #####
SCRIPT_NAME="$(basename "$0")"
if [[ "$(realpath "$0")" == "/usr/bin/$SCRIPT_NAME" ]] ; then
# переменные для установленного WineHelper в систему
USER_WORK_PATH="$HOME/.local/share/$SCRIPT_NAME"
RUN_SCRIPT="/usr/bin/$SCRIPT_NAME"
DATA_PATH="/usr/share/$SCRIPT_NAME"
else
# переменные для тестового запуска WineHelper из репозитория
USER_WORK_PATH="$HOME/test-$SCRIPT_NAME"
RUN_SCRIPT="$(realpath "$0")"
DATA_PATH="$(dirname "$RUN_SCRIPT")"
# минимальная проверка синтаксиса скриптов
for self_check_script in "$RUN_SCRIPT" \
"$DATA_PATH/dependencies.sh" "$DATA_PATH/autoinstall"/* \
"$DATA_PATH/manualinstall"/* "$DATA_PATH/testinstall"/* \
"$DATA_PATH/database"/*
do /usr/bin/env bash -n "$self_check_script" || exit 1
done
fi
##### MESSAGES FUNCTIONS ##### ##### MESSAGES FUNCTIONS #####
print_error () { printf "\E[31m%s Ошибка: $@ %s\e[0m\n" ;} print_error () { printf "\E[31m%s Ошибка: $@ %s\e[0m\n" ;}
print_warning () { printf "\E[33m%s Предупреждение: $@ %s\e[0m\n" ;} print_warning () { printf "\E[33m%s Предупреждение: $@ %s\e[0m\n" ;}
@ -47,11 +25,11 @@ check_variables () { [[ -z ${!1} ]] && export $1="$2" ;}
if [[ "$1" == "--debug" ]] ; then if [[ "$1" == "--debug" ]] ; then
check_variables WINEDEBUG "+loaddll,+seh" check_variables WINEDEBUG "+loaddll,+seh"
export DXVK_LOG_LEVEL="error" export DXVK_LOG_LEVEL="error"
export VKD3D_DEBUG="error" export VKD3D_DEBUG "error"
export WINE_MONO_TRACE="E:System.NotImplementedException" export WINE_MONO_TRACE "E:System.NotImplementedException"
export VK_LOADER_DEBUG="error" export VK_LOADER_DEBUG "error"
export VKBASALT_LOG_LEVEL="error" export VKBASALT_LOG_LEVEL "error"
export DXVK_NVAPI_LOG_LEVEL="error" export DXVK_NVAPI_LOG_LEVEL "error"
shift shift
else else
check_variables WINEDEBUG "-all" check_variables WINEDEBUG "-all"
@ -75,6 +53,17 @@ fi
WINETRICKS_VERSION="20250102" WINETRICKS_VERSION="20250102"
##### DEFAULT VARIABLES ##### ##### DEFAULT VARIABLES #####
SCRIPT_NAME="$(basename "$0")"
if [[ "$(realpath "$0")" == "/usr/bin/$SCRIPT_NAME" ]] ; then
USER_WORK_PATH="$HOME/.local/share/$SCRIPT_NAME"
RUN_SCRIPT="/usr/bin/$SCRIPT_NAME"
DATA_PATH="/usr/share/$SCRIPT_NAME"
else
USER_WORK_PATH="$HOME/test-$SCRIPT_NAME"
RUN_SCRIPT="$(realpath "$0")"
DATA_PATH="$(dirname "$RUN_SCRIPT")"
fi
WH_VULKAN_LIBDIR="$USER_WORK_PATH/vulkan" WH_VULKAN_LIBDIR="$USER_WORK_PATH/vulkan"
WH_PREFIXES_DIR="$USER_WORK_PATH/prefixes" WH_PREFIXES_DIR="$USER_WORK_PATH/prefixes"
WH_DIST_DIR="$USER_WORK_PATH/dist" WH_DIST_DIR="$USER_WORK_PATH/dist"
@ -84,7 +73,6 @@ WH_IMAGE_PATH="$DATA_PATH/image"
WH_DB_DIR="$DATA_PATH/database" WH_DB_DIR="$DATA_PATH/database"
WH_AUTOINSTALL_DIR="$DATA_PATH/autoinstall" WH_AUTOINSTALL_DIR="$DATA_PATH/autoinstall"
WH_MANUALINSTALL_DIR="$DATA_PATH/manualinstall" WH_MANUALINSTALL_DIR="$DATA_PATH/manualinstall"
WH_TESTINSTALL_DIR="$DATA_PATH/testinstall"
WH_WINETRICKS="$DATA_PATH/winetricks_$WINETRICKS_VERSION" WH_WINETRICKS="$DATA_PATH/winetricks_$WINETRICKS_VERSION"
WH_MENU_DIR="$HOME/.local/share/applications/WineHelper" WH_MENU_DIR="$HOME/.local/share/applications/WineHelper"
@ -102,9 +90,6 @@ check_variables WH_WINE_USE "wine_x_tkg_10-0_amd64" # or system
check_variables WH_USE_CPCSP_PROXY "0" check_variables WH_USE_CPCSP_PROXY "0"
check_variables CPCSP_PROXY_VER "0.6.1-alt1" check_variables CPCSP_PROXY_VER "0.6.1-alt1"
check_variables WH_USE_EXTRA_FONTS "0"
check_variables EXTRA_FONTS_VER "01"
check_variables STAGING_SHARED_MEMORY "1" check_variables STAGING_SHARED_MEMORY "1"
check_variables WINE_LARGE_ADDRESS_AWARE "1" check_variables WINE_LARGE_ADDRESS_AWARE "1"
check_variables WINE_FULLSCREEN_FSR "1" check_variables WINE_FULLSCREEN_FSR "1"
@ -146,8 +131,6 @@ su_run () {
} }
##### CHECK DEPENDENCIES ##### ##### CHECK DEPENDENCIES #####
# fonts-ttf-ms
if ! rpm -q {i586-,}{wine,glibc-core,libstdc++6,glibc-pthread,glibc-nss,libOSMesa,\ if ! rpm -q {i586-,}{wine,glibc-core,libstdc++6,glibc-pthread,glibc-nss,libOSMesa,\
libnss-mdns,libunixODBC2,ocl-icd,libfreetype,libfontconfig1,libgnutls30,libGL,\ libnss-mdns,libunixODBC2,ocl-icd,libfreetype,libfontconfig1,libgnutls30,libGL,\
libEGL,xorg-dri-swrast,xorg-dri-intel,xorg-dri-radeon,libvulkan1,libcups} 1>/dev/null libEGL,xorg-dri-swrast,xorg-dri-intel,xorg-dri-radeon,libvulkan1,libcups} 1>/dev/null
@ -242,100 +225,48 @@ create_new_dir () {
} }
unpack () { unpack () {
if [[ $1 == "--skip-xattr" ]] ; then
local skip_xattr="1"
shift
else
unset skip_xattr
fi
print_info "Запуск распаковки архива $1" print_info "Запуск распаковки архива $1"
local command outarg
case $1 in case $1 in
*.tar.xz) command="tar -Jxhf" ; outarg="-C " ;; *.tar.xz) local command="tar -Jxhf";;
*.tar.gz) command="tar -xhzf" ; outarg="-C " ;; *.tar.gz) local command="tar -xhzf" ;;
*.tar.zst) command="tar -I zstd -xhf" ; outarg="-C " ;; *.tar.zst) local command="tar -I zstd -xhf" ;;
*.tar) command="tar -xhf" ; outarg="-C " ;; *.tar) local command="tar -xhf" ;;
*.zip|*.exe|*.rar) command="7z x -y -bso0" ; outarg="-o" ;;
esac esac
create_new_dir "$2" create_new_dir "$2"
if [[ $skip_xattr == "1" ]] \ if $command "$1" -C "$2" ; then
&& $command "$1" ${outarg}"$2" 2>&1 | sed "/xattr/d" print_ok "Архив $1 распакован."
then print_ok "Файл $1 распакован."
elif $command "$1" ${outarg}"$2"
then print_ok "Файл $1 распакован."
else
try_remove_file "$1"
fatal "Распаковать файл $1 не удалось!"
fi
return 0
}
try_get_page () {
local url_page="$1"
export OUT_PAGE_TMP="${WH_TMP_DIR}/url_page.tmp"
print_info "Чтение страницы: $url_page"
if ! curl -o "$OUT_PAGE_TMP" -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "$url_page" \
|| grep -q "Forbidden" "$OUT_PAGE_TMP"
then
try_remove_file "$OUT_PAGE_TMP"
fatal "Страница сайта $1 не доступна, или превышено количество запросов к странице."
else
return 0
fi
}
read_page () {
if [[ -n $OUT_PAGE_TMP ]] \
&& [[ -f "$OUT_PAGE_TMP" ]]
then
cat "$OUT_PAGE_TMP"
try_remove_file "$OUT_PAGE_TMP"
unset OUT_PAGE_TMP
else
echo "Исользуй try_get_page перед read_page"
fi
}
check_file_sum () {
local sha256sum_ext sha256sum_int check_file_path check_file_name
check_file_path="$1"
check_file_name="$(basename "$check_file_path")"
sha256sum_ext=$(sha256sum "$check_file_path" | awk '{print $1}')
sha256sum_int="$(grep "$check_file_name" "$DATA_PATH/sha256sum.list" | awk '{print $1}')"
if [[ "$sha256sum_ext" == "$sha256sum_int" ]] ; then
print_ok "Хэш-сумма файла $check_file_name успешно проверена."
return 0 return 0
else else
try_remove_file "$check_file_path" print_error "Распаковать архив $1 не удалось!"
fatal "Хэш-сумма файла $check_file_name не совподает!" return 1
fi fi
} }
try_download () { try_download () {
local download_file_url output_file output_file_name local DOWNLOAD_FILE_URL="$1"
download_file_url="${1// /%20}" local OUTPUT_FILE="$2"
output_file="$2" local OUTPUT_FILE_NAME="$(basename "$OUTPUT_FILE")"
output_file_name="$(basename "$output_file")"
if [[ -f "$output_file" ]] ; then print_info "Скачивание файла $OUTPUT_FILE_NAME..."
print_info "Файл найден: $output_file" if curl -f --progress-bar -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" \
[[ $3 == "check256sum" ]] && check_file_sum "$output_file" -L "$DOWNLOAD_FILE_URL" -o "$OUTPUT_FILE"
then
print_ok "Скачивание файла $OUTPUT_FILE_NAME прошло успешно."
if [[ "$3" == check256sum ]] ; then
SHA256SUM_EXT=$(sha256sum "$OUTPUT_FILE" | awk '{print $1}')
SHA256SUM_INT="$(grep "$OUTPUT_FILE_NAME" "$DATA_PATH/sha256sum.list" | awk '{print $1}')"
if [[ "$SHA256SUM_EXT" == "$SHA256SUM_INT" ]] ; then
print_ok "Хэш-сумма файла $OUTPUT_FILE_NAME успешно проверена."
return 0
else
fatal "Хэш-сумма файла $OUTPUT_FILE_NAME не совподает!"
return 1
fi
fi
return 0 return 0
else else
print_info "Скачивание файла $output_file_name..." fatal "Скачивание файла: $OUTPUT_FILE_NAME завершилось с ошибкой!"
if curl -f --progress-bar -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" \ return 1
-L "$download_file_url" -o "$output_file"
then
print_ok "Скачивание файла $output_file_name прошло успешно."
[[ $3 == "check256sum" ]] && check_file_sum "$output_file"
return 0
else
try_remove_file "$output_file"
fatal "Скачивание файла: $output_file_name завершилось с ошибкой!"
return 1
fi
fi fi
} }
@ -430,13 +361,7 @@ create_desktop () {
local name_desktop="$1" local name_desktop="$1"
local exe_file="$2" local exe_file="$2"
local desktop_filename="$(basename "$exe_file" .exe | sed "s| |_|")" local desktop_filename="$(basename "$exe_file" .exe | sed "s| |_|")"
local icon_file local icon_file="$WH_IMAGE_PATH/$3.png"
if [[ "$RESTORE_FROM_BACKUP" == "1" ]] && [[ -f "$3" ]]
then icon_file="$3"
elif [[ -f "$WH_IMAGE_PATH/$3.png" ]]
then icon_file="$WH_IMAGE_PATH/$3.png"
else icon_file="wine"
fi
if [[ -z "$name_desktop" ]] || [[ -z "$exe_file" ]] ; then if [[ -z "$name_desktop" ]] || [[ -z "$exe_file" ]] ; then
fatal "Used: $SCRIPT_NAME --desktop \"desktop_name\" \"path_to_exe\" \"name_png_from_image\"" fatal "Used: $SCRIPT_NAME --desktop \"desktop_name\" \"path_to_exe\" \"name_png_from_image\""
@ -460,6 +385,7 @@ create_desktop () {
# создаем .desktop файл # создаем .desktop файл
create_new_dir "$WH_MENU_DIR" create_new_dir "$WH_MENU_DIR"
[[ ! -f "$icon_file" ]] && icon_file=wine
{ {
echo "[Desktop Entry]" echo "[Desktop Entry]"
echo "Name=$name_desktop" echo "Name=$name_desktop"
@ -474,19 +400,14 @@ create_desktop () {
cp -f "$USER_WORK_PATH/$desktop_filename.desktop" "$WH_MENU_DIR/" cp -f "$USER_WORK_PATH/$desktop_filename.desktop" "$WH_MENU_DIR/"
if [[ "$RESTORE_FROM_BACKUP" == "1" ]] ; then # добавляем информацию о приложении в "$WINEPREFIX/desktop.list"
print_info "Пропускаем обновление desktop.list (режим восстановления из бэкапа)" if [[ -f "$WINEPREFIX/desktop.list" ]] \
else && grep -qe "^${name_desktop}=" "$WINEPREFIX/desktop.list"
# добавляем информацию о приложении в "$WINEPREFIX/desktop.list" then sed -i "/^$name_desktop=/d" "$WINEPREFIX/desktop.list"
if [[ -f "$WINEPREFIX/desktop.list" ]] \
&& grep -qe "^${name_desktop}=" "$WINEPREFIX/desktop.list"
then sed -i "/^$name_desktop=/d" "$WINEPREFIX/desktop.list"
fi
create_new_dir "$WINEPREFIX/icons"
try_copy_file "$icon_file" "$WINEPREFIX/icons/"
echo "$name_desktop=${exe_file//$WINEPREFIX/}=$(basename "$icon_file")" >> "$WINEPREFIX/desktop.list"
fi fi
create_new_dir "$WINEPREFIX/icons"
try_copy_file "$icon_file" "$WINEPREFIX/icons/"
echo "$name_desktop=${exe_file//$WINEPREFIX/}=$(basename "$icon_file")" >> "$WINEPREFIX/desktop.list"
# создаем файл категории для меню # создаем файл категории для меню
create_new_dir "$HOME/.local/share/desktop-directories" create_new_dir "$HOME/.local/share/desktop-directories"
@ -698,11 +619,11 @@ init_wine_ver () {
if [[ ! -d "$WINEDIR" ]] ; then if [[ ! -d "$WINEDIR" ]] ; then
WINE_URL="$CLOUD_URL/$WH_WINE_USE.tar.xz" WINE_URL="$CLOUD_URL/$WH_WINE_USE.tar.xz"
local WINE_PACKAGE="$WH_TMP_DIR/${WH_WINE_USE}.tar.xz" local WINE_PACKAGE="$WH_TMP_DIR/${WH_WINE_USE}.tar.xz"
if try_download "$WINE_URL" "$WINE_PACKAGE" check256sum \ if try_download "$WINE_URL" "$WINE_PACKAGE" check256sum ; then
&& unpack "$WINE_PACKAGE" "$WH_DIST_DIR/" if unpack "$WINE_PACKAGE" "$WH_DIST_DIR/" ; then
then echo "$WH_WINE_USE" > "$WH_DIST_DIR/$WH_WINE_USE/version"
echo "$WH_WINE_USE" > "$WH_DIST_DIR/$WH_WINE_USE/version" try_remove_file "$WINE_PACKAGE"
try_remove_file "$WINE_PACKAGE" fi
fi fi
fi fi
@ -747,8 +668,15 @@ init_wine_ver () {
CPCSP_PROXY_NAME="wine-cpcsp_proxy-$CPCSP_PROXY_VER" CPCSP_PROXY_NAME="wine-cpcsp_proxy-$CPCSP_PROXY_VER"
CPCSP_PROXY_URL="$CLOUD_URL/$CPCSP_PROXY_NAME.tar.xz" CPCSP_PROXY_URL="$CLOUD_URL/$CPCSP_PROXY_NAME.tar.xz"
try_download "$CPCSP_PROXY_URL" "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz" check256sum if [[ ! -f "$WH_TMP_DIR/$CPCSP_PROXY_NAME" ]] ; then
unpack "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz" "$WH_TMP_DIR" print_info "Загрузка $CPCSP_PROXY_NAME.tar.xz"
if try_download "$CPCSP_PROXY_URL" "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz" check256sum
then unpack "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz" "$WH_TMP_DIR"
else try_remove_file "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz"
fi
else
unpack "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz" "$WH_TMP_DIR"
fi
cp -fr "$WH_TMP_DIR/$CPCSP_PROXY_NAME/"i386-* "${WINEDIR}/lib/wine/" cp -fr "$WH_TMP_DIR/$CPCSP_PROXY_NAME/"i386-* "${WINEDIR}/lib/wine/"
if [[ -d "${WINEDIR}/lib64" ]] ; then if [[ -d "${WINEDIR}/lib64" ]] ; then
@ -759,7 +687,7 @@ init_wine_ver () {
fi fi
else else
# use system WINE # use system WINE
if ! rpm -q "wine" 1>/dev/null ; then if ! command -v "wine" &>/dev/null ; then
fatal "system WINE - not found." fatal "system WINE - not found."
fi fi
export WINEDIR="/usr" export WINEDIR="/usr"
@ -883,15 +811,23 @@ wait_wineserver () {
} }
get_base_pfx () { get_base_pfx () {
local pfx_file_name pfx_file_url pfx_tmp_path local FILE_NAME_PFX="$1"
pfx_file_name="${1}.tar.xz" local PFX_URL="$CLOUD_URL/${FILE_NAME_PFX}.tar.xz"
pfx_file_url="$CLOUD_URL/$pfx_file_name" local PFX_TMP="$WH_TMP_DIR/pfx"
pfx_tmp_path="$WH_TMP_DIR/pfx" create_new_dir "$PFX_TMP"
create_new_dir "$pfx_tmp_path" if [[ ! -f "$PFX_TMP/$FILE_NAME_PFX.tar.xz" ]] ; then
print_info "Загрузка архива базового префикса: $pfx_file_name" print_info "Загрузка базового префикса: ${FILE_NAME_PFX}"
try_download "$pfx_file_url" "$pfx_tmp_path/$pfx_file_name" check256sum if try_download "$PFX_URL" "$PFX_TMP/$FILE_NAME_PFX.tar.xz" check256sum
unpack --skip-xattr "$pfx_tmp_path/$pfx_file_name" "$WINEPREFIX/" then unpack "$PFX_TMP/$FILE_NAME_PFX.tar.xz" "$WINEPREFIX/"
else try_remove_file "$PFX_TMP/$FILE_NAME_PFX.tar.xz"
fi
else
if ! unpack "$PFX_TMP/$FILE_NAME_PFX.tar.xz" "$WINEPREFIX/" ; then
try_remove_file "${PFX_TMP}/${FILE_NAME_PFX}.tar.xz"
get_base_pfx "$FILE_NAME_PFX"
fi
fi
} }
check_prefix_var () { check_prefix_var () {
@ -901,7 +837,7 @@ check_prefix_var () {
local prefixes=() local prefixes=()
local count=1 local count=1
print_info "Доступные префиксы WineHelper:" print_info "Доступные префиксы WineHelper:"
for prefix in "$WH_PREFIXES_DIR"/* ; do for prefix in "$WH_PREFIXES_DIR"/*; do
if [[ -d "$prefix" ]]; then if [[ -d "$prefix" ]]; then
prefixes+=("$prefix") prefixes+=("$prefix")
echo "$count. $(basename "$prefix")" echo "$count. $(basename "$prefix")"
@ -909,25 +845,26 @@ check_prefix_var () {
fi fi
done done
[[ ${#prefixes[@]} -eq 0 ]] && fatal "Не найдено ни одного префикса!" if [[ ${#prefixes[@]} -eq 0 ]]; then
fatal "Не найдено ни одного префикса!"
fi
local max_choice=${#prefixes[@]} local max_choice=${#prefixes[@]}
read -p "Выберите префикс (1-$max_choice): " choice read -p "Выберите префикс (1-$max_choice): " choice
if [[ "$choice" -ge 1 && "$choice" -le "$max_choice" ]] ; then if [[ "$choice" -ge 1 && "$choice" -le "$max_choice" ]]; then
export WINEPREFIX="${prefixes[$choice-1]}" export WINEPREFIX="${prefixes[$choice-1]}"
else else
fatal "Неверный выбор." fatal "Неверный выбор."
fi fi
print_info "Выбран префикс: $WINEPREFIX"
fi fi
if echo "$WINEPREFIX" | grep -qv '/' ; then if echo "$WINEPREFIX" | grep -qv '/' ; then
export WINEPREFIX="$WH_PREFIXES_DIR/$WINEPREFIX" export WINEPREFIX="$WH_PREFIXES_DIR/$WINEPREFIX"
fi fi
export PREFIX_NAME="$(basename "$WINEPREFIX")"
print_info "Выбран префикс: $PREFIX_NAME"
return 0 return 0
} }
@ -975,12 +912,6 @@ init_wineprefix () {
then try_force_link_dir "$DRIVE_C/users/$USER" "$DRIVE_C/users/xuser" then try_force_link_dir "$DRIVE_C/users/$USER" "$DRIVE_C/users/xuser"
fi fi
if [[ ! -f "$WINEPREFIX/.update-timestamp" ]] ; then
print_info "Обновление префикса $WINEPREFIX."
"$WINELOADER" wineboot -u
wait_wineserver
fi
if [[ ! -L "$WINEPREFIX/dosdevices/h:" ]] if [[ ! -L "$WINEPREFIX/dosdevices/h:" ]]
then try_force_link_dir "$HOME" "$WINEPREFIX/dosdevices/h:" then try_force_link_dir "$HOME" "$WINEPREFIX/dosdevices/h:"
fi fi
@ -989,10 +920,6 @@ init_wineprefix () {
# хак для XRDP сессии # хак для XRDP сессии
if [[ $DISPLAY == *:10.0 ]] ; then if [[ $DISPLAY == *:10.0 ]] ; then
if ! lspci | grep -i nvidia > /dev/null ; then
export MESA_GL_VERSION_OVERRIDE="3.3"
export MESA_GLSL_VERSION_OVERRIDE="330"
fi
print_warning "Обнаружена сессия XRDP, настраиваем реестр:" print_warning "Обнаружена сессия XRDP, настраиваем реестр:"
get_and_set_reg_file --add 'Software\Wine\X11 Driver' 'UseXRandR' 'REG_SZ' "N" "user" get_and_set_reg_file --add 'Software\Wine\X11 Driver' 'UseXRandR' 'REG_SZ' "N" "user"
get_and_set_reg_file --add 'Software\Wine\X11 Driver' 'UseXVidMode' 'REG_SZ' "N" "user" get_and_set_reg_file --add 'Software\Wine\X11 Driver' 'UseXVidMode' 'REG_SZ' "N" "user"
@ -1075,22 +1002,6 @@ init_wineprefix () {
fi fi
fi fi
# Устанавливаем дополнительные шрифты (включая штрих-код)
local fonts_dir="$DRIVE_C/windows/Fonts"
local x_fonts_name="extra_fonts_v${EXTRA_FONTS_VER}"
if [[ $WH_USE_EXTRA_FONTS == "1" ]] \
&& [[ ! -e "$fonts_dir/${x_fonts_name}.installed" ]]
then
local x_fonts_url="$CLOUD_URL/${x_fonts_name}.tar.xz"
local x_fonts_tar="$WH_TMP_DIR/${x_fonts_name}.tar.xz"
print_info "Устанавливаем дополнительные шрифты..."
try_download "$x_fonts_url" "$x_fonts_tar" check256sum
unpack "$x_fonts_tar" "$fonts_dir/"
touch "$fonts_dir/${x_fonts_name}.installed"
fi
echo "# переменные последнего использования префикса:" > "$WINEPREFIX/last.conf" echo "# переменные последнего использования префикса:" > "$WINEPREFIX/last.conf"
for var in WH_WINE_USE BASE_PFX WINEARCH WH_WINDOWS_VER WINEESYNC WINEFSYNC \ for var in WH_WINE_USE BASE_PFX WINEARCH WH_WINDOWS_VER WINEESYNC WINEFSYNC \
STAGING_SHARED_MEMORY WINE_LARGE_ADDRESS_AWARE WH_USE_SHADER_CACHE WH_USE_WINE_DXGI \ STAGING_SHARED_MEMORY WINE_LARGE_ADDRESS_AWARE WH_USE_SHADER_CACHE WH_USE_WINE_DXGI \
@ -1236,7 +1147,7 @@ wine_run () {
} }
wine_run_install () { wine_run_install () {
print_info "Запускаем установку: $1." print_info "Запускаем установку приложения $PROG_NAME."
if [[ "$INSTALL_MODE" == "manual" ]] if [[ "$INSTALL_MODE" == "manual" ]]
then print_warning "Рекомендуется не менять пути для установки приложения!" then print_warning "Рекомендуется не менять пути для установки приложения!"
fi fi
@ -1265,11 +1176,6 @@ run_autoinstall () {
elif [[ -f "$WH_MANUALINSTALL_DIR/$INSTALL_SCRIPT_NAME" ]] ; then elif [[ -f "$WH_MANUALINSTALL_DIR/$INSTALL_SCRIPT_NAME" ]] ; then
INSTALL_SCRIPT="$WH_MANUALINSTALL_DIR/$INSTALL_SCRIPT_NAME" INSTALL_SCRIPT="$WH_MANUALINSTALL_DIR/$INSTALL_SCRIPT_NAME"
WH_INSTALL_MODE="manual" WH_INSTALL_MODE="manual"
elif [[ -d "$WH_TESTINSTALL_DIR" ]] \
&& [[ -f "$WH_TESTINSTALL_DIR/$INSTALL_SCRIPT_NAME" ]]
then
INSTALL_SCRIPT="$WH_TESTINSTALL_DIR/$INSTALL_SCRIPT_NAME"
WH_INSTALL_MODE="test"
else else
INSTALL_SCRIPT="0" INSTALL_SCRIPT="0"
fi fi
@ -1301,18 +1207,25 @@ run_autoinstall () {
} }
remove_prefix() { remove_prefix() {
export WINEPREFIX="$1" local prefix_name="$1"
if [[ -z "$WINEPREFIX" ]] local prefix_path="$WH_PREFIXES_DIR/$prefix_name"
then print_error "Не указано имя префикса для удаления!"
if [[ -z "$prefix_name" ]]; then
print_error "Не указано имя префикса для удаления."
echo "Использование: $SCRIPT_NAME remove-prefix [имя_префикса]"
echo "Доступные префиксы:"
ls -1 "$WH_PREFIXES_DIR"
return 1
fi fi
check_prefix_var
if [[ ! -d "$WINEPREFIX" ]] if [[ ! -d "$prefix_path" ]]; then
then fatal "Префикса \"$PREFIX_NAME\" не существует!" print_error "Префикс "$prefix_name" не найден."
return 1
fi fi
if [[ ! $2 =~ --force|-y ]] ; then if [[ ! $2 =~ --force|-y ]] ; then
echo "======================================================" echo "======================================================"
print_warning "Вы собираетесь удалить префикс "$PREFIX_NAME"." print_warning "Вы собираетесь удалить префикс "$prefix_name"."
echo "Это приведёт к:" echo "Это приведёт к:"
echo " - Полному удалению всех данных префикса" echo " - Полному удалению всех данных префикса"
echo " - Удалению всех программ, установленных в этом префиксе" echo " - Удалению всех программ, установленных в этом префиксе"
@ -1325,12 +1238,13 @@ remove_prefix() {
return 0 return 0
fi fi
fi fi
try_remove_dir "$prefix_path"
if try_remove_dir "$WINEPREFIX" ; then if [[ $? -eq 0 ]]; then
print_ok "Префикс "$PREFIX_NAME" успешно удален." print_ok "Префикс "$prefix_name" успешно удален."
for desktop_file in "$WH_MENU_DIR"/*.desktop; do for desktop_file in "$WH_MENU_DIR"/*.desktop; do
if grep -q "$WINEPREFIX" "$desktop_file"; then if grep -q "$prefix_path" "$desktop_file"; then
desktop_name=$(basename "$desktop_file") desktop_name=$(basename "$desktop_file")
remove_desktop "${desktop_name%.*}" remove_desktop "${desktop_name%.*}"
fi fi
@ -1338,7 +1252,7 @@ remove_prefix() {
return 0 return 0
else else
print_error "Не удалось удалить префикс "$PREFIX_NAME"." print_error "Не удалось удалить префикс "$prefix_name"."
return 1 return 1
fi fi
} }
@ -1399,232 +1313,23 @@ remove_winehelper () {
fi fi
} }
create_base_pfx () {
export WINEPREFIX="$1"
check_prefix_var
local prefix_dir="$WINEPREFIX"
local drive_c_dir="$prefix_dir/drive_c"
local users_dir="$drive_c_dir/users"
local archive_path="$WH_TMP_DIR/pfx/new_${PREFIX_NAME}.tar.xz"
try_copy_dir "$prefix_dir" "${prefix_dir}_bak"
for wtlog in workaround isolate internal winxp win2 win7 win10
do sed -i "/$wtlog/d" "$prefix_dir/winetricks.log"
done
if [[ -d "$users_dir/$USER" ]] \
&& [[ ! -L "$users_dir/$USER" ]]
then
if [[ -L "$users_dir/xuser" ]]
then try_remove_dir "$users_dir/xuser/"
fi
create_new_dir "$users_dir/xuser/"
cp -fr "$users_dir/$USER"/* "$users_dir/xuser/"
fi
try_remove_file "$prefix_dir/.update-timestamp"
try_remove_file "$prefix_dir/.firstboot"
try_remove_file "$prefix_dir/last.conf"
try_remove_dir "$prefix_dir/dosdevices/"
try_remove_dir "$users_dir/$USER"
try_remove_dir "$users_dir/xuser/AppData/Local/Temp/"
try_remove_dir "$drive_c_dir/ProgramData/Package Cache/"
try_remove_dir "$drive_c_dir/windows/temp/"
try_remove_dir "$drive_c_dir/windows/Installer/"
rm -fr "$drive_c_dir/windows/Microsoft.NET"/*/*/SetupCache/
cd "$prefix_dir"
if tar --no-xattrs -c -I 'xz --memlimit=8000MiB -9 -T0' -f "$archive_path" ./* ; then
print_ok "Архив создан по пути: $archive_path"
xdg-open "$(dirname "$archive_path")" &
cd -
else
try_remove_file "$archive_path"
cd -
fatal "Не удалось создать архив."
fi
}
backup_prefix() {
export WINEPREFIX="$1"
check_prefix_var
local backup_base_dir="$(xdg-user-dir DESKTOP)"
local backup_archive_name="backup_${PREFIX_NAME}_$(date +%Y.%m.%d).whpack"
local backup_dest_path="$backup_base_dir/$backup_archive_name"
local temp_backup_dir="$WH_TMP_DIR/backup_${PREFIX_NAME}_$(date +%Y.%m.%d)"
local temp_prefix_dir="$temp_backup_dir/prefixes/$PREFIX_NAME"
local temp_users_dir="$temp_prefix_dir/drive_c/users"
print_info "Начало резервного копирования префикса: $PREFIX_NAME"
create_new_dir "$temp_backup_dir"
create_new_dir "$temp_backup_dir/prefixes/"
create_new_dir "$temp_backup_dir/dist/"
print_info "Подготовка префикса к упаковке..."
if cp -a "$WINEPREFIX" "$temp_prefix_dir" ; then
try_remove_dir "$temp_prefix_dir/dosdevices"
try_remove_file "$temp_prefix_dir/.update-timestamp"
if [[ -d "$temp_users_dir/$USER" ]] \
&& [[ ! -L "$temp_users_dir/$USER" ]]
then
if [[ -L "$temp_users_dir/xuser" ]]
then try_remove_dir "$temp_users_dir/xuser"
fi
create_new_dir "$temp_users_dir/xuser"
cp -fr "$temp_users_dir/$USER"/* "$temp_users_dir/xuser/"
fi
try_remove_dir "$temp_users_dir/$USER"
print_ok "Директория префикса подготовлена."
else
print_error "Не удалось подготовить директорию префикса."
try_remove_dir "$temp_backup_dir"
return 1
fi
if [[ -f "$WINEPREFIX/last.conf" ]]; then
source "$WINEPREFIX/last.conf"
if [[ -n "$WH_WINE_USE" ]] \
&& [[ $WH_WINE_USE != system* ]] \
&& [[ -d "$WH_DIST_DIR/$WH_WINE_USE" ]]
then
print_info "Копирование используемой версии WINE: $WH_WINE_USE"
if cp -a "$WH_DIST_DIR/$WH_WINE_USE" "$temp_backup_dir/dist/"
then print_ok "WINE скопирован."
else fatal "Не удалось скопировать WINE."
fi
fi
fi
print_info "Создание squashfs архива..."
if mksquashfs "$temp_backup_dir" "$backup_dest_path" -comp zstd ; then
echo -e "\n# PREFIX_NAME=$PREFIX_NAME" >> "$backup_dest_path"
print_ok "Архив префикса $PREFIX_NAME успешно создан по пути:\n$backup_dest_path"
else
print_error "Не удалось создать архив префикса $PREFIX_NAME."
try_remove_dir "$temp_backup_dir"
return 1
fi
try_remove_dir "$temp_backup_dir"
print_info "Создание резервной копии префикса завершено."
return 0
}
restore_prefix() {
local backup_archive_path="$1"
local temp_extract_dir prefix_name
if [[ -z "$backup_archive_path" ]] ; then
read -e -p "Укажите путь к архиву резервной копии (/путь/к/архиву.whpack): " backup_archive_path
backup_archive_path=$(echo "$backup_archive_path" | sed "s/'//g; s/\"//g")
if [[ -z "$backup_archive_path" ]] ; then
fatal "Путь к архиву не указан. Восстановление отменено."
fi
fi
if [[ ! -f "$backup_archive_path" ]]
then fatal "Файл архива не найден: $backup_archive_path"
fi
print_info "Восстановление из резервной копии: $backup_archive_path"
prefix_name="$(tail -n1 "$backup_archive_path" | sed -e 's/.*PREFIX_NAME=//')"
if [[ -d "$WH_PREFIXES_DIR/$prefix_name" ]] ; then
fatal "Префикс $prefix_name уже существует!
Удалите его, если действительно желаете восстановить префикс заново.
Команда для удаления: $SCRIPT_NAME remove-prefix $prefix_name"
fi
temp_extract_dir="$WH_TMP_DIR/restore_$(basename "$backup_archive_path" .whpack)"
create_new_dir "$temp_extract_dir"
print_info "Распаковка архива..."
if unsquashfs -f -d "$temp_extract_dir" "$backup_archive_path" ; then
print_ok "Архив успешно распакован."
else
try_remove_dir "$temp_extract_dir"
fatal "Не удалось распаковать архив."
fi
if [[ -d "$temp_extract_dir/prefixes" ]] ; then
local prefix_name
prefix_name="$(ls -1 "$temp_extract_dir/prefixes")"
local prefix_dir="$temp_extract_dir/prefixes/$prefix_name"
print_info "Восстановление префикса: $prefix_name"
if [[ -d "$temp_extract_dir/dist" ]] ; then
print_info "Восстановление версий WINE"
if cp -fr "$temp_extract_dir/dist"/* "$WH_DIST_DIR/"
then print_ok "Версии WINE восстановлены."
else print_warning "Не удалось восстановить версии WINE."
fi
try_remove_dir "$temp_extract_dir/dist"
fi
if ! mv "$prefix_dir" "$WH_PREFIXES_DIR/" ; then
try_remove_dir "$temp_extract_dir"
fatal "Не удалось восстановить префикс $prefix_name."
else
print_ok "Префикс $prefix_name восстановлен."
print_info "Восстановление ярлыков для префикса $prefix_name..."
export RESTORE_FROM_BACKUP="1" # Устанавливаем флаг восстановления
while IFS='=' read -r line; do
local name_desktop=$(echo "$line" | cut -d'=' -f1)
local exe_path=$(echo "$line" | cut -d'=' -f2)
local icon_name=$(echo "$line" | cut -d'=' -f3)
local full_exe_path="$WH_PREFIXES_DIR/$prefix_name${exe_path}"
local full_icon_path="$WH_PREFIXES_DIR/$prefix_name/icons/$icon_name"
if [[ -f "$full_exe_path" ]]; then
print_info "Создание ярлыка для $name_desktop"
create_desktop "$name_desktop" "$full_exe_path" "$full_icon_path"
else
print_warning "Исполняемый файл для ярлыка '$name_desktop' не найден: $full_exe_path"
fi
done < "$WH_PREFIXES_DIR/$prefix_name/desktop.list"
unset RESTORE_FROM_BACKUP # Снимаем флаг после завершения
print_ok "Ярлыки для префикса $prefix_name восстановлены."
fi
else
try_remove_dir "$temp_extract_dir"
fatal "Директория prefixes не найдена в архиве."
fi
try_remove_dir "$temp_extract_dir"
print_ok "Полное восстановление префикса $prefix_name завершено."
return 0
}
wh_info () { wh_info () {
echo "Использование: $SCRIPT_NAME [команда] echo "Использование: $SCRIPT_NAME [команда]
Команды: Команды:
install list список возможных установочных скриптов install list список возможных установочных скриптов
install [скрипт] запустить скрипт установки программы install [скрипт] запустить скрипт установки программы
install [скрипт] --clear-pfx не использовать готовый префикс для установки ПО install [скрипт] --clear-pfx не использовать подготовленный префикс для установки ПО
installed список установленных программ installed список установленных программ
run [программа.exe] запуск программы (отладка) run [программа.exe] запуск программы (отладка)
remove-all удалить WineHelper и все связанные данные remove-all удалить WineHelper и все связанные данные
remove-prefix [имя_префикса] удалить префикс и все связанные данные remove-prefix [имя_префикса] удалить префикс и все связанные данные
backup-prefix [имя_префикса] создать резерную копию префикса
restore-prefix \"путь/до/whpack\" восстановить префикс из резервной копии
Параметры: Параметры:
--help показать эту справку и выйти --help показать эту справку и выйти
--version показать информацию о пакете и его версии --version показать информацию о пакете и его версии
--debug [команда] включить режим логирования работы WINE --debug [команда] включить режим логирования работы WINE
" "
} }
@ -1640,14 +1345,7 @@ if [[ -d "$HOME/.local/share/$SCRIPT_NAME" ]] \
then try_force_link_dir "$HOME/.local/share/$SCRIPT_NAME" "$HOME/.winehelper" then try_force_link_dir "$HOME/.local/share/$SCRIPT_NAME" "$HOME/.winehelper"
fi fi
if [[ -n "$1" ]] ; then case "${1,,}" in
arg1="$1"
shift
else
arg1="--help"
fi
case "$arg1" in
--version) rpm -qi "$SCRIPT_NAME" ; exit 0 ;; --version) rpm -qi "$SCRIPT_NAME" ; exit 0 ;;
--help) wh_info ; exit 0 ;; --help) wh_info ; exit 0 ;;
killall) kill_wine ;; killall) kill_wine ;;
@ -1655,20 +1353,18 @@ case "$arg1" in
winereg|regedit) prepair_wine ; wine_run "regedit" ;; winereg|regedit) prepair_wine ; wine_run "regedit" ;;
winefile|explorer) prepair_wine ; wine_run "winefile" ;; winefile|explorer) prepair_wine ; wine_run "winefile" ;;
wineconsole|cmd) prepair_wine ; wine_run "wineconsole" ;; wineconsole|cmd) prepair_wine ; wine_run "wineconsole" ;;
winetricks) prepair_wine ; "$WH_WINETRICKS" -q "$@" ;; winetricks) shift ; prepair_wine ; "$WINETRICKS" -q "$@" ;;
desktop) create_desktop "$@" ; exit 0 ;; desktop) shift ; create_desktop "$@" ; exit 0 ;;
install|-i) run_autoinstall "$@" ;; install|-i) shift ; run_autoinstall "$@" ;;
installed) check_installed_programs "$1" ;; installed) shift ; check_installed_programs "$1" ;;
run|-r) run_installed_programs "$1" ;; run|-r) shift ; run_installed_programs "$1" ;;
backup-prefix) backup_prefix "$@" ;; remove-all) shift ; remove_winehelper "$@" ;;
restore-prefix) restore_prefix "$@" ;; remove-prefix) shift ; remove_prefix "$@" ;;
remove-all) remove_winehelper "$@" ;;
remove-prefix) remove_prefix "$@" ;;
create-base-pfx) create_base_pfx "$@" ;;
*) *)
if [[ -f "$arg1" ]] ; then if [[ -f "$1" ]] ; then
WIN_FILE_EXEC="$(readlink -f "$arg1")" WIN_FILE_EXEC="$(readlink -f "$1")"
WIN_FILE_NAME="$(basename "$arg1")" WIN_FILE_NAME="$(basename "$WIN_FILE_EXEC")"
shift
case "${WIN_FILE_NAME,,}" in case "${WIN_FILE_NAME,,}" in
*.exe) prepair_wine ; wine_run $WINE_WIN_START "$WIN_FILE_EXEC" "$@" ;; *.exe) prepair_wine ; wine_run $WINE_WIN_START "$WIN_FILE_EXEC" "$@" ;;
*.msi) prepair_wine ; wine_run msiexec /i "$WIN_FILE_EXEC" "$@" ;; *.msi) prepair_wine ; wine_run msiexec /i "$WIN_FILE_EXEC" "$@" ;;
@ -1676,9 +1372,8 @@ case "$arg1" in
*) fatal "Тип файла не поддерживается." ;; *) fatal "Тип файла не поддерживается." ;;
esac esac
else else
print_error "Команды $arg1 не существует."
wh_info wh_info
exit 1 exit 1
fi fi
;; ;;
esac esac