Compare commits

..

1 Commits

Author SHA1 Message Date
Sergey Palcheh
eec913ce0f Merge branch 'master' into devel 2025-09-12 17:53:21 +06:00
41 changed files with 319 additions and 1531 deletions

View File

@@ -1,22 +1,5 @@
История изменений: История изменений:
0.6.0
* обновлен графический режим Qt5
* добавлен иконка в трее для графического режима Qt5
* обновлены скрипты установки для t-flex-*
* обновлен скрипт установки для scadoffice
* добавлена ручная установка NetTest (демо версия)
* добавлены скрипты установки ARM-KT:
winehelper install arm-kt-att - "АРМ КТ ПРОФ АТТЕСТАТ"
winehelper install arm-kt-dpp - "АРМ КТ ПРОФ ДПП"
winehelper install arm-kt-es - "АРМ КТ ПРОФ НШ"
winehelper install arm-kt-med - "АРМ КТ ПРОФ МЕД"
winehelper install arm-kt-prof - "АРМ КТ ПРОФ ПРОФЕССИЯ"
winehelper install arm-kt-spo - "АРМ КТ ПРОФ СПО"
winehelper install arm-kt-vuz - "АРМ КТ ПРОФ ВУЗ"
* winehelper killal - убивает только процессы запущенные в WinwHelper
* другие небольшие улучшения и оптимизации скриптов
0.5.4: 0.5.4:
* обновлен графический режим Qt5: * обновлен графический режим Qt5:
- добавлена возможность установки системных зависимостей - добавлена возможность установки системных зависимостей

371
README.md
View File

@@ -1,371 +0,0 @@
<div align="center">
<img src="image/gui/winehelper.svg" width="64">
<h1 align="center">WineHelper</h1>
<p align="center">Инструмент для упрощения установки Windows-приложений на Linux. Он использует подготовленные скрипты, портативные версии Wine и изолированные префиксы, обеспечивая максимальную идентичность на различных операционных системах основанных на Alt Linux, начиная с релиза p10 и выше.</p>
</div>
<p align="center">
<img src="image/handbook/auto_install.png" alt="WineHelper GUI" width="80%">
</p>
## Основные возможности
* **Простая установка**: Устанавливайте Windows-приложения с помощью готовых скриптов, как в автоматическом, так и в ручном режиме.
* **Изолированные окружения**: Каждое приложение устанавливается в свой собственный, изолированный префикс, что предотвращает конфликты.
* **Управление версиями Wine**: Легко переключайтесь между различными версиями Wine и Proton для достижения наилучшей совместимости.
* **Графический и консольный интерфейсы**: Используйте удобный GUI для повседневных задач или мощный CLI для автоматизации.
* **Резервное копирование**: Создавайте и восстанавливайте полные резервные копии ваших префиксов.
* **Встроенные утилиты**: Быстрый доступ к `winecfg`, `regedit`, `Winetricks` и другим инструментам для каждого префикса.
---
<!-- Описание установки WineHelper-->
<details>
<summary style="font-size: 35px; font-weight: bold;">Установка</summary>
```
$ su -
# apt-get update && apt-get dist-upgrade
# apt-get install winehelper
# exit
```
</details>
<!-- Описание использования CLI -->
<details>
<summary style="font-size: 35px; font-weight: bold;">Использование WineHelper (CLI)</summary>
### Список приложений для установки
Вывод списка приложений, доступных к установке:
```
$ winehelper install list
```
или сокращенная команда:
```
$ winehelper -i
```
### Запуск установки приложений
Скрипты установки разделены на два типа:
1. **Список программ с возможностью автоматической установки** — содержит полностью автоматизированные скрипты установок программ у которыx есть дистрибутивы (установщики) в свободном доступе.
Процесс полностью автоматизирован.
Пример:
```
$ winehelper install spravki-bk
```
или сокращенная команда:
```
$ winehelper -i spravki-bk
```
2. **Список программ с возможностью установки из существующего дистрибутива** — содержит скрипты установок для программ, которых нет в свободном доступе.
Пример:
```
$ winehelper install is-record-station "/путь/до/установочногоайла"
```
или сокращенная команда:
```
$ winehelper -i is-record-station "/путь/до/установочногоайла"
```
### Процесс установки приложений
При первом запуске **WineHelper** проверяются и при необходимости устанавливаются дополнительные зависимости (запрашиваются права root).
Процесс установки приложений:
1. Отображаются лицензионные соглашения на сторонние компоненты. Для продолжения введите **y** и нажмите **Enter**.
2. Далее процесс проходит автоматически с подробным выводом в терминал:
- Загрузка и проверка хэш-суммы нужной версии Wine.
- Загрузка и проверка хэш-суммы базового префикса.
- Инициализация и подготовка префикса.
- Скачивание дистрибутива (установщика) программы с официального сайта (если применимо).
- Установка приложения.
- Создание .desktop-файла (ярлыка) на рабочем столе и в меню приложений.
Если устанавливаемое приложение требует дополнительных действий от пользователя (ввод лицензии, настройка), это будет явно указано в терминале.
### Удаление префикса с приложением
Для удаления префикса выполните команду:
```
$ winehelper remove-prefix [имя_префикса]
```
Если имя префикса не указано, будет выведен список существующих префиксов:
```
0 - Отмена
1 - Префикс1
2 - Префикс2
Выберите префикс (0-2):
```
Необходимо указать номер удаляемого префикса и нажать клавишу **Enter**.Далее потребуется подтвердить удаление префикса вводом **y**.
В результате будут удалены:
- сам префикс;
- установленное ПО;
- desktop-файлы (ярлыки для установленного ПО в префиксе).
###
Команда создания резервной копии префикса:
```
$ winehelper backup-prefix [имя_префикса]
```
Если имя префикса не указано, будет выведен список существующих префиксов:
```
0 - Отмена
1 - Префикс1
2 - Префикс2
Выберите префикс (0-2):
```
Необходимо указать номер удаляемого префикса и нажать клавишу **Enter**.
После выбора префикса автоматически:
- Создаётся копия префикса.
- Внутри префикса сохраняется используемая версия WINE.
- Копируются иконки для ярлыков (.desktop-файлов).
- Сохраняется информация о ярлыках (.desktop-файлах) для будущей распаковки/восстановления префикса.
- Резервная копия сохраняется на рабочем столе с именем: {{path|backup_имя_префиксаата_создания.whpack}}
### Восстановление префикса из резервной копии
Команда восстановления префикса из резервной копии:
```
$ winehelper restore-prefix "путь/до/файла.whpack"
```
Восстановление префикса не требует подключение к интернету и происходит в автоматическом режиме:
- Распаковка префикса.
- Восстановление версии WINE.
- Восстановление ярлыков (.desktop-файdлов).
После завершения восстановления приложение будет доступно для запуска через меню или рабочий стол.
### Использование команд WINE в WineHelper
WineHelper предоставляет доступ к основным инструментам WINE:
```
winehelper winefile # запуск файлового менеджера wine
winehelper winecfg # запуск wine конфигуратора для префикса
winehelper winereg # запуск редактора реестра для префикса
winehelper wineconsole # запуск терминала wine (cmd.exe)
winehelper winetricks # запуск графического интерфейса winetricks
winehelper winetricks [компонент] # автоматическая установка дополнительного компонента в префикс
```
После выполнения любой из вышеперечисленных команд отображается список существующих префиксов:
```
0 - Отмена
1 - Префикс1
2 - Префикс2
Выберите префикс (0-2):
```
Команда выполняется в выбранном вами префиксе.
### Запуск стороннего *.exe файла в WineHelper
Есть два варианта:
1. В командной строке выполнить команду:
```
$ winehelper "путь/до/файла.exe"
0 - Отмена
1 - Префикс1
2 - Префикс2
Выберите префикс (0-2):
```
Файл будет запущен в выбранном префиксе.
2. С помощью файлового менеджера WINE:'''
```
$ winehelper winefile
0 - Отмена
1 - Префикс1
2 - Префикс2
Выберите префикс (0-2):
```
В файловом менеджере найти и запустить нужный exe-файл.
### Дополнительные команды
```
$ winehelper help
```
Вывод:
<pre>
Использование: winehelper [команда]
Команды:
install list список возможных установочных скриптов
install [скрипт] запустить скрипт установки программы
install [скрипт] --clear-pfx не использовать готовый префикс для установки ПО
install-dxvk [версия|none|list] установить, удалить или показать версии DXVK
install-vkd3d [версия|none|list] установить, удалить или показать версии VKD3D
change-wine [версия] изменить версию Wine/Proton для текущего префикса
installed список установленных программ
run [программа] запуск программы (отладка)
remove-all удалить WineHelper и все связанные данные
create-prefix создать префикс
remove-prefix [имя_префикса] удалить префикс и все связанные данные
backup-prefix [имя_префикса] создать резервную копию префикса
restore-prefix \"путь/до/whpack\" восстановить префикс из резервной копии
Параметры:
--help показать эту справку и выйти
--version показать информацию о пакете и его версии
--changelog показать историю изменений
--debug [команда] включить режим логирования работы WINE
</pre>
</details>
<!-- Описание использования GUI -->
<details>
<summary style="font-size: 35px; font-weight: bold;">Использование WineHelper (GUI)</summary>
### Вкладки «Автоматическая установка» и «Ручная установка»
При использовании графического интерфейса списки приложений расположены во вкладках **Автоматическая установка** и **Ручная установка**.
<div align="center">
<img src="image/handbook/auto_install.png">
<p><em>Вкладка "Автоматическая установка"</em></p>
</div>
<div align="center">
<img src="image/handbook/manual_install.png">
<p><em>Вкладка "Ручная установка"</em></p>
</div>
Для поиска нужной программы введите название в поле поиска.
<div align="center">
<img src="image/handbook/search.png">
<p><em>Поле поиска</em></p>
</div>
При выборе программы из списка слева, в правой части окна отображается подробная информация о ней: описание, иконка и ссылка на официальный сайт.
<div align="center">
<img src="image/handbook/info.png">
<p><em>Информация о выбранной программе</em></p>
</div>
Для установки программы нажмите кнопку **Установить**.
Для **ручной установки** дополнительно потребуется указать путь к установочному файлу (`.exe` или `.msi`), который вы скачали самостоятельно.
<div align="center">
<img src="image/handbook/manual_install_1.png">
<p><em>Вкладка "Ручная установка" с указанием пути к дистрибутиву</em></p>
</div>
После нажатия кнопки **Установить** появится окно с лицензионным соглашением. После его принятия начнется процесс установки, который будет подробно логироваться в отдельном окне.
<div align="center">
<img src="image/handbook/license_agreement.png">
<p><em>Окно с лицензионным соглашением</em></p>
</div>
<div align="center">
<img src="image/handbook/log.png">
<p><em>Окно установки с логом</em></м</em></p>
</div>
После установки приложения и нажатия кнопки **Закрыть** в окне установки приложения, ярлык приложения появится в списке установленных приложений во вкладке **Установленные** а также в меню приложений и на рабочем столе если это разрешено в рабочем окружении.
### Вкладка «Установленные»
На этой вкладке отображаются все приложения, которые были установлены с помощью WineHelper.
<div align="center">
<img src="image/handbook/installed.png">
<p><em>Вкладка "Установленные"</em></p>
</div>
При выборе приложения в правой панели становятся доступны следующие действия:
* **Запустить/Остановить**: Запускает или останавливает/закрывает выбранное приложение.
* **Создать лог запуска программы**: Запускает приложение в режиме отладки. После закрытия приложения в вашем домашнем каталоге будет создан файл `winehelper.log`.
* **Создать резервную копию префикса**: Создает полный бэкап префикса приложения (включая версию Wine) в формате `.whpack` на вашем рабочем столе если это разрешено в рабочем окружении.
* **Удалить префикс**: Полностью удаляет приложение вместе с его префиксом и всеми связанными ярлыками.
Также на этой вкладке доступна кнопка **«Восстановить префикс из резервной копии»**, которая позволяет восстановить любое приложение из ранее созданного `.whpack` файла.
<div align="center">
<img src="image/handbook/election_installed.png">
<p><em>Выбранное приложение во вкладке "Установленные"</em></p>
</div>
Расположения лога запуска программы а также резервной копии префикса можно просмотреть с помощью кнопки **«Открыть папку с логом/резервной копией префикса»** которая появляется автоматически после создания лога или резервной копии.
<div align="center">
<img src="image/handbook/folder_log_backup.png">
<p><em>Кнопка "Открыть папку с логом/резервной копией префикса"</em></p>
</div>
### Вкладка «Менеджер префиксов»
Эта вкладка предоставляет мощные инструменты для управления префиксами Wine.
<div align="center">
<img src="image/handbook/prefix_manager.png">
<p><em>Вкладка "Менеджер префиксов"</em></p>
</div>
#### Создание нового префикса
Нажав кнопку **«Создать новый префикс»**, вы откроете диалог, где можно задать:
* **Имя префикса**.
* **Разрядность** (32-bit или 64-bit).
* **Наполнение** (чистый префикс или с рекомендуемыми библиотеками).
* **Версию Wine/Proton** из доступного списка.
<div align="center">
<img src="image/handbook/create_prefix.png">
<p><em>Диалог создания нового префикса</em></p>
</div>
#### Управление существующим префиксом
Выбрав префикс из выпадающего списка, вы получаете доступ к панели управления, которая позволяет:
* **Запускать стандартные утилиты Wine**:
* `Редактор настроек (winecfg)`
* `Редактор реестра (regedit)`
* `Удаление программ (uninstaller)`
* `Командная строка (cmd)`
* `Файловый менеджер (winefile)`
* **Управлять компонентами**:
* **Менеджер компонентов (Winetricks)**: Удобный интерфейс для установки и переустановки библиотек, шрифтов и настроек.
* **Управление Wine/Proton**: Смена версии Wine или Proton для выбранного префикса.
* **Управление DXVK/VKD3D**: Установка или удаление конкретных версий DXVK и VKD3D.
* **Ассоциации файлов**: Настройка открытия определенных типов файлов (например, `.pdf`, `.docx`) нативными приложениями Linux.
* **Включать/выключать ESync и FSync**.
* **Устанавливать приложения**: Установить любой `.exe` или `.msi` файл напрямую в выбранный префикс.
* **Создавать ярлыки**: Создать ярлык для любого исполняемого файла внутри префикса.
* **Удалять префикс** или **создавать из него шаблон**.
Справа отображается подробная информация о конфигурации выбранного префикса.
### Вкладка «Справка»
Содержит полезную информацию о проекте:
* **Руководство**: Ссылка на официальную документацию.
* **Авторы**: Список разработчиков и участников проекта.
* **Лицензия**: Текст лицензии WineHelper и информация о сторонних компонентах.
* **История изменений**: Changelog пакета.
<div align="center">
<img src="image/handbook/help.png">
<p><em>Вкладка "Справка"</em></p>
</div>
</details>
### Примечание
> [!WARNING]
> Проект находится на стадии WIP (work in progress)

View File

@@ -1,39 +0,0 @@
#!/usr/bin/env bash
# info_ru: Программа “АРМ КТ ПРОФ АТТЕСТАТ” для документов об основном общем, среднем общем образовании.
########################################################################
export PROG_URL="https://armregistr.ru/programmnoe-obespechenie/licenziya-na-programmnoe-obespechenie-dlya-zapolneniya-blank-4"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="arm-kt"
export PROG_NAME="АРМ КТ ПРОФ АТТЕСТАТ"
export PROG_ICON="armkt"
export BASE_PFX="none"
export WINEARCH="win64"
export INSTALL_DLL=""
export WH_WINDOWS_VER="7"
AUTOINSTALL_URL=$(curl -s "$PROG_URL" | grep "setup.zip" | awk -F'"' '{print $2}')
SHORT_NAME=$(echo $AUTOINSTALL_URL | awk -F'/' '{print $5}')
VER_EXE=$(echo $AUTOINSTALL_URL | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')
AUTOINSTALL_ZIP="${WH_TMP_DIR}/$SHORT_NAME-$VER_EXE-setup.zip"
AUTOINSTALL_EXE="${WH_TMP_DIR}/$SHORT_NAME-$VER_EXE-setup.exe"
if [[ -z $VER_EXE ]]
then fatal "Не удалось получить версию ПО со страницы на сайте!"
else print_info "Устанавливаем $PROG_NAME версии $VER_EXE"
fi
prepair_wine
if try_download "$AUTOINSTALL_URL" "$AUTOINSTALL_ZIP" ; then
unpack "$AUTOINSTALL_ZIP" "${WH_TMP_DIR}"
try_remove_file "$AUTOINSTALL_ZIP"
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT
try_remove_file "${AUTOINSTALL_EXE}"
create_desktop "$PROG_NAME" \
"$DRIVE_C/Program Files/KtSoftware/$SHORT_NAME/$SHORT_NAME.exe" "$PROG_ICON"
create_desktop "Регистрация $PROG_NAME" \
"$DRIVE_C/Program Files/KtSoftware/$SHORT_NAME/${SHORT_NAME}Reg.exe" "$PROG_ICON"
fi

View File

@@ -1,39 +0,0 @@
#!/usr/bin/env bash
# info_ru: Программа “АРМ КТ ПРОФ ДПП” для заполнения бланков документов о повышении квалификации и профессиональной переподготовке.
########################################################################
export PROG_URL="https://armregistr.ru/programmnoe-obespechenie/licenziya-na-programmnoe-obespechenie-dlya-zapolneniya-blank"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="arm-kt"
export PROG_NAME="АРМ КТ ПРОФ ДПП"
export PROG_ICON="armkt"
export BASE_PFX="none"
export WINEARCH="win64"
export INSTALL_DLL=""
export WH_WINDOWS_VER="7"
AUTOINSTALL_URL=$(curl -s "$PROG_URL" | grep "setup.zip" | awk -F'"' '{print $2}')
SHORT_NAME=$(echo $AUTOINSTALL_URL | awk -F'/' '{print $5}')
VER_EXE=$(echo $AUTOINSTALL_URL | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')
AUTOINSTALL_ZIP="${WH_TMP_DIR}/$SHORT_NAME-$VER_EXE-setup.zip"
AUTOINSTALL_EXE="${WH_TMP_DIR}/$SHORT_NAME-$VER_EXE-setup.exe"
if [[ -z $VER_EXE ]]
then fatal "Не удалось получить версию ПО со страницы на сайте!"
else print_info "Устанавливаем $PROG_NAME версии $VER_EXE"
fi
prepair_wine
if try_download "$AUTOINSTALL_URL" "$AUTOINSTALL_ZIP" ; then
unpack "$AUTOINSTALL_ZIP" "${WH_TMP_DIR}"
try_remove_file "$AUTOINSTALL_ZIP"
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT
try_remove_file "${AUTOINSTALL_EXE}"
create_desktop "$PROG_NAME" \
"$DRIVE_C/Program Files/KtSoftware/$SHORT_NAME/$SHORT_NAME.exe" "$PROG_ICON"
create_desktop "Регистрация $PROG_NAME" \
"$DRIVE_C/Program Files/KtSoftware/$SHORT_NAME/${SHORT_NAME}Reg.exe" "$PROG_ICON"
fi

View File

@@ -1,35 +0,0 @@
#!/usr/bin/env bash
# info_ru: Программа “АРМ КТ ПРОФ НШ” для заполнения бланков документов об окончании начальной школы.
########################################################################
export PROG_URL="https://armregistr.ru/programmnoe-obespechenie/licenziya-na-programmnoe-obespechenie-dlya-zapolneniya-blank-1"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="arm-kt"
export PROG_NAME="АРМ КТ ПРОФ НШ"
export PROG_ICON="armkt"
export BASE_PFX="none"
export WINEARCH="win64"
export INSTALL_DLL=""
export WH_WINDOWS_VER="7"
AUTOINSTALL_URL=$(curl -s "$PROG_URL" | grep "setup.exe" | awk -F'"' '{print $2}')
SHORT_NAME=$(echo $AUTOINSTALL_URL | awk -F'/' '{print $5}')
VER_EXE=$(echo $AUTOINSTALL_URL | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')
AUTOINSTALL_EXE="${WH_TMP_DIR}/$SHORT_NAME-$VER_EXE-setup.exe"
if [[ -z $VER_EXE ]]
then fatal "Не удалось получить версию ПО со страницы на сайте!"
else print_info "Устанавливаем $PROG_NAME версии $VER_EXE"
fi
prepair_wine
if try_download "$AUTOINSTALL_URL" "$AUTOINSTALL_EXE" ; then
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT
try_remove_file "${AUTOINSTALL_EXE}"
create_desktop "$PROG_NAME" \
"$DRIVE_C/Program Files/KtSoftware/$SHORT_NAME/$SHORT_NAME.exe" "$PROG_ICON"
create_desktop "Регистрация $PROG_NAME" \
"$DRIVE_C/Program Files/KtSoftware/$SHORT_NAME/${SHORT_NAME}Reg.exe" "$PROG_ICON"
fi

View File

@@ -1,39 +0,0 @@
#!/usr/bin/env bash
# info_ru: Программа “АРМ КТ ПРОФ МЕД” для заполнения бланков документов о послевузовском профессиональном образовании и сертификатов специалиста.
######################################################
export PROG_URL="https://armregistr.ru/programmnoe-obespechenie/licenziya-na-programmnoe-obespechenie-dlya-zapolneniya-blank-3"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="arm-kt"
export PROG_NAME="АРМ КТ ПРОФ МЕД"
export PROG_ICON="armkt"
export BASE_PFX="none"
export WINEARCH="win64"
export INSTALL_DLL=""
export WH_WINDOWS_VER="7"
AUTOINSTALL_URL=$(curl -s "$PROG_URL" | grep "setup.zip" | awk -F'"' '{print $2}')
SHORT_NAME=$(echo $AUTOINSTALL_URL | awk -F'/' '{print $5}')
VER_EXE=$(echo $AUTOINSTALL_URL | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')
AUTOINSTALL_ZIP="${WH_TMP_DIR}/$SHORT_NAME-$VER_EXE-setup.zip"
AUTOINSTALL_EXE="${WH_TMP_DIR}/$SHORT_NAME-$VER_EXE-setup.exe"
if [[ -z $VER_EXE ]]
then fatal "Не удалось получить версию ПО со страницы на сайте!"
else print_info "Устанавливаем $PROG_NAME версии $VER_EXE"
fi
prepair_wine
if try_download "$AUTOINSTALL_URL" "$AUTOINSTALL_ZIP" ; then
unpack "$AUTOINSTALL_ZIP" "${WH_TMP_DIR}"
try_remove_file "$AUTOINSTALL_ZIP"
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT
try_remove_file "${AUTOINSTALL_EXE}"
create_desktop "$PROG_NAME" \
"$DRIVE_C/Program Files/KtSoftware/$SHORT_NAME/$SHORT_NAME.exe" "$PROG_ICON"
create_desktop "Регистрация $PROG_NAME" \
"$DRIVE_C/Program Files/KtSoftware/$SHORT_NAME/${SHORT_NAME}Reg.exe" "$PROG_ICON"
fi

View File

@@ -1,39 +0,0 @@
#!/usr/bin/env bash
# info_ru: Программа “АРМ КТ ПРОФ ПРОФЕССИЯ” для заполнения бланков документов профессионального обучения.
########################################################################
export PROG_URL="https://armregistr.ru/programmnoe-obespechenie/licenziya-na-programmnoe-obespechenie-dlya-zapolneniya-blank-5"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="arm-kt"
export PROG_NAME="АРМ КТ ПРОФ ПРОФЕССИЯ"
export PROG_ICON="armkt"
export BASE_PFX="none"
export WINEARCH="win64"
export INSTALL_DLL=""
export WH_WINDOWS_VER="7"
AUTOINSTALL_URL=$(curl -s "$PROG_URL" | grep "setup.zip" | awk -F'"' '{print $2}')
SHORT_NAME=$(echo $AUTOINSTALL_URL | awk -F'/' '{print $5}')
VER_EXE=$(echo $AUTOINSTALL_URL | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')
AUTOINSTALL_ZIP="${WH_TMP_DIR}/$SHORT_NAME-$VER_EXE-setup.zip"
AUTOINSTALL_EXE="${WH_TMP_DIR}/$SHORT_NAME-$VER_EXE-setup.exe"
if [[ -z $VER_EXE ]]
then fatal "Не удалось получить версию ПО со страницы на сайте!"
else print_info "Устанавливаем $PROG_NAME версии $VER_EXE"
fi
prepair_wine
if try_download "$AUTOINSTALL_URL" "$AUTOINSTALL_ZIP" ; then
unpack "$AUTOINSTALL_ZIP" "${WH_TMP_DIR}"
try_remove_file "$AUTOINSTALL_ZIP"
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT
try_remove_file "${AUTOINSTALL_EXE}"
create_desktop "$PROG_NAME" \
"$DRIVE_C/Program Files/KtSoftware/$SHORT_NAME/$SHORT_NAME.exe" "$PROG_ICON"
create_desktop "Регистрация $PROG_NAME" \
"$DRIVE_C/Program Files/KtSoftware/$SHORT_NAME/${SHORT_NAME}Reg.exe" "$PROG_ICON"
fi

View File

@@ -1,39 +0,0 @@
#!/usr/bin/env bash
# info_ru: Программа “АРМ КТ ПРОФ СПО” для заполнения бланков документов о среднем профессиональном образовании.
########################################################################
export PROG_URL="https://armregistr.ru/programmnoe-obespechenie/licenziya-na-programmnoe-obespechenie-dlya-zapolneniya-blank-2"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="arm-kt"
export PROG_NAME="АРМ КТ ПРОФ СПО"
export PROG_ICON="armkt"
export BASE_PFX="none"
export WINEARCH="win64"
export INSTALL_DLL=""
export WH_WINDOWS_VER="7"
AUTOINSTALL_URL=$(curl -s "$PROG_URL" | grep "setup.zip" | awk -F'"' '{print $2}')
SHORT_NAME=$(echo $AUTOINSTALL_URL | awk -F'/' '{print $5}')
VER_EXE=$(echo $AUTOINSTALL_URL | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')
AUTOINSTALL_ZIP="${WH_TMP_DIR}/$SHORT_NAME-$VER_EXE-setup.zip"
AUTOINSTALL_EXE="${WH_TMP_DIR}/$SHORT_NAME-$VER_EXE-setup.exe"
if [[ -z $VER_EXE ]]
then fatal "Не удалось получить версию ПО со страницы на сайте!"
else print_info "Устанавливаем $PROG_NAME версии $VER_EXE"
fi
prepair_wine
if try_download "$AUTOINSTALL_URL" "$AUTOINSTALL_ZIP" ; then
unpack "$AUTOINSTALL_ZIP" "${WH_TMP_DIR}"
try_remove_file "$AUTOINSTALL_ZIP"
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT
try_remove_file "${AUTOINSTALL_EXE}"
create_desktop "$PROG_NAME" \
"$DRIVE_C/Program Files/KtSoftware/$SHORT_NAME/$SHORT_NAME.exe" "$PROG_ICON"
create_desktop "Регистрация $PROG_NAME" \
"$DRIVE_C/Program Files/KtSoftware/$SHORT_NAME/${SHORT_NAME}Reg.exe" "$PROG_ICON"
fi

View File

@@ -1,39 +0,0 @@
#!/usr/bin/env bash
# info_ru: Программа “АРМ КТ ПРОФ ВУЗ” для заполнения бланков документов о высшем образовании.
########################################################################
export PROG_URL="https://armregistr.ru/programmnoe-obespechenie/licenziya-na-programmnoe-obespechenie-dlya-zapolneniya-blank-6"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="arm-kt"
export PROG_NAME="АРМ КТ ПРОФ ВУЗ"
export PROG_ICON="armkt"
export BASE_PFX="none"
export WINEARCH="win64"
export INSTALL_DLL=""
export WH_WINDOWS_VER="7"
AUTOINSTALL_URL=$(curl -s "$PROG_URL" | grep "setup.zip" | awk -F'"' '{print $2}')
SHORT_NAME=$(echo $AUTOINSTALL_URL | awk -F'/' '{print $5}')
VER_EXE=$(echo $AUTOINSTALL_URL | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')
AUTOINSTALL_ZIP="${WH_TMP_DIR}/$SHORT_NAME-$VER_EXE-setup.zip"
AUTOINSTALL_EXE="${WH_TMP_DIR}/$SHORT_NAME-$VER_EXE-setup.exe"
if [[ -z $VER_EXE ]]
then fatal "Не удалось получить версию ПО со страницы на сайте!"
else print_info "Устанавливаем $PROG_NAME версии $VER_EXE"
fi
prepair_wine
if try_download "$AUTOINSTALL_URL" "$AUTOINSTALL_ZIP" ; then
unpack "$AUTOINSTALL_ZIP" "${WH_TMP_DIR}"
try_remove_file "$AUTOINSTALL_ZIP"
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT
try_remove_file "${AUTOINSTALL_EXE}"
create_desktop "$PROG_NAME" \
"$DRIVE_C/Program Files/KtSoftware/$SHORT_NAME/$SHORT_NAME.exe" "$PROG_ICON"
create_desktop "Регистрация $PROG_NAME" \
"$DRIVE_C/Program Files/KtSoftware/$SHORT_NAME/${SHORT_NAME}Reg.exe" "$PROG_ICON"
fi

View File

@@ -1,15 +1,15 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: SCAD Office — это программный комплекс для расчёта строительных конструкций. # info_ru: SCAD Office — это программный комплекс для расчёта строительных конструкций, с дополнением Apache OpenOffice. Apache OpenOffice - пакет офисного программного обеспечения для обработки текстов, электронных таблиц, презентаций, графики, баз данных и многого другого.
######################################################################## ########################################################################
export PROG_URL="https://scadoffice.ru" export PROG_URL="https://scadoffice.ru"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="scadoffice" export WINEPREFIX="scadoffice"
export PROG_NAME="SCAD Office" export PROG_NAME="SCAD Office"
export PROG_ICON="scadoffice" export PROG_ICON="scadoffice"
export BASE_PFX="scadaoffice_pfx_x64_v05" export BASE_PFX="scadaoffice_pfx_x64_v03"
export WH_WINDOWS_VER="10" export WH_WINDOWS_VER="10"
export WINEARCH="win64" export WINEARCH="win64"
export INSTALL_DLL="dotnet20 dotnet48 gdiplus vcrun6sp6 vcrun2005 vcrun2019 d3dx11_42 d3dx11_43 d3dx9 d3dcompiler_42 d3dcompiler_43 d3dcompiler_46 d3dcompiler_47 richtx32 riched30 riched20 msxml6" export INSTALL_DLL="dotnet20 dotnet472 dotnet48 gdiplus vcrun6sp6 vcrun2005 vcrun2019 d3dx11_42 d3dx11_43 d3dx9 d3dcompiler_42 d3dcompiler_43 d3dcompiler_46 d3dcompiler_47 richtx32 riched30 riched20 msxml6"
export WH_XDG_OPEN="rtf" export WH_XDG_OPEN="rtf"
AUTOINSTALL_EXE="${WH_TMP_DIR}/SCADOffice_installer.exe" AUTOINSTALL_EXE="${WH_TMP_DIR}/SCADOffice_installer.exe"
SCADOFFICE_ADDONS_URL="https://cloud.linux-gaming.ru/portproton/scadoffice_addons_v02.tar.xz" SCADOFFICE_ADDONS_URL="https://cloud.linux-gaming.ru/portproton/scadoffice_addons_v02.tar.xz"
@@ -32,31 +32,33 @@ if [[ -n $2 ]] ; then
fi fi
fi fi
print_info "Установка дополнительных компонентов..." if [[ $BASE_PFX == "none" ]] ; then
print_info "Установка дополнительных компонентов..."
ADDONS_PACK="${WH_TMP_DIR}/$(basename "$SCADOFFICE_ADDONS_URL")" ADDONS_PACK="${WH_TMP_DIR}/$(basename "$SCADOFFICE_ADDONS_URL")"
ADDONS_PATH="${WH_TMP_DIR}/scadoffice_addons" ADDONS_PATH="${WH_TMP_DIR}/scadoffice_addons"
ADDONS_PATH_REG="${ADDONS_PATH}/REG" ADDONS_PATH_REG="${ADDONS_PATH}/REG"
ADDONS_PATH_MDAC="${ADDONS_PATH}/mdac64" ADDONS_PATH_MDAC="${ADDONS_PATH}/mdac64"
ADDONS_PATH_OPENSSH="${ADDONS_PATH}/OpenSSH" ADDONS_PATH_OPENSSH="${ADDONS_PATH}/OpenSSH"
if try_download "$SCADOFFICE_ADDONS_URL" "${ADDONS_PACK}" ; then if try_download "$SCADOFFICE_ADDONS_URL" "${ADDONS_PACK}" ; then
create_new_dir "${ADDONS_PATH}" create_new_dir "${ADDONS_PATH}"
unpack "${ADDONS_PACK}" "${ADDONS_PATH}" unpack "${ADDONS_PACK}" "${ADDONS_PATH}"
wine_run regedit "${ADDONS_PATH_REG}"/*.reg wine_run regedit "${ADDONS_PATH_REG}"/*.reg
# Установка ODBC # Установка ODBC
rm -fR "$DRIVE_C/Program Files (x86)/Common Files/System" rm -fR "$DRIVE_C/Program Files (x86)/Common Files/System"
cp -r "${ADDONS_PATH_MDAC}/System" "$DRIVE_C/Program Files (x86)/Common Files/System" cp -r "${ADDONS_PATH_MDAC}/System" "$DRIVE_C/Program Files (x86)/Common Files/System"
cp -r "${ADDONS_PATH_MDAC}"/*.* "$DRIVE_C/windows/system32/" cp -r "${ADDONS_PATH_MDAC}"/*.* "$DRIVE_C/windows/system32/"
wine_run regedit "${ADDONS_PATH_MDAC}"/*.reg wine_run regedit "${ADDONS_PATH_MDAC}"/*.reg
# Установка SSH # Установка SSH
cp -r "${ADDONS_PATH_OPENSSH}" "$DRIVE_C/windows/system32/" cp -r "${ADDONS_PATH_OPENSSH}" "$DRIVE_C/windows/system32/"
try_remove_dir "$ADDONS_PATH" try_remove_dir "$ADDONS_PATH"
try_remove_file "$ADDONS_PACK" try_remove_file "$ADDONS_PACK"
fi
fi fi
if try_download "https://scadhelp.ru/files/10/download" "${AUTOINSTALL_EXE}" ; then if try_download "https://scadhelp.ru/files/10/download" "${AUTOINSTALL_EXE}" ; then

View File

@@ -5,7 +5,7 @@ export PROG_URL="https://www.tflexcad.ru"
export PROG_NAME="T-FLEX CAD Учебная Версия 17" export PROG_NAME="T-FLEX CAD Учебная Версия 17"
export PROG_ICON="tflexcad" export PROG_ICON="tflexcad"
export WH_WINE_USE="wine_wh_tflex_10-9_amd64" export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
export BASE_PFX="tflex_pfx_x64_v03" export BASE_PFX="tflex17_pfx_x64_v02"
export WINEARCH="win64" export WINEARCH="win64"
export WH_WINDOWS_VER="10" export WH_WINDOWS_VER="10"
export WINEPREFIX="tflex" export WINEPREFIX="tflex"
@@ -14,7 +14,7 @@ export WH_USE_MESA_GL_OVERRIDE="1"
# используем общий whdb файл для подготовки префикса и сервисов # используем общий whdb файл для подготовки префикса и сервисов
# prepair_wine используется из файла настроек # prepair_wine используется из файла настроек
source "$WH_DB_DIR/t-flex-cad.whdb" source "$WH_DB_DIR/t-flex-cad17.whdb"
# Программа 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"

View File

@@ -5,7 +5,7 @@ export PROG_URL="https://www.tflexcad.ru"
export PROG_NAME="T-FLEX CAD 17" export PROG_NAME="T-FLEX CAD 17"
export PROG_ICON="tflexcad" export PROG_ICON="tflexcad"
export WH_WINE_USE="wine_wh_tflex_10-9_amd64" export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
export BASE_PFX="tflex_pfx_x64_v03" export BASE_PFX="tflex17_pfx_x64_v02"
export WINEARCH="win64" export WINEARCH="win64"
export WH_WINDOWS_VER="10" export WH_WINDOWS_VER="10"
export WINEPREFIX="tflex" export WINEPREFIX="tflex"
@@ -14,7 +14,7 @@ export WH_USE_MESA_GL_OVERRIDE="1"
# используем общий whdb файл для подготовки префикса и сервисов # используем общий whdb файл для подготовки префикса и сервисов
# prepair_wine используется из файла настроек # prepair_wine используется из файла настроек
source "$WH_DB_DIR/t-flex-cad.whdb" source "$WH_DB_DIR/t-flex-cad17.whdb"
# Программа 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"

View File

@@ -6,7 +6,7 @@ export PROG_NAME="Приложения для T-FLEX CAD 17"
export PROG_ICON="tflexcad" export PROG_ICON="tflexcad"
export WH_WINDOWS_VER="10" export WH_WINDOWS_VER="10"
export WH_WINE_USE="wine_wh_tflex_10-9_amd64" export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
export BASE_PFX="tflex_pfx_x64_v03" export BASE_PFX="tflex17_pfx_x64_v02"
export WINEARCH="win64" export WINEARCH="win64"
export WINEPREFIX="tflex" export WINEPREFIX="tflex"
export WH_XDG_OPEN="log" export WH_XDG_OPEN="log"

View File

@@ -6,7 +6,7 @@ export PROG_NAME="Ресурсы для T-FLEX CAD 17"
export PROG_ICON="tflexcad" export PROG_ICON="tflexcad"
export WH_WINDOWS_VER="10" export WH_WINDOWS_VER="10"
export WH_WINE_USE="wine_wh_tflex_10-9_amd64" export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
export BASE_PFX="tflex_pfx_x64_v03" export BASE_PFX="tflex17_pfx_x64_v02"
export WINEARCH="win64" export WINEARCH="win64"
export WINEPREFIX="tflex" export WINEPREFIX="tflex"
export WH_XDG_OPEN="log" export WH_XDG_OPEN="log"

View File

@@ -5,7 +5,7 @@ export PROG_URL="https://www.tflexcad.ru"
export PROG_NAME="T-FLEX CAD 2D+ 17" export PROG_NAME="T-FLEX CAD 2D+ 17"
export PROG_ICON="tflexcad" export PROG_ICON="tflexcad"
export WH_WINE_USE="wine_wh_tflex_10-9_amd64" export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
export BASE_PFX="tflex_pfx_x64_v03" export BASE_PFX="tflex17_pfx_x64_v02"
export WINEARCH="win64" export WINEARCH="win64"
export WH_WINDOWS_VER="10" export WH_WINDOWS_VER="10"
export WINEPREFIX="tflex" export WINEPREFIX="tflex"
@@ -14,7 +14,7 @@ export WH_USE_MESA_GL_OVERRIDE="1"
# используем общий whdb файл для подготовки префикса и сервисов # используем общий whdb файл для подготовки префикса и сервисов
# prepair_wine используется из файла настроек # prepair_wine используется из файла настроек
source "$WH_DB_DIR/t-flex-cad.whdb" source "$WH_DB_DIR/t-flex-cad17.whdb"
# Программа 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"

View File

@@ -5,7 +5,7 @@ export PROG_URL="https://www.tflexcad.ru"
export PROG_NAME="T-FLEX DOCs 17" export PROG_NAME="T-FLEX DOCs 17"
export PROG_ICON="tflexdoc" export PROG_ICON="tflexdoc"
export WH_WINE_USE="wine_wh_tflex_10-9_amd64" export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
export BASE_PFX="tflex_pfx_x64_v03" export BASE_PFX="tflex17_pfx_x64_v02"
export WINEARCH="win64" export WINEARCH="win64"
export WH_WINDOWS_VER="10" export WH_WINDOWS_VER="10"
export WINEPREFIX="tflex" export WINEPREFIX="tflex"
@@ -14,7 +14,7 @@ export WH_USE_MESA_GL_OVERRIDE="1"
# используем общий whdb файл для подготовки префикса и сервисов # используем общий whdb файл для подготовки префикса и сервисов
# prepair_wine используется из файла настроек # prepair_wine используется из файла настроек
source "$WH_DB_DIR/t-flex-cad.whdb" source "$WH_DB_DIR/t-flex-cad17.whdb"
# Программа 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"

View File

@@ -5,7 +5,7 @@ export PROG_URL="https://www.tflexcad.ru"
export PROG_NAME="T-FLEX Viewer 17" export PROG_NAME="T-FLEX Viewer 17"
export PROG_ICON="tflexcad" export PROG_ICON="tflexcad"
export WH_WINE_USE="wine_wh_tflex_10-9_amd64" export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
export BASE_PFX="tflex_pfx_x64_v03" export BASE_PFX="tflex17_pfx_x64_v02"
export WINEARCH="win64" export WINEARCH="win64"
export WH_WINDOWS_VER="10" export WH_WINDOWS_VER="10"
export WINEPREFIX="tflex" export WINEPREFIX="tflex"
@@ -14,7 +14,7 @@ export WH_USE_MESA_GL_OVERRIDE="1"
# используем общий whdb файл для подготовки префикса и сервисов # используем общий whdb файл для подготовки префикса и сервисов
# prepair_wine используется из файла настроек # prepair_wine используется из файла настроек
source "$WH_DB_DIR/t-flex-cad.whdb" source "$WH_DB_DIR/t-flex-cad17.whdb"
# Программа 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"

View File

@@ -1,24 +1,28 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Компоненты сервисов поддержки T-FLEX 17 и 18 # info_ru: Компоненты сервисов поддержки T-FLEX 17
######################################################################## ########################################################################
export WH_WINDOWS_VER="10" export WH_WINDOWS_VER="10"
export WH_WINE_USE="wine_wh_tflex_10-9_amd64" export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
export BASE_PFX="tflex_pfx_x64_v03" export BASE_PFX="tflex17_pfx_x64_v02"
export WINEARCH="win64" export WINEARCH="win64"
export WINEPREFIX="tflex" export WINEPREFIX="tflex"
export PROG_VERSION="" export PROG_VERSION=""
export WH_XDG_OPEN="log" export WH_XDG_OPEN="log"
export INSTALL_DLL="corefonts d3dcompiler_47 dotnet48 dotnet20 vcrun2019 ucrtbase2019 msxml6 fontsmooth=rgb baekmuk droid eufonts ipamona liberation lucida opensymbol sourcehansans tahoma takao uff unifont vlgothic wenquanyi wenquanyizenhei" 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"
export WH_USE_MESA_GL_OVERRIDE="1" export WH_USE_MESA_GL_OVERRIDE="1"
# Компоненты поддержки T-FLEX PLM (Linux)
GRDCONTROL_VER="4.3.0-0" GRDCONTROL_VER="4.3.0-0"
AUTOINSTALL_ZIP_LIN="$WH_TMP_DIR/Prerequisites_T-FLEX_Linux.zip" AUTOINSTALL_ZIP_LIN="$WH_TMP_DIR/Prerequisites_T-FLEX_Linux.zip"
AUTOINSTALL_DIR_LIN="$WH_TMP_DIR/Prerequisites_T-FLEX_Linux" AUTOINSTALL_DIR_LIN="$WH_TMP_DIR/Prerequisites_T-FLEX_Linux"
AUTOINSTALL_REG_LIN="$AUTOINSTALL_DIR_LIN/Components/fake_hasp.reg"
AUTOINSTALL_EXE_ADE2007="$AUTOINSTALL_DIR_LIN/Components/AccessDatabaseEngine.exe" # Компоненты поддержки T-FLEX PLM (Windows)
AUTOINSTALL_EXE_TSC2="$AUTOINSTALL_DIR_LIN/Components/Setup_TSC2.msi" AUTOINSTALL_ZIP_WIN="$WH_TMP_DIR/T-FLEX 17 Prerequisites.zip"
AUTOINSTALL_EXE_VC_X86="$AUTOINSTALL_DIR_LIN/Components/vc_redist.x86.exe" AUTOINSTALL_DIR_WIN="$WH_TMP_DIR/Компоненты поддержки T-FLEX 17"
AUTOINSTALL_EXE_VC_X64="$AUTOINSTALL_DIR_LIN/Components/vc_redist.x64.exe" AUTOINSTALL_EXE_WIN1="$AUTOINSTALL_DIR_WIN/Access Database Engine 2007/AccessDatabaseEngine.exe"
AUTOINSTALL_EXE_WIN_MSI="$AUTOINSTALL_DIR_WIN/Access Database Engine 2007"
AUTOINSTALL_EXE_WIN2="$AUTOINSTALL_DIR_WIN/TSC2/Setup_TSC2.msi"
prepair_wine prepair_wine
@@ -38,8 +42,11 @@ else
|| ! systemctl list-units --type service --state running | grep hasplmd \ || ! systemctl list-units --type service --state running | grep hasplmd \
|| ! rpm -q grdcontrol | grep -q "$GRDCONTROL_VER" || ! rpm -q grdcontrol | grep -q "$GRDCONTROL_VER"
then then
try_download "https://www.tflex.ru/downloads/Prerequisites_T-FLEX_Linux.zip" "${AUTOINSTALL_ZIP_LIN}" # Компоненты поддержки T-FLEX PLM (Linux)
unpack "$AUTOINSTALL_ZIP_LIN" "$AUTOINSTALL_DIR_LIN" if try_download "https://www.tflex.ru/downloads/Prerequisites_T-FLEX_Linux.zip" "${AUTOINSTALL_ZIP_LIN}" ; then
unpack "$AUTOINSTALL_ZIP_LIN" "$AUTOINSTALL_DIR_LIN"
"$WINELOADER" regedit "$AUTOINSTALL_REG_LIN"
fi
if rpm -q grdcontrol | grep -q "$GRDCONTROL_VER" if rpm -q grdcontrol | grep -q "$GRDCONTROL_VER"
then print_info "grdcontrol-$GRDCONTROL_VER уже установлен в системе." then print_info "grdcontrol-$GRDCONTROL_VER уже установлен в системе."
@@ -48,14 +55,14 @@ else
if [[ "$BASE_PFX" == "none" ]] ; then if [[ "$BASE_PFX" == "none" ]] ; then
print_info "Запускаем подготовку префикса." print_info "Запускаем подготовку префикса."
# Компоненты поддержки T-FLEX PLM (Windows)
if try_download "https://www.tflex.ru/downloads/T-FLEX%2017%20Prerequisites.zip" "${AUTOINSTALL_ZIP_WIN}" ; then
unpack "$AUTOINSTALL_ZIP_WIN" "$WH_TMP_DIR"
unpack "$AUTOINSTALL_EXE_WIN1" "$AUTOINSTALL_EXE_WIN_MSI"
unpack "$AUTOINSTALL_EXE_ADE2007" "$AUTOINSTALL_DIR_LIN/ADE2007" wine_run_install "$AUTOINSTALL_EXE_WIN_MSI/AceRedist.msi" /q
wine_run_install "$AUTOINSTALL_DIR_LIN/ADE2007/AceRedist.msi" /q wine_run_install "$AUTOINSTALL_EXE_WIN2" /q
fi
wine_run_install "$AUTOINSTALL_EXE_VC_X86" /quiet
wine_run_install "$AUTOINSTALL_EXE_VC_X64" /quiet
wine_run_install "$AUTOINSTALL_EXE_TSC2" /q
rm -fR "$DRIVE_C/Program Files/Common Files/System" rm -fR "$DRIVE_C/Program Files/Common Files/System"
rm -fR "$DRIVE_C/Program Files (x86)/Common Files/System" rm -fR "$DRIVE_C/Program Files (x86)/Common Files/System"
@@ -67,9 +74,9 @@ else
mv -f "$AUTOINSTALL_DIR_LIN/Components/Windows/System32/"*.dll \ mv -f "$AUTOINSTALL_DIR_LIN/Components/Windows/System32/"*.dll \
"$DRIVE_C/windows/system32" "$DRIVE_C/windows/system32"
"$WINELOADER" regedit "$AUTOINSTALL_DIR_LIN/Components/fake_hasp.reg"
"$WINELOADER" regedit "$AUTOINSTALL_DIR_LIN/Components/ado-32.reg" "$WINELOADER" regedit "$AUTOINSTALL_DIR_LIN/Components/ado-32.reg"
"$WINELOADER" regedit "$AUTOINSTALL_DIR_LIN/Components/ado-64.reg" "$WINELOADER"64 regedit "$AUTOINSTALL_DIR_LIN/Components/ado-64.reg"
"$WINELOADER" regedit "$AUTOINSTALL_DIR_LIN/Components/tflex.reg"
fi fi
if systemctl list-units --type service --state running | grep aksusbd \ if systemctl list-units --type service --state running | grep aksusbd \
@@ -91,12 +98,14 @@ else
fi fi
try_remove_dir "$AUTOINSTALL_DIR_LIN" try_remove_dir "$AUTOINSTALL_DIR_LIN"
try_remove_dir "$AUTOINSTALL_DIR_WIN"
if [[ $TFLEX_ERROR == "1" ]] ; then if [[ $TFLEX_ERROR == "1" ]] ; then
fatal "Произошла ошибка во время подготовки префикса, или установки компонентов ПО." fatal "Произошла ошибка во время подготовки префикса, или установки компонентов ПО."
else else
echo "t-flex-cad-prepair" >> "$WINEPREFIX/winetricks.log" echo "t-flex-cad-prepair" >> "$WINEPREFIX/winetricks.log"
# try_remove_file "$AUTOINSTALL_ZIP_LIN" try_remove_file "$AUTOINSTALL_ZIP_LIN"
try_remove_file "$AUTOINSTALL_ZIP_WIN"
print_info "Подготовка префикса и установка компонентов завершены." print_info "Подготовка префикса и установка компонентов завершены."
fi fi
fi fi

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 184 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 227 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 236 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 336 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

View File

@@ -1,39 +0,0 @@
#!/usr/bin/env bash
# info_ru: Установщик программного комплекса NetTest (демо-версия)
########################################################################
export PROG_URL="https://www.kpolyakov.spb.ru/prog/nettest/nettget.htm"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="nettest"
export PROG_NAME="NetTest"
export BASE_PFX="none"
export WINEARCH="win64"
export INSTALL_DLL=""
export WH_WINDOWS_VER="10"
ZIP_FILE="$2"
if [[ -f "$ZIP_FILE" ]] \
&& [[ $ZIP_FILE =~ ".zip" ]]
then
prepair_wine
PROG_PATH="$DRIVE_C/nettest"
if [[ $ZIP_FILE =~ "tests" ]] ; then
unpack "$2" "$PROG_PATH/tests"
print_info "Тесты $(basename "$ZIP_FILE") установлены."
exit 0
else
unpack "$2" "$PROG_PATH"
fi
cp -fr "$PROG_PATH/fonts/"* "$DRIVE_C/windows/Fonts/"
create_desktop "$PROG_NAME (Сервер)" "$PROG_PATH/testser.exe" "nettest_server"
create_desktop "$PROG_NAME (Клиент)" "$PROG_PATH/testcli.exe" "nettest_client"
else
fatal "Не найден файл архива для $PROG_NAME. Перезапустите по примеру:
winehelper install $1 \"/путь/до/архива\""
fi

View File

@@ -1,10 +1,10 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Ручная установка дополнений для T-FLEX CAD 17 или 18 # info_ru: Ручная установка дополнений для T-FLEX CAD 17
######################################################################## ########################################################################
export PROG_NAME="T-FLEX CAD 17/18" export PROG_NAME="T-FLEX CAD 17"
export PROG_ICON="tflexcad" export PROG_ICON="tflexcad"
export WH_WINE_USE="wine_wh_tflex_10-9_amd64" export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
export BASE_PFX="tflex_pfx_x64_v03" export BASE_PFX="tflex17_pfx_x64_v02"
export WINEARCH="win64" export WINEARCH="win64"
export WH_WINDOWS_VER="10" export WH_WINDOWS_VER="10"
export WINEPREFIX="tflex" export WINEPREFIX="tflex"
@@ -14,7 +14,7 @@ export WH_USE_MESA_GL_OVERRIDE="1"
if [[ -f "$2" ]] ; then if [[ -f "$2" ]] ; then
# используем общий whdb файл для подготовки префикса и сервисов # используем общий whdb файл для подготовки префикса и сервисов
# prepair_wine используется из файла настроек # prepair_wine используется из файла настроек
source "$WH_DB_DIR/t-flex-cad.whdb" source "$WH_DB_DIR/t-flex-cad17.whdb"
wine_run_install "$2" wine_run_install "$2"
else else

View File

@@ -1,23 +0,0 @@
#!/usr/bin/env bash
# info_ru: Ручная установка дополнений для T-FLEX DOCS 17 или 18
########################################################################
export PROG_NAME="T-FLEX DOCS 17/18"
export PROG_ICON="tflexcad"
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
export BASE_PFX="tflex_pfx_x64_v03"
export WINEARCH="win64"
export WH_WINDOWS_VER="10"
export WINEPREFIX="tflex"
export WH_XDG_OPEN="log"
export WH_USE_MESA_GL_OVERRIDE="1"
if [[ -f "$2" ]] ; then
# используем общий whdb файл для подготовки префикса и сервисов
# prepair_wine используется из файла настроек
source "$WH_DB_DIR/t-flex-cad.whdb"
wine_run_install "$2"
else
fatal "Не найден файл установки. Перезапустите по примеру:
winehelper install $1 \"/путь/до/файла\""
fi

View File

@@ -5,7 +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
f1bf1261550ca2928cefacdb724926d3d6d103433d0ff6882ee9783a50d8f4e4 wine-8.8-staging-amd64.tar.xz
61bec1230b37b8fcc69fd45f848b44fd88cc41fcdd5dc3080336d7da63660f40 wine-7.16.1-alt1-amd64.tar.xz 61bec1230b37b8fcc69fd45f848b44fd88cc41fcdd5dc3080336d7da63660f40 wine-7.16.1-alt1-amd64.tar.xz
6fea17fd131f57c2ebf7ca4c60d3c5a9e819afe16e5d0b77ecb750da99ae0e38 wine-7.16.1-alt1-i586.tar.xz 6fea17fd131f57c2ebf7ca4c60d3c5a9e819afe16e5d0b77ecb750da99ae0e38 wine-7.16.1-alt1-i586.tar.xz
@@ -171,9 +170,13 @@ d62225f6a23e49355a59a2bd9a495390694bd70d4be6d6527cfb7fb2e2d65f0d defpfx_x64_v01
# create with wine_x_tkg_10-0_amd64 (universal user: xuser and isolate_home by default) # create with wine_x_tkg_10-0_amd64 (universal user: xuser and isolate_home by default)
# winetricks msxml3 msxml4 msxml6 andale arial comicsans courier georgia impact times trebuchet verdana webdings corefonts wsh57 vcrun6 gdiplus lucida tahoma ucrtbase2019 vcrun2019 dotnet40 dotnet48 dotnet20sp2 d3dcompiler_47 # winetricks msxml3 msxml4 msxml6 andale arial comicsans courier georgia impact times trebuchet verdana webdings corefonts wsh57 vcrun6 gdiplus lucida tahoma ucrtbase2019 vcrun2019 dotnet40 dotnet48 dotnet20sp2 d3dcompiler_47
68ad589a3e6d8a845c2e3bd4c2672cf97982b3fea0ca4b4f2fb6da126d8b3075 tflex_pfx_x64_v03.tar.xz f4cb2f380ad8887f334c6eb3c272b343ae8de327764945266e9e74f8acbac69f tflex17_pfx_x64_v01.tar.xz
# create with wine_x_tkg_10-0_amd64 (universal user: xuser)
# winetricks isolate_home msxml6 ipamona opensymbol wenquanyi ucrtbase2019 uff unifont droid wenquanyizenhei remove_mono internal dotnet40 dotnet48 dotnet20sp2 eufonts takao d3dcompiler_47 fontsmooth=rgb vcrun2022 vlgothic andale arial comicsans courier georgia impact times trebuchet verdana webdings corefonts liberation sourcehansans baekmuk tahoma lucida
be09f25bb795c5f912fad2d122c68c8aed937821255f161c2d75a4773d11a044 tflex17_pfx_x64_v02.tar.xz
# create with wine_wh_tflex_10-9_amd64 # create with wine_wh_tflex_10-9_amd64
# winetricks isolate_home msxml6 ipamona opensymbol wenquanyi ucrtbase2019 uff unifont droid wenquanyizenhei internal dotnet48 dotnet20 eufonts takao d3dcompiler_47 fontsmooth=rgb vcrun2019 vlgothic andale arial comicsans courier georgia impact times trebuchet verdana webdings corefonts liberation sourcehansans baekmuk tahoma lucida t-flex-cad-prepair # winetricks isolate_home msxml6 ipamona opensymbol wenquanyi ucrtbase2019 uff unifont droid wenquanyizenhei remove_mono internal dotnet40 dotnet48 dotnet20 eufonts takao d3dcompiler_47 fontsmooth=rgb vcrun2022 vlgothic andale arial comicsans courier georgia impact times trebuchet verdana webdings corefonts liberation sourcehansans baekmuk tahoma lucida
7edbd69b40b8ca3fb3594933c6cd37030180c494c08fd13cbd1a5b46565d65e6 ved_ctm_pfx_x86_v03.tar.xz 7edbd69b40b8ca3fb3594933c6cd37030180c494c08fd13cbd1a5b46565d65e6 ved_ctm_pfx_x86_v03.tar.xz
# create with wine_x_tkg_10-0_amd64 (universal user: xuser) # create with wine_x_tkg_10-0_amd64 (universal user: xuser)
@@ -208,11 +211,10 @@ dfb44ce5e5af7dba1686932c63d6b05e5dd6919a21c78130a7d1d0271b93958e audiorecstatio
# create with wine_x_tkg_10-0_i586 (universal user: xuser) # create with wine_x_tkg_10-0_i586 (universal user: xuser)
# winetricks arial dotnet7 dotnetdesktop7 renderer=gdi # winetricks arial dotnet7 dotnetdesktop7 renderer=gdi
8c6312f2e4e846a98ca4a87fc90ee1917eb28d4caaddde040fb4d2dd05f8c0fe scadaoffice_pfx_x64_v05.tar.xz 25e277c7afa4a9afc5f013cb05f872c12a7f381c4f0503a423dcacccca9a14c6 scadaoffice_pfx_x64_v03.tar.xz
# create with wine_x_tkg_10-0_amd64 (universal user: xuser) # create with wine_x_tkg_10-0_i586 (universal user: xuser)
# winetricks dotnet48 gdiplus vcrun6sp6 vcrun2005 vcrun2019 d3dx11_42 d3dx11_43 d3dx9 d3dcompiler_42 d3dcompiler_43 d3dcompiler_46 d3dcompiler_47 richtx32 riched30 riched20 msxml6 dotnet20 # winetricks dotnet48 gdiplus vcrun6sp6 vcrun2005 vcrun2019 d3dx11_42 d3dx11_43 d3dx9 d3dcompiler_42 d3dcompiler_43 d3dcompiler_46 d3dcompiler_47 richtx32 riched30 riched20 msxml6 dotnet20
# + addons with ODBC, SSH, *.reg
# addons with ODBC, SSH, *.reg
0f4ef434df07bc338ae308af44330590eaa1d9c94b64850514e55b960642d0eb scadoffice_addons_v02.tar.xz 0f4ef434df07bc338ae308af44330590eaa1d9c94b64850514e55b960642d0eb scadoffice_addons_v02.tar.xz
ef7e8f1ba785d48e4ea287feed5b79bd630d423e59efadb43da9653adefef218 ais-lpu-client_pfx_x86_v01.tar.xz ef7e8f1ba785d48e4ea287feed5b79bd630d423e59efadb43da9653adefef218 ais-lpu-client_pfx_x86_v01.tar.xz

View File

@@ -16,7 +16,7 @@ if [[ "$(realpath "$0")" == "/usr/bin/$SCRIPT_NAME" ]] ; then
USER_WORK_PATH="$HOME/.local/share/$SCRIPT_NAME" USER_WORK_PATH="$HOME/.local/share/$SCRIPT_NAME"
RUN_SCRIPT="/usr/bin/$SCRIPT_NAME" RUN_SCRIPT="/usr/bin/$SCRIPT_NAME"
DATA_PATH="/usr/share/$SCRIPT_NAME" DATA_PATH="/usr/share/$SCRIPT_NAME"
WH_ICON_PATH="/usr/share/icons/hicolor/scalable/apps/winehelper.svg" WH_ICON_PATH="$DATA_PATH/image/gui/winehelper.svg"
CHANGELOG_FILE="/usr/share/doc/winehelper-$WH_VERSION/CHANGELOG" CHANGELOG_FILE="/usr/share/doc/winehelper-$WH_VERSION/CHANGELOG"
LICENSE_FILE="/usr/share/doc/winehelper-$WH_VERSION/LICENSE" LICENSE_FILE="/usr/share/doc/winehelper-$WH_VERSION/LICENSE"
AGREEMENT="/usr/share/doc/winehelper-$WH_VERSION/LICENSE_AGREEMENT" AGREEMENT="/usr/share/doc/winehelper-$WH_VERSION/LICENSE_AGREEMENT"
@@ -102,9 +102,7 @@ else
fi fi
if [[ $WINEDEBUG != "-all" ]] ; then if [[ $WINEDEBUG != "-all" ]] ; then
log_dir="$HOME/winehelper_backup_log" export LOG_FILE="$HOME/winehelper.log"
mkdir -p "$log_dir"
export LOG_FILE="$log_dir/winehelper.log"
date > "$LOG_FILE" date > "$LOG_FILE"
print_warning "Включен режим логирования работы WINE." print_warning "Включен режим логирования работы WINE."
print_warning "Лог будет сохранен по пути: $LOG_FILE" print_warning "Лог будет сохранен по пути: $LOG_FILE"
@@ -128,12 +126,6 @@ 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"
# TODO: system menu directory
# /usr/share/desktop-directories/WineHelper.directory
# /etc/xdg/menus/applications-merged/WineHelper.menu
# user menu directory
WH_MENU_CATEGORY="$HOME/.local/share/desktop-directories/WineHelper.directory" WH_MENU_CATEGORY="$HOME/.local/share/desktop-directories/WineHelper.directory"
WH_MENU_CONFIG="$HOME/.config/menus/applications-merged/WineHelper.menu" WH_MENU_CONFIG="$HOME/.config/menus/applications-merged/WineHelper.menu"
@@ -163,7 +155,6 @@ check_variables WH_WINDOWS_VER "10"
# check_variables WH_USE_GSTREAMER "1" # check_variables WH_USE_GSTREAMER "1"
# check_variables WH_USE_D3D_EXTRAS "1" # check_variables WH_USE_D3D_EXTRAS "1"
check_variables WH_USE_SHADER_CACHE "1" check_variables WH_USE_SHADER_CACHE "1"
check_variables WH_USE_MESA_GL_OVERRIDE "0"
check_variables WH_USE_WINE_DXGI "0" check_variables WH_USE_WINE_DXGI "0"
check_variables WH_DLL_INSTALL "" check_variables WH_DLL_INSTALL ""
@@ -171,10 +162,12 @@ check_variables WINE_WIN_START "start /wait /high /unix"
check_variables WINE_CPU_TOPOLOGY "8" check_variables WINE_CPU_TOPOLOGY "8"
check_variables DXVK_VER "none" check_variables USE_RENDERER "opengl" # opengl, damavand, proton
check_variables DXVK_VER "1.10.3-28"
# check_variables DXVK_CONFIG_FILE "path/to/dxvk.conf" # check_variables DXVK_CONFIG_FILE "path/to/dxvk.conf"
check_variables VKD3D_VER "none" check_variables VKD3D_VER "1.1-2602"
# check_variables VKD3D_LIMIT_TESS_FACTORS 64 # check_variables VKD3D_LIMIT_TESS_FACTORS 64
# check_variables VKD3D_FEATURE_LEVEL "12_0" # check_variables VKD3D_FEATURE_LEVEL "12_0"
@@ -402,14 +395,10 @@ print_license_agreement () {
} }
try_download () { try_download () {
if [[ $1 != "cloud" ]] ; then if [[ $WH_USE_GUI == "1" ]] \
if [[ $WH_USE_GUI == "1" ]] \ && [[ $(ps -o command= -p "$PPID" | awk '{print $2}') =~ "$DATA_PATH/winehelper_gui.py" ]]
&& [[ $(ps -o command= -p "$PPID" | awk '{print $2}') =~ "$DATA_PATH/winehelper_gui.py" ]] then print_ok "Соглашения приняты из графического интерфейса."
then print_ok "Соглашения приняты из графического интерфейса." else print_license_agreement
else print_license_agreement
fi
else
shift
fi fi
local download_file_url output_file output_file_name local download_file_url output_file output_file_name
download_file_url="${1// /%20}" download_file_url="${1// /%20}"
@@ -628,7 +617,6 @@ create_desktop () {
echo "StartupNotify=true" echo "StartupNotify=true"
echo "Path=$DATA_PATH" echo "Path=$DATA_PATH"
echo "Icon=$icon_file" echo "Icon=$icon_file"
echo "StartupWMClass=$(basename "$exe_file")"
} > "$USER_WORK_PATH/$desktop_filename.desktop" } > "$USER_WORK_PATH/$desktop_filename.desktop"
chmod +x "$USER_WORK_PATH/$desktop_filename.desktop" chmod +x "$USER_WORK_PATH/$desktop_filename.desktop"
@@ -664,7 +652,7 @@ create_desktop () {
[Desktop Entry] [Desktop Entry]
Type=Directory Type=Directory
Name=WineHelper Name=WineHelper
Icon=winehelper Icon=wine
EOF EOF
fi fi
@@ -705,11 +693,9 @@ EOF
echo '#!/usr/bin/env bash' echo '#!/usr/bin/env bash'
echo "# cmd_name: $INSTALL_SCRIPT_NAME" echo "# cmd_name: $INSTALL_SCRIPT_NAME"
} > "$exe_file".whdb } > "$exe_file".whdb
grep -e "info_" -e "#####" -e "export" -e "var_" "$INSTALL_SCRIPT" \
grep -e "info_" -e "#####" -e "PROG_URL=" -e "WINEPREFIX=" -e "INSTALL_DLL=" \ | grep -vE "LAUNCH_PARAMETERS|AUTOINSTALL|WIN_FILE_EXEC|echo" \
-e "PROG_NAME=" -e "PROG_ICON=" -e "var_" "$INSTALL_SCRIPT" \
| awk '{$1=$1;print}' >> "$exe_file".whdb | awk '{$1=$1;print}' >> "$exe_file".whdb
print_info "Создан файл настроек для $exe_file" print_info "Создан файл настроек для $exe_file"
fi fi
} }
@@ -773,25 +759,31 @@ run_installed_programs () {
fi fi
} }
copy_wined3d () { init_wined3d () {
for wined3dfiles in $1 ; do if [[ "$USE_RENDERER" != "proton" ]] ; then
try_copy_wine_dll_to_pfx_64 "$wined3dfiles.dll" WINED3D_FILES="d3d8 d3d9 d3d10_1 d3d10 d3d10core d3d11 dxgi d3d12 d3d12core"
try_copy_wine_dll_to_pfx_32 "$wined3dfiles.dll" for wined3dfiles in $WINED3D_FILES ; do
done try_copy_wine_dll_to_pfx_64 "$wined3dfiles.dll"
try_copy_wine_dll_to_pfx_32 "$wined3dfiles.dll"
done
# if [[ "$USE_RENDERER" == "damavand" ]]
# then export WINE_D3D_CONFIG="renderer=vulkan"
# else export WINE_D3D_CONFIG="renderer=gl"
# fi
return 0
else
return 1
fi
} }
init_dxvk () { init_dxvk () {
DXVK_VER="$1" check_variables USE_DXVK_VER "$1"
if [[ $DXVK_VER == "none" ]] ; then
copy_wined3d "d3d8 d3d9 d3d10_1 d3d10 d3d10core d3d11 dxgi"
return 0
fi
get_dxvk() { get_dxvk() {
local DXVK_URL="$1" local DXVK_URL="$1"
local DXVK_VAR_VER="$2" local DXVK_VAR_VER="$2"
local DXVK_PACKAGE="${WH_VULKAN_LIBDIR}/${DXVK_VAR_VER}.tar.$(echo "${DXVK_URL#*.tar.}")" local DXVK_PACKAGE="${WH_VULKAN_LIBDIR}/${DXVK_VAR_VER}.tar.$(echo "${DXVK_URL#*.tar.}")"
if try_download cloud "$DXVK_URL" "$DXVK_PACKAGE" check256sum \ if try_download "$DXVK_URL" "$DXVK_PACKAGE" check256sum \
&& unpack "$DXVK_PACKAGE" "$WH_VULKAN_LIBDIR" && unpack "$DXVK_PACKAGE" "$WH_VULKAN_LIBDIR"
then then
try_remove_file "$DXVK_PACKAGE" try_remove_file "$DXVK_PACKAGE"
@@ -800,37 +792,36 @@ init_dxvk () {
return 1 return 1
} }
if [[ ! -d "${WH_VULKAN_LIBDIR}/${DXVK_VER}" ]] ; then for DXVK_VAR_VER in "$USE_DXVK_VER" $@ ; do
get_dxvk "$CLOUD_URL/${DXVK_VER}.tar.xz" "$DXVK_VER" if [[ ! -d "${WH_VULKAN_LIBDIR}/${DXVK_VAR_VER}" ]] ; then
fi get_dxvk "$CLOUD_URL/${DXVK_VAR_VER}.tar.xz" "$DXVK_VAR_VER"
fi
done
if [[ $WH_USE_WINE_DXGI == "1" ]] ; then if [[ "${WH_USE_WINE_DXGI}" == 1 ]] ; then
DXVK_FILES="d3d9 d3d10_1 d3d10 d3d11" # dxvk_config openvr_api_dxvk" DXVK_FILES="d3d9 d3d10_1 d3d10 d3d11" # dxvk_config openvr_api_dxvk"
copy_wined3d "dxgi" try_copy_wine_dll_to_pfx_64 "dxgi.dll"
try_copy_wine_dll_to_pfx_32 "dxgi.dll"
else else
DXVK_FILES="d3d9 d3d10_1 d3d10 d3d11 dxgi" # dxvk_config openvr_api_dxvk" DXVK_FILES="d3d9 d3d10_1 d3d10 d3d11 dxgi" # dxvk_config openvr_api_dxvk"
fi fi
for dxvkfiles in $DXVK_FILES ; do for dxvkfiles in $DXVK_FILES ; do
try_copy_other_dll_to_pfx_64 "${WH_VULKAN_LIBDIR}/${DXVK_VER}/x64/$dxvkfiles.dll" try_copy_other_dll_to_pfx_64 "${WH_VULKAN_LIBDIR}/${USE_DXVK_VER}/x64/$dxvkfiles.dll"
if try_copy_other_dll_to_pfx_32 "${WH_VULKAN_LIBDIR}/${DXVK_VER}/x32/$dxvkfiles.dll" if try_copy_other_dll_to_pfx_32 "${WH_VULKAN_LIBDIR}/${USE_DXVK_VER}/x32/$dxvkfiles.dll"
then var_winedlloverride_update "$dxvkfiles=n" then var_winedlloverride_update "$dxvkfiles=n"
fi fi
done done
} }
init_vkd3d () { init_vkd3d () {
VKD3D_VER="$1" check_variables USE_VKD3D_VER "$1"
if [[ $VKD3D_VER == "none" ]] ; then
copy_wined3d "d3d12 d3d12core"
return 0
fi
get_vkd3d() { get_vkd3d() {
local VKD3D_URL="$1" local VKD3D_URL="$1"
local VKD3D_VAR_VER="$2" local VKD3D_VAR_VER="$2"
local VKD3D_PACKAGE="${WH_VULKAN_LIBDIR}/${VKD3D_VAR_VER}.tar.$(echo "${VKD3D_URL#*.tar.}")" local VKD3D_PACKAGE="${WH_VULKAN_LIBDIR}/${VKD3D_VAR_VER}.tar.$(echo "${VKD3D_URL#*.tar.}")"
if try_download cloud "$VKD3D_URL" "$VKD3D_PACKAGE" check256sum \ if try_download "$VKD3D_URL" "$VKD3D_PACKAGE" check256sum \
&& unpack "$VKD3D_PACKAGE" "$WH_VULKAN_LIBDIR" && unpack "$VKD3D_PACKAGE" "$WH_VULKAN_LIBDIR"
then then
try_remove_file "$VKD3D_PACKAGE" try_remove_file "$VKD3D_PACKAGE"
@@ -839,14 +830,16 @@ init_vkd3d () {
return 1 return 1
} }
if [[ ! -d "${WH_VULKAN_LIBDIR}/${VKD3D_VER}" ]] ; then for VKD3D_VAR_VER in "$USE_VKD3D_VER" $@ ; do
get_vkd3d "$CLOUD_URL/${VKD3D_VER}.tar.xz" "$VKD3D_VER" if [[ ! -d "${WH_VULKAN_LIBDIR}/${VKD3D_VAR_VER}" ]] ; then
fi get_vkd3d "$CLOUD_URL/${VKD3D_VAR_VER}.tar.xz" "$VKD3D_VAR_VER"
fi
done
VKD3D_FILES="d3d12 d3d12core libvkd3d-shader-1 libvkd3d-1" # libvkd3d-proton-utils-3 VKD3D_FILES="d3d12 d3d12core libvkd3d-shader-1 libvkd3d-1" # libvkd3d-proton-utils-3
for vkd3dfiles in $VKD3D_FILES ; do for vkd3dfiles in $VKD3D_FILES ; do
try_copy_other_dll_to_pfx_64 "${WH_VULKAN_LIBDIR}/${VKD3D_VER}/x64/$vkd3dfiles.dll" try_copy_other_dll_to_pfx_64 "${WH_VULKAN_LIBDIR}/${USE_VKD3D_VER}/x64/$vkd3dfiles.dll"
if try_copy_other_dll_to_pfx_32 "${WH_VULKAN_LIBDIR}/${VKD3D_VER}/x86/$vkd3dfiles.dll" if try_copy_other_dll_to_pfx_32 "${WH_VULKAN_LIBDIR}/${USE_VKD3D_VER}/x86/$vkd3dfiles.dll"
then var_winedlloverride_update "$vkd3dfiles=n" then var_winedlloverride_update "$vkd3dfiles=n"
fi fi
done done
@@ -861,7 +854,7 @@ init_wine_ver () {
download_url="$CLOUD_URL/$WH_WINE_USE.tar.xz" download_url="$CLOUD_URL/$WH_WINE_USE.tar.xz"
wine_package="$WH_TMP_DIR/$WH_WINE_USE.tar.xz" wine_package="$WH_TMP_DIR/$WH_WINE_USE.tar.xz"
try_download cloud "$download_url" "$wine_package" "check256sum" try_download "$download_url" "$wine_package" "check256sum"
unpack "$wine_package" "$WH_DIST_DIR/" unpack "$wine_package" "$WH_DIST_DIR/"
try_remove_file "$wine_package" try_remove_file "$wine_package"
@@ -914,7 +907,7 @@ 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 cloud "$CPCSP_PROXY_URL" "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz" check256sum try_download "$CPCSP_PROXY_URL" "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz" check256sum
unpack "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz" "$WH_TMP_DIR" unpack "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz" "$WH_TMP_DIR"
cp -fr "$WH_TMP_DIR/$CPCSP_PROXY_NAME/"i386-* "$WINEDIR/lib/wine/" cp -fr "$WH_TMP_DIR/$CPCSP_PROXY_NAME/"i386-* "$WINEDIR/lib/wine/"
@@ -1117,11 +1110,6 @@ init_wineprefix () {
export DRIVE_C="$WINEPREFIX/drive_c" export DRIVE_C="$WINEPREFIX/drive_c"
export XUSER_PATH="$DRIVE_C/users/xuser" export XUSER_PATH="$DRIVE_C/users/xuser"
if [[ -d "$XUSER_PATH" ]] \
&& [[ ! -d "$DRIVE_C/users/$USER" ]]
then try_force_link_dir "$XUSER_PATH" "$DRIVE_C/users/$USER"
fi
if [[ ! -f "$WINEPREFIX/.firstboot" ]] ; then if [[ ! -f "$WINEPREFIX/.firstboot" ]] ; then
create_new_dir "$WINEPREFIX" create_new_dir "$WINEPREFIX"
if [[ "$CLEAR_PREFIX" == "1" ]] if [[ "$CLEAR_PREFIX" == "1" ]]
@@ -1190,7 +1178,6 @@ init_wineprefix () {
# добавление ассоциаций файлов для запуска нативного приложения из wine # добавление ассоциаций файлов для запуска нативного приложения из wine
# пример переменной: WH_XDG_OPEN="txt doc pdf" # пример переменной: WH_XDG_OPEN="txt doc pdf"
check_variables WH_XDG_OPEN "0" check_variables WH_XDG_OPEN "0"
local WRAPPER="${WH_TMP_DIR}/wh-xdg-open.sh" local WRAPPER="${WH_TMP_DIR}/wh-xdg-open.sh"
local XDG_OPEN_REG="Software\Classes\xdg-open\shell\open\command" local XDG_OPEN_REG="Software\Classes\xdg-open\shell\open\command"
if [[ $WH_XDG_OPEN != "0" ]] ; then if [[ $WH_XDG_OPEN != "0" ]] ; then
@@ -1213,19 +1200,13 @@ init_wineprefix () {
# добавляем новую команду xdg-open в реестр # добавляем новую команду xdg-open в реестр
get_and_set_reg_file --add "$XDG_OPEN_REG" '@=' 'REG_SZ' "$WRAPPER %1" "system" get_and_set_reg_file --add "$XDG_OPEN_REG" '@=' 'REG_SZ' "$WRAPPER %1" "system"
# удаляем старые ассоциации, которых нет в новом списке
sed -i '/@="xdg-open"/d' "$WINEPREFIX/system.reg"
# добавляем ассоциации файлов для запуска с помощью xdg-open # добавляем ассоциации файлов для запуска с помощью xdg-open
for ext in $WH_XDG_OPEN ; do for ext in $WH_XDG_OPEN ; do
get_and_set_reg_file --add "Software\Classes\.$ext" '@=' 'REG_SZ' "xdg-open" "system" get_and_set_reg_file --add "Software\Classes\.$ext" '@=' 'REG_SZ' "xdg-open" "system"
done done
print_info "Используются ассоциации с нативными приложениями для файлов: \"$WH_XDG_OPEN\"" print_info "Используются ассоциации с нативными приложениями для файлов: \"$WH_XDG_OPEN\""
else else
# удаление всех ассоциаций # удаление команды xdg-open из реестра
for old_ext in $old_xdg_open; do
get_and_set_reg_file --delete "Software\Classes\.$old_ext" '@='
done
get_and_set_reg_file --delete "$XDG_OPEN_REG" '@=' get_and_set_reg_file --delete "$XDG_OPEN_REG" '@='
# удаяем скрипт-обёртку # удаяем скрипт-обёртку
try_remove_file "$WRAPPER" try_remove_file "$WRAPPER"
@@ -1287,7 +1268,7 @@ init_wineprefix () {
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 \
WINE_CPU_TOPOLOGY DXVK_VER VKD3D_VER WH_XDG_OPEN WH_USE_MESA_GL_OVERRIDE WINE_CPU_TOPOLOGY USE_RENDERER DXVK_VER VKD3D_VER WH_XDG_OPEN WH_USE_MESA_GL_OVERRIDE
do do
echo "export $var=\"${!var}\"" >> "$WINEPREFIX/last.conf" echo "export $var=\"${!var}\"" >> "$WINEPREFIX/last.conf"
done done
@@ -1337,8 +1318,7 @@ use_winetricks () {
} }
kill_wine () { kill_wine () {
wine_pids=$(ls -l /proc/*/exe 2>/dev/null | grep -E 'wine(64)?-preloader|wineserver' \ wine_pids=$(ls -l /proc/*/exe 2>/dev/null | grep -E 'wine(64)?-preloader|wineserver' | awk -F/ '{print $3}')
| grep "$USER_WORK_PATH" | awk -F/ '{print $3}')
for pw_kill_pids in ${wine_pids}; do for pw_kill_pids in ${wine_pids}; do
if ps cax | grep "${pw_kill_pids}" ; then if ps cax | grep "${pw_kill_pids}" ; then
@@ -1365,27 +1345,32 @@ init_database () {
if [[ "$WHDB_FILE" != "0" ]] ; then if [[ "$WHDB_FILE" != "0" ]] ; then
print_info "Используется файл настроек: $WHDB_FILE" print_info "Используется файл настроек: $WHDB_FILE"
. "$WHDB_FILE" . "$WHDB_FILE"
fi elif check_prefix_var && [[ -f "$WINEPREFIX/last.conf" ]] ; then
if check_prefix_var && [[ -f "$WINEPREFIX/last.conf" ]] ; then
print_info "Найдены настройки из предыдущего использования префикса: $WINEPREFIX" print_info "Найдены настройки из предыдущего использования префикса: $WINEPREFIX"
cat "$WINEPREFIX/last.conf" cat "$WINEPREFIX/last.conf"
. "$WINEPREFIX/last.conf" . "$WINEPREFIX/last.conf"
else
print_warning "Файл настроек не найден. Пропускаем."
fi fi
} }
prepair_wine () { prepair_wine () {
var_winedlloverride_update "winemenubuilder.exe=d"
if [[ -n "$INSTALL_SCRIPT_NAME" ]] if [[ -n "$INSTALL_SCRIPT_NAME" ]]
then print_info "Используются настройки из скрипта установки: $INSTALL_SCRIPT_NAME" then print_info "Используются настройки из скрипта установки: $INSTALL_SCRIPT_NAME"
else init_database else init_database
fi fi
init_wine_ver init_wine_ver
init_wineprefix init_wineprefix
use_winetricks use_winetricks
init_dxvk "$DXVK_VER"
init_vkd3d "$VKD3D_VER"
if init_wined3d ; then
:
else
init_dxvk "$DXVK_VER"
init_vkd3d "$VKD3D_VER"
fi
[[ "$MANGOHUD" == 1 ]] && MANGOHUD_RUN="mangohud" [[ "$MANGOHUD" == 1 ]] && MANGOHUD_RUN="mangohud"
} }
@@ -1481,11 +1466,6 @@ run_autoinstall () {
echo echo
list_install_scripts "$WH_MANUALINSTALL_DIR" "Список программ с возможностью установки из существующего дистрибутива:" list_install_scripts "$WH_MANUALINSTALL_DIR" "Список программ с возможностью установки из существующего дистрибутива:"
elif [[ "$INSTALL_SCRIPT" != "0" ]] ; then elif [[ "$INSTALL_SCRIPT" != "0" ]] ; then
if [[ $WH_USE_GUI == "1" ]] \
&& [[ $(ps -o command= -p "$PPID" | awk '{print $2}') =~ "$DATA_PATH/winehelper_gui.py" ]]
then print_ok "Соглашения приняты из графического интерфейса."
else print_license_agreement
fi
source "$INSTALL_SCRIPT" "$@" source "$INSTALL_SCRIPT" "$@"
print_info "Завершена установка $INSTALL_SCRIPT_NAME" print_info "Завершена установка $INSTALL_SCRIPT_NAME"
else else
@@ -1776,7 +1756,6 @@ remove_winehelper () {
echo " - Все настройки WineHelper" echo " - Все настройки WineHelper"
echo " - Все приложения/программы, установленные через WineHelper" echo " - Все приложения/программы, установленные через WineHelper"
echo " - Все ярлыки из меню и с рабочего стола, созданные с помощью WineHelper" echo " - Все ярлыки из меню и с рабочего стола, созданные с помощью WineHelper"
echo " - Все резервные копии и логи, созданные WineHelper"
echo "======================================================" echo "======================================================"
if print_confirmation "Продолжить?" ; then if print_confirmation "Продолжить?" ; then
echo "----------------------------------------------" echo "----------------------------------------------"
@@ -1792,7 +1771,6 @@ remove_winehelper () {
# Удаление рабочих каталогов # Удаление рабочих каталогов
try_remove_dir "$USER_WORK_PATH" try_remove_dir "$USER_WORK_PATH"
try_remove_dir "$HOME/winehelper_backup_log"
# Удаление файлов меню # Удаление файлов меню
try_remove_dir "$WH_MENU_DIR" try_remove_dir "$WH_MENU_DIR"
@@ -1836,9 +1814,9 @@ create_base_pfx () {
&& [[ ! -L "$users_dir/$USER" ]] && [[ ! -L "$users_dir/$USER" ]]
then then
if [[ -L "$users_dir/xuser" ]] if [[ -L "$users_dir/xuser" ]]
then try_remove_dir "$users_dir/xuser" then try_remove_dir "$users_dir/xuser/"
fi fi
create_new_dir "$users_dir/xuser" create_new_dir "$users_dir/xuser/"
cp -fr "$users_dir/$USER"/* "$users_dir/xuser/" cp -fr "$users_dir/$USER"/* "$users_dir/xuser/"
fi fi
@@ -1871,8 +1849,7 @@ backup_prefix() {
check_prefix_var check_prefix_var
local backup_base_dir backup_archive_name backup_dest_path temp_backup_dir temp_prefix_dir temp_users_dir local backup_base_dir backup_archive_name backup_dest_path temp_backup_dir temp_prefix_dir temp_users_dir
backup_base_dir="$HOME/winehelper_backup_log" backup_base_dir="$(xdg-user-dir DESKTOP)"
create_new_dir "$backup_base_dir"
backup_archive_name="backup_${PREFIX_NAME}_$(date +%d.%m.%Y-%H.%M.%S).whpack" backup_archive_name="backup_${PREFIX_NAME}_$(date +%d.%m.%Y-%H.%M.%S).whpack"
backup_dest_path="$backup_base_dir/$backup_archive_name" backup_dest_path="$backup_base_dir/$backup_archive_name"
temp_backup_dir="$WH_TMP_DIR/backup_${PREFIX_NAME}_$(date +%d.%m.%Y-%H.%M.%S)" temp_backup_dir="$WH_TMP_DIR/backup_${PREFIX_NAME}_$(date +%d.%m.%Y-%H.%M.%S)"
@@ -2150,19 +2127,6 @@ select_component_version() {
done done
} }
run_install_to_prefix() {
export WINEPREFIX="$1"
local WIN_FILE_EXEC="$2"
if [[ -z "$WINEPREFIX" ]] || [[ -z "$WIN_FILE_EXEC" ]]; then
fatal "Использование: $SCRIPT_NAME install-to-prefix <имя_префикса> <путь_к_установщику>"
fi
check_prefix_var
prepair_wine
wine_run_install "$WIN_FILE_EXEC"
}
run_install_dxvk() { run_install_dxvk() {
local version="$1" local version="$1"
if [[ -z "$version" ]] ; then if [[ -z "$version" ]] ; then
@@ -2174,14 +2138,16 @@ run_install_dxvk() {
fi fi
check_prefix_var check_prefix_var
init_database init_database
export DXVK_VER="$version"
init_wine_ver init_wine_ver
init_wineprefix init_wineprefix
if [[ "$DXVK_VER" == "none" ]] if [[ "$version" == "none" ]] ; then
then print_info "Удаление DXVK..." print_info "Удаление DXVK..."
else print_info "Установка DXVK: $DXVK_VER" init_wined3d
update_last_conf_var "DXVK_VER" ""
else
init_dxvk "$version"
update_last_conf_var "DXVK_VER" "$USE_DXVK_VER"
fi fi
init_dxvk "$DXVK_VER"
wait_wineserver wait_wineserver
} }
@@ -2196,14 +2162,16 @@ run_install_vkd3d() {
fi fi
check_prefix_var check_prefix_var
init_database init_database
export VKD3D_VER="$version"
init_wine_ver init_wine_ver
init_wineprefix init_wineprefix
if [[ "$VKD3D_VER" == "none" ]] if [[ "$version" == "none" ]] ; then
then print_info "Удаление VKD3D..." print_info "Удаление VKD3D..."
else print_info "Установка VKD3D: $VKD3D_VER" init_wined3d
update_last_conf_var "VKD3D_VER" ""
else
init_vkd3d "$version"
update_last_conf_var "VKD3D_VER" "$USE_VKD3D_VER"
fi fi
init_vkd3d "$VKD3D_VER"
wait_wineserver wait_wineserver
} }
@@ -2275,10 +2243,6 @@ else
arg1="--help" arg1="--help"
fi fi
# отключаем создание .desktop файлов средствами wine
# и отключаем winebth, так как может сломать winedevice.exe
var_winedlloverride_update "winemenubuilder.exe,winebth.sys=d"
case "$arg1" in case "$arg1" in
--version|version) rpm -qi "$SCRIPT_NAME" ; exit 0 ;; --version|version) rpm -qi "$SCRIPT_NAME" ; exit 0 ;;
--help|help) wh_info ; exit 0 ;; --help|help) wh_info ; exit 0 ;;
@@ -2291,7 +2255,6 @@ case "$arg1" in
winetricks) prepair_wine ; "$WH_WINETRICKS" -q "$@" ;; winetricks) prepair_wine ; "$WH_WINETRICKS" -q "$@" ;;
desktop) create_desktop "$@" ; exit 0 ;; desktop) create_desktop "$@" ; exit 0 ;;
install|-i) run_autoinstall "$@" ;; install|-i) run_autoinstall "$@" ;;
install-to-prefix) run_install_to_prefix "$@" ;;
install-dxvk) run_install_dxvk "$@" ;; install-dxvk) run_install_dxvk "$@" ;;
install-vkd3d) run_install_vkd3d "$@" ;; install-vkd3d) run_install_vkd3d "$@" ;;
change-wine) run_change_wine_version "$@" ;; change-wine) run_change_wine_version "$@" ;;

View File

@@ -1,4 +1,3 @@
#!/usr/bin/env xdg-open
[Desktop Entry] [Desktop Entry]
Name=WineHelper Name=WineHelper
Exec=winehelper gui %F Exec=winehelper gui %F
@@ -8,4 +7,3 @@ Type=Application
Categories=WineHelper;Utility;Emulator; Categories=WineHelper;Utility;Emulator;
StartupNotify=true StartupNotify=true
Icon=winehelper Icon=winehelper
StartupWMClass=winehelper

File diff suppressed because it is too large Load Diff