Compare commits
55 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
ac4dd4f0bf | ||
|
c15d751372 | ||
|
78113b92a5 | ||
|
9e8e41e812 | ||
|
5f4d3a54b1 | ||
|
9d16883e6e | ||
|
e3cafee4f5 | ||
|
e2b2c9568c | ||
|
7113d864be | ||
|
9a1a88d01b | ||
|
ad775e4644 | ||
|
36f5c306c5 | ||
|
173a7ae41f | ||
|
32e56879f7 | ||
|
b88ea9f478 | ||
|
dd82cee5ea | ||
|
a35efc347d | ||
|
95a8d370ab | ||
|
dd2901c85e | ||
|
9f28363ac2 | ||
|
756c9e6d9e | ||
|
663cd10a5f | ||
|
86beb9eaee | ||
|
4610f6a6da | ||
|
4563d5641f | ||
17a8f3c63d | |||
|
08ef246712 | ||
|
07e220794d | ||
|
15432ace98 | ||
|
e04a59507b | ||
|
d5f337e6b4 | ||
|
904c9c9895 | ||
|
1d4ee1fd70 | ||
|
02a2256c8c | ||
|
cbcdba204e | ||
|
66c56f6ecf | ||
|
221b59eda7 | ||
|
adf5f78360 | ||
|
01f19cd94d | ||
|
117e497f94 | ||
|
3527846c6c | ||
|
553d427d66 | ||
|
0f8f192634 | ||
|
7f64378670 | ||
|
165c4ee110 | ||
|
843b90c1c2 | ||
|
e3ac6dd967 | ||
|
5763749aa0 | ||
|
b1f192b2ff | ||
|
42aa29d208 | ||
|
3ad737e27d | ||
|
97996fb67b | ||
|
9f994a8cc3 | ||
|
463306d0cf | ||
|
940cface08 |
17
CHANGELOG
@@ -1,5 +1,22 @@
|
||||
История изменений:
|
||||
|
||||
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:
|
||||
* обновлен графический режим Qt5:
|
||||
- добавлена возможность установки системных зависимостей
|
||||
|
371
README.md
Normal file
@@ -0,0 +1,371 @@
|
||||
<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)
|
@@ -1,12 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: SCAD Office — это программный комплекс для расчёта строительных конструкций, с дополнением Apache OpenOffice. Apache OpenOffice - пакет офисного программного обеспечения для обработки текстов, электронных таблиц, презентаций, графики, баз данных и многого другого.
|
||||
# info_ru: SCAD Office — это программный комплекс для расчёта строительных конструкций.
|
||||
########################################################################
|
||||
export PROG_URL="https://scadoffice.ru"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WINEPREFIX="scadoffice"
|
||||
export PROG_NAME="SCAD Office"
|
||||
export PROG_ICON="scadoffice"
|
||||
export BASE_PFX="scadaoffice_pfx_x64_v04"
|
||||
export BASE_PFX="scadaoffice_pfx_x64_v05"
|
||||
export WH_WINDOWS_VER="10"
|
||||
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"
|
||||
@@ -32,7 +32,6 @@ if [[ -n $2 ]] ; then
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ $BASE_PFX == "none" ]] ; then
|
||||
print_info "Установка дополнительных компонентов..."
|
||||
|
||||
ADDONS_PACK="${WH_TMP_DIR}/$(basename "$SCADOFFICE_ADDONS_URL")"
|
||||
@@ -59,7 +58,6 @@ if [[ $BASE_PFX == "none" ]] ; then
|
||||
try_remove_dir "$ADDONS_PATH"
|
||||
try_remove_file "$ADDONS_PACK"
|
||||
fi
|
||||
fi
|
||||
|
||||
if try_download "https://scadhelp.ru/files/10/download" "${AUTOINSTALL_EXE}" ; then
|
||||
create_new_dir "$DRIVE_C/SDATA"
|
||||
|
@@ -5,7 +5,7 @@ export PROG_URL="https://www.tflexcad.ru"
|
||||
export PROG_NAME="T-FLEX CAD Учебная Версия 17"
|
||||
export PROG_ICON="tflexcad"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export BASE_PFX="tflex_pfx_x64_v03"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex"
|
||||
@@ -14,7 +14,7 @@ export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
|
||||
# используем общий whdb файл для подготовки префикса и сервисов
|
||||
# prepair_wine используется из файла настроек
|
||||
source "$WH_DB_DIR/t-flex-cad17.whdb"
|
||||
source "$WH_DB_DIR/t-flex-cad.whdb"
|
||||
|
||||
# Программа T-FLEX CAD Учебная Версия
|
||||
export AUTOINSTALL_ZIP="${WH_TMP_DIR}/TFCAD_ST_17x64_PACK.zip"
|
||||
|
@@ -5,7 +5,7 @@ export PROG_URL="https://www.tflexcad.ru"
|
||||
export PROG_NAME="T-FLEX CAD 17"
|
||||
export PROG_ICON="tflexcad"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export BASE_PFX="tflex_pfx_x64_v03"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex"
|
||||
@@ -14,7 +14,7 @@ export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
|
||||
# используем общий whdb файл для подготовки префикса и сервисов
|
||||
# prepair_wine используется из файла настроек
|
||||
source "$WH_DB_DIR/t-flex-cad17.whdb"
|
||||
source "$WH_DB_DIR/t-flex-cad.whdb"
|
||||
|
||||
# Программа T-FLEX CAD
|
||||
export AUTOINSTALL_ZIP="${WH_TMP_DIR}/T-FLEX CAD 17.zip"
|
||||
|
@@ -6,7 +6,7 @@ export PROG_NAME="Приложения для T-FLEX CAD 17"
|
||||
export PROG_ICON="tflexcad"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export BASE_PFX="tflex_pfx_x64_v03"
|
||||
export WINEARCH="win64"
|
||||
export WINEPREFIX="tflex"
|
||||
export WH_XDG_OPEN="log"
|
||||
|
@@ -6,7 +6,7 @@ export PROG_NAME="Ресурсы для T-FLEX CAD 17"
|
||||
export PROG_ICON="tflexcad"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export BASE_PFX="tflex_pfx_x64_v03"
|
||||
export WINEARCH="win64"
|
||||
export WINEPREFIX="tflex"
|
||||
export WH_XDG_OPEN="log"
|
||||
|
@@ -5,7 +5,7 @@ export PROG_URL="https://www.tflexcad.ru"
|
||||
export PROG_NAME="T-FLEX CAD 2D+ 17"
|
||||
export PROG_ICON="tflexcad"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export BASE_PFX="tflex_pfx_x64_v03"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex"
|
||||
@@ -14,7 +14,7 @@ export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
|
||||
# используем общий whdb файл для подготовки префикса и сервисов
|
||||
# prepair_wine используется из файла настроек
|
||||
source "$WH_DB_DIR/t-flex-cad17.whdb"
|
||||
source "$WH_DB_DIR/t-flex-cad.whdb"
|
||||
|
||||
# Программа T-FLEX CAD 2D+ 17
|
||||
export AUTOINSTALL_ZIP="${WH_TMP_DIR}/T-FLEX CAD 2D+ 17.zip"
|
||||
|
@@ -5,7 +5,7 @@ export PROG_URL="https://www.tflexcad.ru"
|
||||
export PROG_NAME="T-FLEX DOCs 17"
|
||||
export PROG_ICON="tflexdoc"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export BASE_PFX="tflex_pfx_x64_v03"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex"
|
||||
@@ -14,7 +14,7 @@ export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
|
||||
# используем общий whdb файл для подготовки префикса и сервисов
|
||||
# prepair_wine используется из файла настроек
|
||||
source "$WH_DB_DIR/t-flex-cad17.whdb"
|
||||
source "$WH_DB_DIR/t-flex-cad.whdb"
|
||||
|
||||
# Программа T-FLEX DOC
|
||||
AUTOINSTALL_ZIP="${WH_TMP_DIR}/T-FLEX DOCs 17 Client.zip"
|
||||
|
@@ -5,7 +5,7 @@ export PROG_URL="https://www.tflexcad.ru"
|
||||
export PROG_NAME="T-FLEX Viewer 17"
|
||||
export PROG_ICON="tflexcad"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export BASE_PFX="tflex_pfx_x64_v03"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex"
|
||||
@@ -14,7 +14,7 @@ export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
|
||||
# используем общий whdb файл для подготовки префикса и сервисов
|
||||
# prepair_wine используется из файла настроек
|
||||
source "$WH_DB_DIR/t-flex-cad17.whdb"
|
||||
source "$WH_DB_DIR/t-flex-cad.whdb"
|
||||
|
||||
# Программа T-FLEX Viewer
|
||||
export AUTOINSTALL_ZIP="${WH_TMP_DIR}/T-FLEX Viewer 17.zip"
|
||||
|
@@ -1,28 +1,24 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Компоненты сервисов поддержки T-FLEX 17
|
||||
# info_ru: Компоненты сервисов поддержки T-FLEX 17 и 18
|
||||
########################################################################
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export BASE_PFX="tflex_pfx_x64_v03"
|
||||
export WINEARCH="win64"
|
||||
export WINEPREFIX="tflex"
|
||||
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"
|
||||
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 WH_USE_MESA_GL_OVERRIDE="1"
|
||||
|
||||
# Компоненты поддержки T-FLEX PLM (Linux)
|
||||
GRDCONTROL_VER="4.3.0-0"
|
||||
AUTOINSTALL_ZIP_LIN="$WH_TMP_DIR/Prerequisites_T-FLEX_Linux.zip"
|
||||
AUTOINSTALL_DIR_LIN="$WH_TMP_DIR/Prerequisites_T-FLEX_Linux"
|
||||
AUTOINSTALL_REG_LIN="$AUTOINSTALL_DIR_LIN/Components/fake_hasp.reg"
|
||||
|
||||
# Компоненты поддержки T-FLEX PLM (Windows)
|
||||
AUTOINSTALL_ZIP_WIN="$WH_TMP_DIR/T-FLEX 17 Prerequisites.zip"
|
||||
AUTOINSTALL_DIR_WIN="$WH_TMP_DIR/Компоненты поддержки T-FLEX 17"
|
||||
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"
|
||||
AUTOINSTALL_EXE_ADE2007="$AUTOINSTALL_DIR_LIN/Components/AccessDatabaseEngine.exe"
|
||||
AUTOINSTALL_EXE_TSC2="$AUTOINSTALL_DIR_LIN/Components/Setup_TSC2.msi"
|
||||
AUTOINSTALL_EXE_VC_X86="$AUTOINSTALL_DIR_LIN/Components/vc_redist.x86.exe"
|
||||
AUTOINSTALL_EXE_VC_X64="$AUTOINSTALL_DIR_LIN/Components/vc_redist.x64.exe"
|
||||
|
||||
prepair_wine
|
||||
|
||||
@@ -42,11 +38,8 @@ else
|
||||
|| ! systemctl list-units --type service --state running | grep hasplmd \
|
||||
|| ! rpm -q grdcontrol | grep -q "$GRDCONTROL_VER"
|
||||
then
|
||||
# Компоненты поддержки T-FLEX PLM (Linux)
|
||||
if try_download "https://www.tflex.ru/downloads/Prerequisites_T-FLEX_Linux.zip" "${AUTOINSTALL_ZIP_LIN}" ; then
|
||||
try_download "https://www.tflex.ru/downloads/Prerequisites_T-FLEX_Linux.zip" "${AUTOINSTALL_ZIP_LIN}"
|
||||
unpack "$AUTOINSTALL_ZIP_LIN" "$AUTOINSTALL_DIR_LIN"
|
||||
"$WINELOADER" regedit "$AUTOINSTALL_REG_LIN"
|
||||
fi
|
||||
|
||||
if rpm -q grdcontrol | grep -q "$GRDCONTROL_VER"
|
||||
then print_info "grdcontrol-$GRDCONTROL_VER уже установлен в системе."
|
||||
@@ -55,14 +48,14 @@ else
|
||||
|
||||
if [[ "$BASE_PFX" == "none" ]] ; then
|
||||
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"
|
||||
|
||||
wine_run_install "$AUTOINSTALL_EXE_WIN_MSI/AceRedist.msi" /q
|
||||
wine_run_install "$AUTOINSTALL_EXE_WIN2" /q
|
||||
fi
|
||||
unpack "$AUTOINSTALL_EXE_ADE2007" "$AUTOINSTALL_DIR_LIN/ADE2007"
|
||||
wine_run_install "$AUTOINSTALL_DIR_LIN/ADE2007/AceRedist.msi" /q
|
||||
|
||||
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 (x86)/Common Files/System"
|
||||
|
||||
@@ -74,9 +67,9 @@ else
|
||||
mv -f "$AUTOINSTALL_DIR_LIN/Components/Windows/System32/"*.dll \
|
||||
"$DRIVE_C/windows/system32"
|
||||
|
||||
"$WINELOADER" regedit "$AUTOINSTALL_DIR_LIN/Components/fake_hasp.reg"
|
||||
"$WINELOADER" regedit "$AUTOINSTALL_DIR_LIN/Components/ado-32.reg"
|
||||
"$WINELOADER"64 regedit "$AUTOINSTALL_DIR_LIN/Components/ado-64.reg"
|
||||
"$WINELOADER" regedit "$AUTOINSTALL_DIR_LIN/Components/tflex.reg"
|
||||
"$WINELOADER" regedit "$AUTOINSTALL_DIR_LIN/Components/ado-64.reg"
|
||||
fi
|
||||
|
||||
if systemctl list-units --type service --state running | grep aksusbd \
|
||||
@@ -98,14 +91,12 @@ else
|
||||
fi
|
||||
|
||||
try_remove_dir "$AUTOINSTALL_DIR_LIN"
|
||||
try_remove_dir "$AUTOINSTALL_DIR_WIN"
|
||||
|
||||
if [[ $TFLEX_ERROR == "1" ]] ; then
|
||||
fatal "Произошла ошибка во время подготовки префикса, или установки компонентов ПО."
|
||||
else
|
||||
echo "t-flex-cad-prepair" >> "$WINEPREFIX/winetricks.log"
|
||||
try_remove_file "$AUTOINSTALL_ZIP_LIN"
|
||||
try_remove_file "$AUTOINSTALL_ZIP_WIN"
|
||||
# try_remove_file "$AUTOINSTALL_ZIP_LIN"
|
||||
print_info "Подготовка префикса и установка компонентов завершены."
|
||||
fi
|
||||
fi
|
BIN
image/handbook/auto_install.png
Normal file
After Width: | Height: | Size: 184 KiB |
BIN
image/handbook/create_prefix.png
Normal file
After Width: | Height: | Size: 153 KiB |
BIN
image/handbook/election_installed.png
Normal file
After Width: | Height: | Size: 110 KiB |
BIN
image/handbook/folder_log_backup.png
Normal file
After Width: | Height: | Size: 111 KiB |
BIN
image/handbook/help.png
Normal file
After Width: | Height: | Size: 91 KiB |
BIN
image/handbook/info.png
Normal file
After Width: | Height: | Size: 227 KiB |
BIN
image/handbook/installed.png
Normal file
After Width: | Height: | Size: 133 KiB |
BIN
image/handbook/license_agreement.png
Normal file
After Width: | Height: | Size: 236 KiB |
BIN
image/handbook/log.png
Normal file
After Width: | Height: | Size: 336 KiB |
BIN
image/handbook/manual_install.png
Normal file
After Width: | Height: | Size: 110 KiB |
BIN
image/handbook/manual_install_1.png
Normal file
After Width: | Height: | Size: 144 KiB |
BIN
image/handbook/prefix_manager.png
Normal file
After Width: | Height: | Size: 160 KiB |
BIN
image/handbook/search.png
Normal file
After Width: | Height: | Size: 93 KiB |
@@ -5,7 +5,6 @@ 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 PROG_ICON="nettest"
|
||||
export BASE_PFX="none"
|
||||
export WINEARCH="win64"
|
||||
export INSTALL_DLL=""
|
||||
@@ -18,7 +17,13 @@ if [[ -f "$ZIP_FILE" ]] \
|
||||
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/"
|
||||
|
||||
|
@@ -1,10 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Ручная установка дополнений для T-FLEX CAD 17
|
||||
# info_ru: Ручная установка дополнений для T-FLEX CAD 17 или 18
|
||||
########################################################################
|
||||
export PROG_NAME="T-FLEX CAD 17"
|
||||
export PROG_NAME="T-FLEX CAD 17/18"
|
||||
export PROG_ICON="tflexcad"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v02"
|
||||
export BASE_PFX="tflex_pfx_x64_v03"
|
||||
export WINEARCH="win64"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEPREFIX="tflex"
|
||||
@@ -14,7 +14,7 @@ export WH_USE_MESA_GL_OVERRIDE="1"
|
||||
if [[ -f "$2" ]] ; then
|
||||
# используем общий whdb файл для подготовки префикса и сервисов
|
||||
# prepair_wine используется из файла настроек
|
||||
source "$WH_DB_DIR/t-flex-cad17.whdb"
|
||||
source "$WH_DB_DIR/t-flex-cad.whdb"
|
||||
|
||||
wine_run_install "$2"
|
||||
else
|
23
manualinstall/t-flex-docs-manual
Normal file
@@ -0,0 +1,23 @@
|
||||
#!/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
|
@@ -171,13 +171,9 @@ d62225f6a23e49355a59a2bd9a495390694bd70d4be6d6527cfb7fb2e2d65f0d defpfx_x64_v01
|
||||
# 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
|
||||
|
||||
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
|
||||
68ad589a3e6d8a845c2e3bd4c2672cf97982b3fea0ca4b4f2fb6da126d8b3075 tflex_pfx_x64_v03.tar.xz
|
||||
# create with wine_wh_tflex_10-9_amd64
|
||||
# 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
|
||||
# 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
|
||||
|
||||
7edbd69b40b8ca3fb3594933c6cd37030180c494c08fd13cbd1a5b46565d65e6 ved_ctm_pfx_x86_v03.tar.xz
|
||||
# create with wine_x_tkg_10-0_amd64 (universal user: xuser)
|
||||
@@ -212,10 +208,11 @@ dfb44ce5e5af7dba1686932c63d6b05e5dd6919a21c78130a7d1d0271b93958e audiorecstatio
|
||||
# create with wine_x_tkg_10-0_i586 (universal user: xuser)
|
||||
# winetricks arial dotnet7 dotnetdesktop7 renderer=gdi
|
||||
|
||||
4fa93434c5c15440014357323257ddcee7d28b94ad6a56bd6f5a08b33ae4c3cb scadaoffice_pfx_x64_v04.tar.xz
|
||||
# create with wine-8.8-staging-amd64
|
||||
8c6312f2e4e846a98ca4a87fc90ee1917eb28d4caaddde040fb4d2dd05f8c0fe scadaoffice_pfx_x64_v05.tar.xz
|
||||
# create with wine_x_tkg_10-0_amd64 (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
|
||||
# + addons with ODBC, SSH, *.reg
|
||||
|
||||
# addons with ODBC, SSH, *.reg
|
||||
0f4ef434df07bc338ae308af44330590eaa1d9c94b64850514e55b960642d0eb scadoffice_addons_v02.tar.xz
|
||||
|
||||
ef7e8f1ba785d48e4ea287feed5b79bd630d423e59efadb43da9653adefef218 ais-lpu-client_pfx_x86_v01.tar.xz
|
||||
|
149
winehelper
@@ -16,7 +16,7 @@ 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"
|
||||
WH_ICON_PATH="$DATA_PATH/image/gui/winehelper.svg"
|
||||
WH_ICON_PATH="/usr/share/icons/hicolor/scalable/apps/winehelper.svg"
|
||||
CHANGELOG_FILE="/usr/share/doc/winehelper-$WH_VERSION/CHANGELOG"
|
||||
LICENSE_FILE="/usr/share/doc/winehelper-$WH_VERSION/LICENSE"
|
||||
AGREEMENT="/usr/share/doc/winehelper-$WH_VERSION/LICENSE_AGREEMENT"
|
||||
@@ -102,7 +102,9 @@ else
|
||||
fi
|
||||
|
||||
if [[ $WINEDEBUG != "-all" ]] ; then
|
||||
export LOG_FILE="$HOME/winehelper.log"
|
||||
log_dir="$HOME/winehelper_backup_log"
|
||||
mkdir -p "$log_dir"
|
||||
export LOG_FILE="$log_dir/winehelper.log"
|
||||
date > "$LOG_FILE"
|
||||
print_warning "Включен режим логирования работы WINE."
|
||||
print_warning "Лог будет сохранен по пути: $LOG_FILE"
|
||||
@@ -126,6 +128,12 @@ WH_TESTINSTALL_DIR="$DATA_PATH/testinstall"
|
||||
WH_WINETRICKS="$DATA_PATH/winetricks_$WINETRICKS_VERSION"
|
||||
|
||||
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_CONFIG="$HOME/.config/menus/applications-merged/WineHelper.menu"
|
||||
|
||||
@@ -155,6 +163,7 @@ check_variables WH_WINDOWS_VER "10"
|
||||
# check_variables WH_USE_GSTREAMER "1"
|
||||
# check_variables WH_USE_D3D_EXTRAS "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_DLL_INSTALL ""
|
||||
|
||||
@@ -162,12 +171,10 @@ check_variables WINE_WIN_START "start /wait /high /unix"
|
||||
|
||||
check_variables WINE_CPU_TOPOLOGY "8"
|
||||
|
||||
check_variables USE_RENDERER "opengl" # opengl, damavand, proton
|
||||
|
||||
check_variables DXVK_VER "1.10.3-28"
|
||||
check_variables DXVK_VER "none"
|
||||
# check_variables DXVK_CONFIG_FILE "path/to/dxvk.conf"
|
||||
|
||||
check_variables VKD3D_VER "1.1-2602"
|
||||
check_variables VKD3D_VER "none"
|
||||
# check_variables VKD3D_LIMIT_TESS_FACTORS 64
|
||||
# check_variables VKD3D_FEATURE_LEVEL "12_0"
|
||||
|
||||
@@ -395,11 +402,15 @@ print_license_agreement () {
|
||||
}
|
||||
|
||||
try_download () {
|
||||
if [[ $1 != "cloud" ]] ; 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
|
||||
else
|
||||
shift
|
||||
fi
|
||||
local download_file_url output_file output_file_name
|
||||
download_file_url="${1// /%20}"
|
||||
output_file="$2"
|
||||
@@ -694,9 +705,11 @@ EOF
|
||||
echo '#!/usr/bin/env bash'
|
||||
echo "# cmd_name: $INSTALL_SCRIPT_NAME"
|
||||
} > "$exe_file".whdb
|
||||
grep -e "info_" -e "#####" -e "export" -e "var_" "$INSTALL_SCRIPT" \
|
||||
| grep -vE "LAUNCH_PARAMETERS|AUTOINSTALL|WIN_FILE_EXEC|echo" \
|
||||
|
||||
grep -e "info_" -e "#####" -e "PROG_URL=" -e "WINEPREFIX=" -e "INSTALL_DLL=" \
|
||||
-e "PROG_NAME=" -e "PROG_ICON=" -e "var_" "$INSTALL_SCRIPT" \
|
||||
| awk '{$1=$1;print}' >> "$exe_file".whdb
|
||||
|
||||
print_info "Создан файл настроек для $exe_file"
|
||||
fi
|
||||
}
|
||||
@@ -760,31 +773,25 @@ run_installed_programs () {
|
||||
fi
|
||||
}
|
||||
|
||||
init_wined3d () {
|
||||
if [[ "$USE_RENDERER" != "proton" ]] ; then
|
||||
WINED3D_FILES="d3d8 d3d9 d3d10_1 d3d10 d3d10core d3d11 dxgi d3d12 d3d12core"
|
||||
for wined3dfiles in $WINED3D_FILES ; do
|
||||
copy_wined3d () {
|
||||
for wined3dfiles in $1 ; do
|
||||
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 () {
|
||||
check_variables USE_DXVK_VER "$1"
|
||||
DXVK_VER="$1"
|
||||
if [[ $DXVK_VER == "none" ]] ; then
|
||||
copy_wined3d "d3d8 d3d9 d3d10_1 d3d10 d3d10core d3d11 dxgi"
|
||||
return 0
|
||||
fi
|
||||
|
||||
get_dxvk() {
|
||||
local DXVK_URL="$1"
|
||||
local DXVK_VAR_VER="$2"
|
||||
local DXVK_PACKAGE="${WH_VULKAN_LIBDIR}/${DXVK_VAR_VER}.tar.$(echo "${DXVK_URL#*.tar.}")"
|
||||
if try_download "$DXVK_URL" "$DXVK_PACKAGE" check256sum \
|
||||
if try_download cloud "$DXVK_URL" "$DXVK_PACKAGE" check256sum \
|
||||
&& unpack "$DXVK_PACKAGE" "$WH_VULKAN_LIBDIR"
|
||||
then
|
||||
try_remove_file "$DXVK_PACKAGE"
|
||||
@@ -793,36 +800,37 @@ init_dxvk () {
|
||||
return 1
|
||||
}
|
||||
|
||||
for DXVK_VAR_VER in "$USE_DXVK_VER" $@ ; do
|
||||
if [[ ! -d "${WH_VULKAN_LIBDIR}/${DXVK_VAR_VER}" ]] ; then
|
||||
get_dxvk "$CLOUD_URL/${DXVK_VAR_VER}.tar.xz" "$DXVK_VAR_VER"
|
||||
if [[ ! -d "${WH_VULKAN_LIBDIR}/${DXVK_VER}" ]] ; then
|
||||
get_dxvk "$CLOUD_URL/${DXVK_VER}.tar.xz" "$DXVK_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"
|
||||
try_copy_wine_dll_to_pfx_64 "dxgi.dll"
|
||||
try_copy_wine_dll_to_pfx_32 "dxgi.dll"
|
||||
copy_wined3d "dxgi"
|
||||
else
|
||||
DXVK_FILES="d3d9 d3d10_1 d3d10 d3d11 dxgi" # dxvk_config openvr_api_dxvk"
|
||||
fi
|
||||
|
||||
for dxvkfiles in $DXVK_FILES ; do
|
||||
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}/${USE_DXVK_VER}/x32/$dxvkfiles.dll"
|
||||
try_copy_other_dll_to_pfx_64 "${WH_VULKAN_LIBDIR}/${DXVK_VER}/x64/$dxvkfiles.dll"
|
||||
if try_copy_other_dll_to_pfx_32 "${WH_VULKAN_LIBDIR}/${DXVK_VER}/x32/$dxvkfiles.dll"
|
||||
then var_winedlloverride_update "$dxvkfiles=n"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
init_vkd3d () {
|
||||
check_variables USE_VKD3D_VER "$1"
|
||||
VKD3D_VER="$1"
|
||||
if [[ $VKD3D_VER == "none" ]] ; then
|
||||
copy_wined3d "d3d12 d3d12core"
|
||||
return 0
|
||||
fi
|
||||
|
||||
get_vkd3d() {
|
||||
local VKD3D_URL="$1"
|
||||
local VKD3D_VAR_VER="$2"
|
||||
local VKD3D_PACKAGE="${WH_VULKAN_LIBDIR}/${VKD3D_VAR_VER}.tar.$(echo "${VKD3D_URL#*.tar.}")"
|
||||
if try_download "$VKD3D_URL" "$VKD3D_PACKAGE" check256sum \
|
||||
if try_download cloud "$VKD3D_URL" "$VKD3D_PACKAGE" check256sum \
|
||||
&& unpack "$VKD3D_PACKAGE" "$WH_VULKAN_LIBDIR"
|
||||
then
|
||||
try_remove_file "$VKD3D_PACKAGE"
|
||||
@@ -831,16 +839,14 @@ init_vkd3d () {
|
||||
return 1
|
||||
}
|
||||
|
||||
for VKD3D_VAR_VER in "$USE_VKD3D_VER" $@ ; do
|
||||
if [[ ! -d "${WH_VULKAN_LIBDIR}/${VKD3D_VAR_VER}" ]] ; then
|
||||
get_vkd3d "$CLOUD_URL/${VKD3D_VAR_VER}.tar.xz" "$VKD3D_VAR_VER"
|
||||
if [[ ! -d "${WH_VULKAN_LIBDIR}/${VKD3D_VER}" ]] ; then
|
||||
get_vkd3d "$CLOUD_URL/${VKD3D_VER}.tar.xz" "$VKD3D_VER"
|
||||
fi
|
||||
done
|
||||
|
||||
VKD3D_FILES="d3d12 d3d12core libvkd3d-shader-1 libvkd3d-1" # libvkd3d-proton-utils-3
|
||||
for vkd3dfiles in $VKD3D_FILES ; do
|
||||
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}/${USE_VKD3D_VER}/x86/$vkd3dfiles.dll"
|
||||
try_copy_other_dll_to_pfx_64 "${WH_VULKAN_LIBDIR}/${VKD3D_VER}/x64/$vkd3dfiles.dll"
|
||||
if try_copy_other_dll_to_pfx_32 "${WH_VULKAN_LIBDIR}/${VKD3D_VER}/x86/$vkd3dfiles.dll"
|
||||
then var_winedlloverride_update "$vkd3dfiles=n"
|
||||
fi
|
||||
done
|
||||
@@ -855,7 +861,7 @@ init_wine_ver () {
|
||||
download_url="$CLOUD_URL/$WH_WINE_USE.tar.xz"
|
||||
wine_package="$WH_TMP_DIR/$WH_WINE_USE.tar.xz"
|
||||
|
||||
try_download "$download_url" "$wine_package" "check256sum"
|
||||
try_download cloud "$download_url" "$wine_package" "check256sum"
|
||||
unpack "$wine_package" "$WH_DIST_DIR/"
|
||||
try_remove_file "$wine_package"
|
||||
|
||||
@@ -908,7 +914,7 @@ init_wine_ver () {
|
||||
CPCSP_PROXY_NAME="wine-cpcsp_proxy-$CPCSP_PROXY_VER"
|
||||
CPCSP_PROXY_URL="$CLOUD_URL/$CPCSP_PROXY_NAME.tar.xz"
|
||||
|
||||
try_download "$CPCSP_PROXY_URL" "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz" check256sum
|
||||
try_download cloud "$CPCSP_PROXY_URL" "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz" check256sum
|
||||
unpack "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz" "$WH_TMP_DIR"
|
||||
|
||||
cp -fr "$WH_TMP_DIR/$CPCSP_PROXY_NAME/"i386-* "$WINEDIR/lib/wine/"
|
||||
@@ -1184,6 +1190,7 @@ init_wineprefix () {
|
||||
# добавление ассоциаций файлов для запуска нативного приложения из wine
|
||||
# пример переменной: WH_XDG_OPEN="txt doc pdf"
|
||||
check_variables WH_XDG_OPEN "0"
|
||||
|
||||
local WRAPPER="${WH_TMP_DIR}/wh-xdg-open.sh"
|
||||
local XDG_OPEN_REG="Software\Classes\xdg-open\shell\open\command"
|
||||
if [[ $WH_XDG_OPEN != "0" ]] ; then
|
||||
@@ -1206,13 +1213,19 @@ init_wineprefix () {
|
||||
# добавляем новую команду xdg-open в реестр
|
||||
get_and_set_reg_file --add "$XDG_OPEN_REG" '@=' 'REG_SZ' "$WRAPPER %1" "system"
|
||||
|
||||
# удаляем старые ассоциации, которых нет в новом списке
|
||||
sed -i '/@="xdg-open"/d' "$WINEPREFIX/system.reg"
|
||||
|
||||
# добавляем ассоциации файлов для запуска с помощью xdg-open
|
||||
for ext in $WH_XDG_OPEN ; do
|
||||
get_and_set_reg_file --add "Software\Classes\.$ext" '@=' 'REG_SZ' "xdg-open" "system"
|
||||
done
|
||||
print_info "Используются ассоциации с нативными приложениями для файлов: \"$WH_XDG_OPEN\""
|
||||
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" '@='
|
||||
# удаяем скрипт-обёртку
|
||||
try_remove_file "$WRAPPER"
|
||||
@@ -1274,7 +1287,7 @@ init_wineprefix () {
|
||||
echo "# переменные последнего использования префикса:" > "$WINEPREFIX/last.conf"
|
||||
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 \
|
||||
WINE_CPU_TOPOLOGY USE_RENDERER DXVK_VER VKD3D_VER WH_XDG_OPEN WH_USE_MESA_GL_OVERRIDE
|
||||
WINE_CPU_TOPOLOGY DXVK_VER VKD3D_VER WH_XDG_OPEN WH_USE_MESA_GL_OVERRIDE
|
||||
do
|
||||
echo "export $var=\"${!var}\"" >> "$WINEPREFIX/last.conf"
|
||||
done
|
||||
@@ -1324,7 +1337,8 @@ use_winetricks () {
|
||||
}
|
||||
|
||||
kill_wine () {
|
||||
wine_pids=$(ls -l /proc/*/exe 2>/dev/null | grep -E 'wine(64)?-preloader|wineserver' | awk -F/ '{print $3}')
|
||||
wine_pids=$(ls -l /proc/*/exe 2>/dev/null | grep -E 'wine(64)?-preloader|wineserver' \
|
||||
| grep "$USER_WORK_PATH" | awk -F/ '{print $3}')
|
||||
|
||||
for pw_kill_pids in ${wine_pids}; do
|
||||
if ps cax | grep "${pw_kill_pids}" ; then
|
||||
@@ -1351,12 +1365,12 @@ init_database () {
|
||||
if [[ "$WHDB_FILE" != "0" ]] ; then
|
||||
print_info "Используется файл настроек: $WHDB_FILE"
|
||||
. "$WHDB_FILE"
|
||||
elif check_prefix_var && [[ -f "$WINEPREFIX/last.conf" ]] ; then
|
||||
fi
|
||||
|
||||
if check_prefix_var && [[ -f "$WINEPREFIX/last.conf" ]] ; then
|
||||
print_info "Найдены настройки из предыдущего использования префикса: $WINEPREFIX"
|
||||
cat "$WINEPREFIX/last.conf"
|
||||
. "$WINEPREFIX/last.conf"
|
||||
else
|
||||
print_warning "Файл настроек не найден. Пропускаем."
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -1365,16 +1379,13 @@ prepair_wine () {
|
||||
then print_info "Используются настройки из скрипта установки: $INSTALL_SCRIPT_NAME"
|
||||
else init_database
|
||||
fi
|
||||
|
||||
init_wine_ver
|
||||
init_wineprefix
|
||||
use_winetricks
|
||||
|
||||
if init_wined3d ; then
|
||||
:
|
||||
else
|
||||
init_dxvk "$DXVK_VER"
|
||||
init_vkd3d "$VKD3D_VER"
|
||||
fi
|
||||
|
||||
[[ "$MANGOHUD" == 1 ]] && MANGOHUD_RUN="mangohud"
|
||||
}
|
||||
|
||||
@@ -1470,6 +1481,11 @@ run_autoinstall () {
|
||||
echo
|
||||
list_install_scripts "$WH_MANUALINSTALL_DIR" "Список программ с возможностью установки из существующего дистрибутива:"
|
||||
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" "$@"
|
||||
print_info "Завершена установка $INSTALL_SCRIPT_NAME"
|
||||
else
|
||||
@@ -1760,6 +1776,7 @@ remove_winehelper () {
|
||||
echo " - Все настройки WineHelper"
|
||||
echo " - Все приложения/программы, установленные через WineHelper"
|
||||
echo " - Все ярлыки из меню и с рабочего стола, созданные с помощью WineHelper"
|
||||
echo " - Все резервные копии и логи, созданные WineHelper"
|
||||
echo "======================================================"
|
||||
if print_confirmation "Продолжить?" ; then
|
||||
echo "----------------------------------------------"
|
||||
@@ -1775,6 +1792,7 @@ remove_winehelper () {
|
||||
|
||||
# Удаление рабочих каталогов
|
||||
try_remove_dir "$USER_WORK_PATH"
|
||||
try_remove_dir "$HOME/winehelper_backup_log"
|
||||
|
||||
# Удаление файлов меню
|
||||
try_remove_dir "$WH_MENU_DIR"
|
||||
@@ -1853,7 +1871,8 @@ backup_prefix() {
|
||||
check_prefix_var
|
||||
|
||||
local backup_base_dir backup_archive_name backup_dest_path temp_backup_dir temp_prefix_dir temp_users_dir
|
||||
backup_base_dir="$(xdg-user-dir DESKTOP)"
|
||||
backup_base_dir="$HOME/winehelper_backup_log"
|
||||
create_new_dir "$backup_base_dir"
|
||||
backup_archive_name="backup_${PREFIX_NAME}_$(date +%d.%m.%Y-%H.%M.%S).whpack"
|
||||
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)"
|
||||
@@ -2155,16 +2174,14 @@ run_install_dxvk() {
|
||||
fi
|
||||
check_prefix_var
|
||||
init_database
|
||||
export DXVK_VER="$version"
|
||||
init_wine_ver
|
||||
init_wineprefix
|
||||
if [[ "$version" == "none" ]] ; then
|
||||
print_info "Удаление DXVK..."
|
||||
init_wined3d
|
||||
update_last_conf_var "DXVK_VER" ""
|
||||
else
|
||||
init_dxvk "$version"
|
||||
update_last_conf_var "DXVK_VER" "$USE_DXVK_VER"
|
||||
if [[ "$DXVK_VER" == "none" ]]
|
||||
then print_info "Удаление DXVK..."
|
||||
else print_info "Установка DXVK: $DXVK_VER"
|
||||
fi
|
||||
init_dxvk "$DXVK_VER"
|
||||
wait_wineserver
|
||||
}
|
||||
|
||||
@@ -2179,16 +2196,14 @@ run_install_vkd3d() {
|
||||
fi
|
||||
check_prefix_var
|
||||
init_database
|
||||
export VKD3D_VER="$version"
|
||||
init_wine_ver
|
||||
init_wineprefix
|
||||
if [[ "$version" == "none" ]] ; then
|
||||
print_info "Удаление VKD3D..."
|
||||
init_wined3d
|
||||
update_last_conf_var "VKD3D_VER" ""
|
||||
else
|
||||
init_vkd3d "$version"
|
||||
update_last_conf_var "VKD3D_VER" "$USE_VKD3D_VER"
|
||||
if [[ "$VKD3D_VER" == "none" ]]
|
||||
then print_info "Удаление VKD3D..."
|
||||
else print_info "Установка VKD3D: $VKD3D_VER"
|
||||
fi
|
||||
init_vkd3d "$VKD3D_VER"
|
||||
wait_wineserver
|
||||
}
|
||||
|
||||
|