Compare commits
110 Commits
463306d0cf
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0fc93f4d3c | ||
|
|
5f27bfa97a | ||
|
|
151d0ffc48 | ||
|
|
ad91466475 | ||
|
|
5e4d94bb57 | ||
|
|
5b572ff540 | ||
|
|
c68bcc9abf | ||
|
|
1ad2c6cfa8 | ||
|
|
16a686dc37 | ||
|
|
c9d5619ab9 | ||
|
|
74311e9c04 | ||
|
|
eb9bef83e2 | ||
|
|
c7eddb8b53 | ||
|
|
dfc6c1c836 | ||
|
|
04187e9463 | ||
|
|
5f915ab58d | ||
|
|
0e8ee7788a | ||
|
|
49c1ac6846 | ||
|
|
971bcd0f5a | ||
|
|
5b21015aee | ||
|
|
7dee08bcfb | ||
|
|
633deaf1c1 | ||
|
|
4df9508547 | ||
|
|
989f04cdd8 | ||
|
|
95b189f5a2 | ||
|
|
371553277a | ||
|
|
dabf50103d | ||
|
|
590b37f1a3 | ||
|
|
1f9b4a9146 | ||
|
|
39f21373f1 | ||
|
|
e984ffdb8c | ||
|
|
48834dc078 | ||
|
|
b62d06ed71 | ||
|
|
9a1b78276e | ||
|
|
f788307f05 | ||
|
|
14273f723b | ||
|
|
a8e0fdce0a | ||
|
|
da3d5cd7af | ||
|
|
3ee499c758 | ||
|
|
6286cccbab | ||
|
|
e8d462b665 | ||
|
|
6476a84ce7 | ||
|
|
db7e3f5220 | ||
|
|
a817d1a6f5 | ||
|
|
e1fc25bb72 | ||
|
|
7c90da2088 | ||
|
|
108316148a | ||
|
|
9029f4d0e8 | ||
|
|
cedebe73c1 | ||
|
|
e04811446c | ||
|
|
15712f0a0a | ||
|
|
8eeee56ee1 | ||
|
|
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 | ||
|
|
151b6d6e30 | ||
|
|
9f994a8cc3 | ||
|
|
c8049efd37 | ||
|
|
8eb5a0aa86 | ||
|
|
7edc205b66 | ||
|
|
b36cadd54d |
33
CHANGELOG
@@ -1,5 +1,38 @@
|
|||||||
История изменений:
|
История изменений:
|
||||||
|
|
||||||
|
0.8.0
|
||||||
|
* добавлено автоопределение .reg и .dll файлов для их добавленния в реестр префикса
|
||||||
|
* во вкладку "Справка" добавлены ссылки на старницы с сертификатами
|
||||||
|
* другие небольшие улучшения и оптимизации скриптов и графического интерфейса
|
||||||
|
|
||||||
|
0.7.0
|
||||||
|
* обновлен графический режим Qt5
|
||||||
|
- добавлена кнопка открытия каталога с резервными копиями и логами
|
||||||
|
- добавлена кнопка открытия каталога с префиксом
|
||||||
|
- добавлена блокировка кнопок для установленного приложения, если оно уже запущено
|
||||||
|
- добавлено отображения процесса установки сторонних компонентов с помощью winetricks
|
||||||
|
- добавлена возможность отображения и установки тестовых скриптов (выключено по умолчанию)
|
||||||
|
* добавлены скрипты установки для t-flex версии 18
|
||||||
|
* в CLI добавлен список тестовых скриптов установки ПО
|
||||||
|
* добавлена возможность ассоциации файлов для передачи в приложения запускаемых в WineHelper
|
||||||
|
|
||||||
|
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:
|
||||||
- добавлена возможность установки системных зависимостей
|
- добавлена возможность установки системных зависимостей
|
||||||
|
|||||||
7
GENERAL
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# Руководство пользователя
|
||||||
|
Подробное и актуальное руководство по использованию WineHelper смотрите на сайте: https://www.altlinux.org/Winehelper
|
||||||
|
|
||||||
|
# Совместимость ПО и сертификаты
|
||||||
|
С полным списком совместимого ПО и сертификатами можно ознакомиться по следующим ссылкам:
|
||||||
|
Для 10 платформы: https://www.basealt.ru/fileadmin/user_upload/compatibility/P10-view2.html
|
||||||
|
Для 11 платформы: https://www.basealt.ru/fileadmin/user_upload/compatibility/P11-view2.html
|
||||||
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,5 +1,5 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# info_ru: Сервис обновления ПО
|
# info_ru: Сервис обновления ПО: "R-Атлас", "R-Инфо" и "R-Тариф".
|
||||||
########################################################################
|
########################################################################
|
||||||
export PROG_URL="https://daobit.ru"
|
export PROG_URL="https://daobit.ru"
|
||||||
export WH_WINE_USE="wine_x_tkg_10-0_i586" # wine-9.0.9-alt1-i586"
|
export WH_WINE_USE="wine_x_tkg_10-0_i586" # wine-9.0.9-alt1-i586"
|
||||||
|
|||||||
@@ -1,81 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# info_ru: SCAD Office — это программный комплекс для расчёта строительных конструкций, с дополнением Apache OpenOffice. Apache OpenOffice - пакет офисного программного обеспечения для обработки текстов, электронных таблиц, презентаций, графики, баз данных и многого другого.
|
|
||||||
########################################################################
|
|
||||||
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_v03"
|
|
||||||
export WH_WINDOWS_VER="10"
|
|
||||||
export WINEARCH="win64"
|
|
||||||
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"
|
|
||||||
AUTOINSTALL_EXE="${WH_TMP_DIR}/SCADOffice_installer.exe"
|
|
||||||
SCADOFFICE_ADDONS_URL="https://cloud.linux-gaming.ru/portproton/scadoffice_addons_v02.tar.xz"
|
|
||||||
|
|
||||||
prepair_wine
|
|
||||||
|
|
||||||
DRIVE_C_SCADOFFICE="$DRIVE_C/SCAD Soft/SCADOffice/64"
|
|
||||||
|
|
||||||
if [[ -n $2 ]] ; then
|
|
||||||
if [[ ! -d "$DRIVE_C_SCADOFFICE" ]] ; then
|
|
||||||
fatal "Перезапустите скрипт без дополнительных аргументов для установки SCAD Office:
|
|
||||||
winehelper install scadoffice"
|
|
||||||
elif [[ ! -f "$2" ]] ; then
|
|
||||||
fatal "Перезапустите скрипт с правильным путем до файла лицензии SCAD Office:
|
|
||||||
winehelper install scadoffice \"/путь/до/файла.exe\""
|
|
||||||
else
|
|
||||||
print_info "Устанавливаем файл лицензии $2"
|
|
||||||
wine_run "$2"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ $BASE_PFX == "none" ]] ; then
|
|
||||||
print_info "Установка дополнительных компонентов..."
|
|
||||||
|
|
||||||
ADDONS_PACK="${WH_TMP_DIR}/$(basename "$SCADOFFICE_ADDONS_URL")"
|
|
||||||
ADDONS_PATH="${WH_TMP_DIR}/scadoffice_addons"
|
|
||||||
|
|
||||||
ADDONS_PATH_REG="${ADDONS_PATH}/REG"
|
|
||||||
ADDONS_PATH_MDAC="${ADDONS_PATH}/mdac64"
|
|
||||||
ADDONS_PATH_OPENSSH="${ADDONS_PATH}/OpenSSH"
|
|
||||||
|
|
||||||
if try_download "$SCADOFFICE_ADDONS_URL" "${ADDONS_PACK}" ; then
|
|
||||||
create_new_dir "${ADDONS_PATH}"
|
|
||||||
unpack "${ADDONS_PACK}" "${ADDONS_PATH}"
|
|
||||||
wine_run regedit "${ADDONS_PATH_REG}"/*.reg
|
|
||||||
|
|
||||||
# Установка ODBC
|
|
||||||
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}"/*.* "$DRIVE_C/windows/system32/"
|
|
||||||
wine_run regedit "${ADDONS_PATH_MDAC}"/*.reg
|
|
||||||
|
|
||||||
# Установка SSH
|
|
||||||
cp -r "${ADDONS_PATH_OPENSSH}" "$DRIVE_C/windows/system32/"
|
|
||||||
|
|
||||||
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"
|
|
||||||
create_new_dir "$DRIVE_C/SWORK"
|
|
||||||
wine_run_install "${AUTOINSTALL_EXE}" /auto /hide
|
|
||||||
try_remove_file "$AUTOINSTALL_EXE"
|
|
||||||
|
|
||||||
# Определение всех программ, значков и исполняемых файлов
|
|
||||||
declare -a PROG_NAME_All=("Арбат" "Вест" "Глобальные настройки" "Декор" "Дискретная арматура" "Запрос" "Камин" "КоКон" "Комета" "Конструктор сечений" "Консул" "Конфигуратор лицензий" "Кристалл" "Кросс" "Куст" "Магнум" "Монолит" "Откос" "Пастернак" "Преобразование ед. измерений" "Cортамент металлопроката" "Расчет по формуле" "Редактор акселерограмм" "Редактор динамичности" "Редактор материалов" "Тонус" "Эквивалентное сечение" "SCAD++")
|
|
||||||
|
|
||||||
declare -a PROG_ICON_ALL=("arbat" "west" "globalsettings" "decor" "rebar" "underground" "comein" "cocon" "comet" "section" "consul" "configprotection" "kristall" "cross" "kust" "magnum" "monolit" "slope" "pasternak" "ucalc" "viewprof" "scalc" "acceledit" "betaedit" "materialsedit" "tonus" "sezam" "scadx")
|
|
||||||
|
|
||||||
declare -a WIN_FILE_EXEC=("${DRIVE_C_SCADOFFICE}/Arbat.exe" "${DRIVE_C_SCADOFFICE}/West.exe" "${DRIVE_C_SCADOFFICE}/GlobalSettings.exe" "${DRIVE_C_SCADOFFICE}/Decor.exe" "${DRIVE_C_SCADOFFICE}/ReBar.exe" "${DRIVE_C_SCADOFFICE}/UnderGround.exe" "${DRIVE_C_SCADOFFICE}/ComeIn.exe" "${DRIVE_C_SCADOFFICE}/CoCon.exe" "${DRIVE_C_SCADOFFICE}/Comet2.exe" "${DRIVE_C_SCADOFFICE}/Section.exe" "${DRIVE_C_SCADOFFICE}/Consul.exe" "${DRIVE_C_SCADOFFICE}/ConfigProtection.exe" "${DRIVE_C_SCADOFFICE}/Kristall.exe" "${DRIVE_C_SCADOFFICE}/Cross.exe" "${DRIVE_C_SCADOFFICE}/Kust2.exe" "${DRIVE_C_SCADOFFICE}/Magnum.exe" "${DRIVE_C_SCADOFFICE}/Monolit.exe" "${DRIVE_C_SCADOFFICE}/Slope.exe" "${DRIVE_C_SCADOFFICE}/Pasternak.exe" "${DRIVE_C_SCADOFFICE}/UCalc.exe" "${DRIVE_C_SCADOFFICE}/ViewProf.exe" "${DRIVE_C_SCADOFFICE}/SCalc.exe" "${DRIVE_C_SCADOFFICE}/AccelEdit.exe" "${DRIVE_C_SCADOFFICE}/BetaEdit.exe" "${DRIVE_C_SCADOFFICE}/MaterialsEdit.exe" "${DRIVE_C_SCADOFFICE}/Tonus.exe" "${DRIVE_C_SCADOFFICE}/Sezam.exe" "${DRIVE_C_SCADOFFICE}/SCADX.exe")
|
|
||||||
|
|
||||||
# Цикл создания десктоп файлов для scad office
|
|
||||||
for i in "${!PROG_NAME_All[@]}"; do
|
|
||||||
create_desktop "${PROG_NAME_All[i]}" "${WIN_FILE_EXEC[i]}" "${PROG_ICON_ALL[i]}" "nocopy"
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# info_ru: «Справки БК» — специальное программное обеспечение, предназначенное для заполнения справок о доходах, расходах, об имуществе и обязательствах имущественного характера.
|
# info_ru: «Справки БК» (Windows версия 2.5.5) от 31.01.2024 — специальное программное обеспечение, предназначенное для заполнения справок о доходах, расходах, об имуществе и обязательствах имущественного характера.
|
||||||
########################################################################
|
########################################################################
|
||||||
export PROG_URL="https://spravki-bk.ru"
|
export PROG_URL="https://spravki-bk.ru"
|
||||||
export WH_WINE_USE="wine-9.0.14-alt1-i586-spravkibk"
|
export WH_WINE_USE="wine-9.0.14-alt1-i586-spravkibk"
|
||||||
|
|||||||
@@ -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="tflex17_pfx_x64_v02"
|
export BASE_PFX="tflex_pfx_x64_v03"
|
||||||
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-cad17.whdb"
|
source "$WH_DB_DIR/t-flex-cad.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"
|
||||||
|
|||||||
@@ -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="tflex17_pfx_x64_v02"
|
export BASE_PFX="tflex_pfx_x64_v03"
|
||||||
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-cad17.whdb"
|
source "$WH_DB_DIR/t-flex-cad.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"
|
||||||
|
|||||||
@@ -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="tflex17_pfx_x64_v02"
|
export BASE_PFX="tflex_pfx_x64_v03"
|
||||||
export WINEARCH="win64"
|
export WINEARCH="win64"
|
||||||
export WINEPREFIX="tflex"
|
export WINEPREFIX="tflex"
|
||||||
export WH_XDG_OPEN="log"
|
export WH_XDG_OPEN="log"
|
||||||
|
|||||||
@@ -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="tflex17_pfx_x64_v02"
|
export BASE_PFX="tflex_pfx_x64_v03"
|
||||||
export WINEARCH="win64"
|
export WINEARCH="win64"
|
||||||
export WINEPREFIX="tflex"
|
export WINEPREFIX="tflex"
|
||||||
export WH_XDG_OPEN="log"
|
export WH_XDG_OPEN="log"
|
||||||
|
|||||||
34
autoinstall/t-flex-cad18
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# info_ru: Профессиональная САПР, объединяющая в себе мощные параметрические возможности 2D и 3D-моделирования со средствами создания и оформления чертежей и конструкторской документации по ЕСКД.
|
||||||
|
########################################################################
|
||||||
|
export PROG_URL="https://www.tflexcad.ru"
|
||||||
|
export PROG_NAME="T-FLEX CAD 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"
|
||||||
|
|
||||||
|
# используем общий whdb файл для подготовки префикса и сервисов
|
||||||
|
# prepair_wine используется из файла настроек
|
||||||
|
source "$WH_DB_DIR/t-flex-cad.whdb"
|
||||||
|
|
||||||
|
# Программа T-FLEX CAD
|
||||||
|
AUTOINSTALL_ZIP="${WH_TMP_DIR}/T-FLEX CAD 18.zip"
|
||||||
|
AUTOINSTALL_DIR="${WH_TMP_DIR}"
|
||||||
|
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/T-FLEX CAD 18"
|
||||||
|
AUTOINSTALL_EXE="${WH_TMP_DIR}/T-FLEX CAD 18/T-FLEX CAD 18.msi"
|
||||||
|
|
||||||
|
if try_download "https://www.tflex.ru/downloads/V18/T-FLEX%20CAD%2018.zip" "${AUTOINSTALL_ZIP}" ; then
|
||||||
|
unpack "${AUTOINSTALL_ZIP}" "${AUTOINSTALL_DIR}"
|
||||||
|
try_remove_file "${AUTOINSTALL_ZIP}"
|
||||||
|
|
||||||
|
wine_run_install "${AUTOINSTALL_EXE}" /q
|
||||||
|
try_remove_dir "${AUTOINSTALL_UNPACK}"
|
||||||
|
|
||||||
|
WIN_FILE_EXEC="$DRIVE_C/Program Files/T-FLEX CAD 18/Program/TFlexCad.exe"
|
||||||
|
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON" "TFlexCad"
|
||||||
|
fi
|
||||||
52
autoinstall/t-flex-cad18-applications
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# info_ru: Приложения для T-FLEX CAD 18 (T-FLEX Анализ 18, T-FLEX Динамика 18, T-FLEX Детали машин 18, T-FLEX Раскрой 18, T-FLEX VR 18, T-FLEX Печатные платы 18)
|
||||||
|
########################################################################
|
||||||
|
export PROG_URL="https://www.tflexcad.ru"
|
||||||
|
export PROG_NAME="Приложения для T-FLEX CAD 18"
|
||||||
|
export PROG_ICON="tflexcad"
|
||||||
|
export WH_WINDOWS_VER="10"
|
||||||
|
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||||
|
export BASE_PFX="tflex_pfx_x64_v03"
|
||||||
|
export WINEARCH="win64"
|
||||||
|
export WINEPREFIX="tflex"
|
||||||
|
export WH_XDG_OPEN="log"
|
||||||
|
export WH_USE_MESA_GL_OVERRIDE="1"
|
||||||
|
|
||||||
|
check_prefix_var
|
||||||
|
if [[ ! -f "$WINEPREFIX/drive_c/Program Files/T-FLEX CAD 18/Program/TFlexCad.exe" ]]
|
||||||
|
then fatal "Изначально установите T-FLEX CAD 18."
|
||||||
|
fi
|
||||||
|
|
||||||
|
BASE_URL="https://www.tflex.ru/downloads/V18"
|
||||||
|
FILES=(
|
||||||
|
"T-FLEX Analysis 18.zip"
|
||||||
|
"T-FLEX Dynamics 18.zip"
|
||||||
|
"T-FLEX Machinery 18.zip"
|
||||||
|
"T-FLEX Nesting 18.zip"
|
||||||
|
"T-FLEX VR 18.zip"
|
||||||
|
"T-FLEX Circuits 18.zip"
|
||||||
|
)
|
||||||
|
UNPACK_APP="${WH_TMP_DIR}/unpack_applications"
|
||||||
|
|
||||||
|
prepair_wine
|
||||||
|
|
||||||
|
# Скачивание всех файлов
|
||||||
|
for file_name in "${FILES[@]}" ; do
|
||||||
|
local output="${WH_TMP_DIR}/${file_name// /_}"
|
||||||
|
|
||||||
|
if try_download "$BASE_URL/$file_name" "$output" ; then
|
||||||
|
unpack "$output" "${UNPACK_APP}"
|
||||||
|
fi
|
||||||
|
try_remove_file "$output"
|
||||||
|
done
|
||||||
|
|
||||||
|
# Установка .msi файлов
|
||||||
|
for msi_file in "${UNPACK_APP}"/*/*.msi ; do
|
||||||
|
if [[ -f "$msi_file" ]] ; then
|
||||||
|
wine_run_install "$msi_file" /q
|
||||||
|
else
|
||||||
|
fatal "Нет .msi файлов для установки в ${UNPACK_APP}/*."
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
try_remove_dir "${UNPACK_APP}"
|
||||||
49
autoinstall/t-flex-cad18-resources
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# info_ru: Обучающие материалы, примеры, бесплатные библиотеки для T-FLEX CAD 18 (Учебное пособие 18, Стандартные элементы 18, Примеры 18)
|
||||||
|
########################################################################
|
||||||
|
export PROG_URL="https://www.tflexcad.ru"
|
||||||
|
export PROG_NAME="Ресурсы для T-FLEX CAD 18"
|
||||||
|
export PROG_ICON="tflexcad"
|
||||||
|
export WH_WINDOWS_VER="10"
|
||||||
|
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||||
|
export BASE_PFX="tflex_pfx_x64_v03"
|
||||||
|
export WINEARCH="win64"
|
||||||
|
export WINEPREFIX="tflex"
|
||||||
|
export WH_XDG_OPEN="log"
|
||||||
|
export WH_USE_MESA_GL_OVERRIDE="1"
|
||||||
|
|
||||||
|
check_prefix_var
|
||||||
|
if [[ ! -f "$WINEPREFIX/drive_c/Program Files/T-FLEX CAD 18/Program/TFlexCad.exe" ]]
|
||||||
|
then fatal "Изначально установите T-FLEX CAD 18."
|
||||||
|
fi
|
||||||
|
|
||||||
|
BASE_URL="https://www.tflex.ru/downloads/V18"
|
||||||
|
FILES=(
|
||||||
|
"T-FLEX Tutorial 18.zip"
|
||||||
|
"Standard parts 18.zip"
|
||||||
|
"Examples 18.zip"
|
||||||
|
)
|
||||||
|
UNPACK_RESOURCES="${WH_TMP_DIR}/unpack_resources"
|
||||||
|
|
||||||
|
prepair_wine
|
||||||
|
|
||||||
|
# Скачивание всех файлов
|
||||||
|
for file_name in "${FILES[@]}" ; do
|
||||||
|
local output="${WH_TMP_DIR}/${file_name// /_}"
|
||||||
|
|
||||||
|
if try_download "$BASE_URL/$file_name" "$output" ; then
|
||||||
|
unpack "$output" "$UNPACK_RESOURCES"
|
||||||
|
fi
|
||||||
|
try_remove_file "$output"
|
||||||
|
done
|
||||||
|
|
||||||
|
# Установка .msi файлов
|
||||||
|
for msi_file in "${UNPACK_RESOURCES}"/*/*.msi ; do
|
||||||
|
if [[ -f "$msi_file" ]] ; then
|
||||||
|
wine_run_install "$msi_file" /q
|
||||||
|
else
|
||||||
|
fatal "Нет .msi файлов для установки в ${UNPACK_RESOURCES}/unpack_dop/*."
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
try_remove_dir "${UNPACK_RESOURCES}"
|
||||||
@@ -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="tflex17_pfx_x64_v02"
|
export BASE_PFX="tflex_pfx_x64_v03"
|
||||||
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-cad17.whdb"
|
source "$WH_DB_DIR/t-flex-cad.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"
|
||||||
|
|||||||
34
autoinstall/t-flex-cad2d+18
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# info_ru: Профессиональная САПР, объединяющая в себе мощные параметрические возможности 2D и 3D-моделирования со средствами создания и оформления чертежей и конструкторской документации по ЕСКД.
|
||||||
|
########################################################################
|
||||||
|
export PROG_URL="https://www.tflexcad.ru"
|
||||||
|
export PROG_NAME="T-FLEX CAD 2D+ 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"
|
||||||
|
|
||||||
|
# используем общий whdb файл для подготовки префикса и сервисов
|
||||||
|
# prepair_wine используется из файла настроек
|
||||||
|
source "$WH_DB_DIR/t-flex-cad.whdb"
|
||||||
|
|
||||||
|
# Программа T-FLEX CAD 2D+ 18
|
||||||
|
AUTOINSTALL_ZIP="${WH_TMP_DIR}/T-FLEX CAD 2D+ 18.zip"
|
||||||
|
AUTOINSTALL_DIR="${WH_TMP_DIR}"
|
||||||
|
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/T-FLEX CAD 2D+ 18"
|
||||||
|
AUTOINSTALL_EXE="${AUTOINSTALL_UNPACK}/T-FLEX CAD 2D+ 18.msi"
|
||||||
|
|
||||||
|
if try_download "https://www.tflex.ru/downloads/V18/T-FLEX%20CAD%202D+%2018.zip" "${AUTOINSTALL_ZIP}" ; then
|
||||||
|
unpack "${AUTOINSTALL_ZIP}" "${AUTOINSTALL_DIR}"
|
||||||
|
try_remove_file "${AUTOINSTALL_ZIP}"
|
||||||
|
|
||||||
|
wine_run_install "${AUTOINSTALL_EXE}" /q
|
||||||
|
try_remove_dir "${AUTOINSTALL_UNPACK}"
|
||||||
|
|
||||||
|
WIN_FILE_EXEC="$DRIVE_C/Program Files/T-FLEX CAD 2D+ 18/Program/TFlexCad.exe"
|
||||||
|
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON" "TFlexCad2D"
|
||||||
|
fi
|
||||||
@@ -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="tflex17_pfx_x64_v02"
|
export BASE_PFX="tflex_pfx_x64_v03"
|
||||||
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-cad17.whdb"
|
source "$WH_DB_DIR/t-flex-cad.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"
|
||||||
|
|||||||
@@ -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="tflex17_pfx_x64_v02"
|
export BASE_PFX="tflex_pfx_x64_v03"
|
||||||
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-cad17.whdb"
|
source "$WH_DB_DIR/t-flex-cad.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"
|
||||||
|
|||||||
34
autoinstall/t-flex-viewer18
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# info_ru: Просмотр, печать и аннотирование документов T-FLEX CAD
|
||||||
|
########################################################################
|
||||||
|
export PROG_URL="https://www.tflexcad.ru"
|
||||||
|
export PROG_NAME="T-FLEX Viewer 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"
|
||||||
|
|
||||||
|
# используем общий whdb файл для подготовки префикса и сервисов
|
||||||
|
# prepair_wine используется из файла настроек
|
||||||
|
source "$WH_DB_DIR/t-flex-cad.whdb"
|
||||||
|
|
||||||
|
# Программа T-FLEX Viewer
|
||||||
|
AUTOINSTALL_ZIP="${WH_TMP_DIR}/T-FLEX Viewer 18.zip"
|
||||||
|
AUTOINSTALL_DIR="${WH_TMP_DIR}"
|
||||||
|
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/T-FLEX Viewer 18"
|
||||||
|
AUTOINSTALL_EXE="${AUTOINSTALL_UNPACK}/T-FLEX Viewer 18.msi"
|
||||||
|
|
||||||
|
if try_download "https://www.tflex.ru/downloads/V18/T-FLEX%20Viewer%2018.zip" "${AUTOINSTALL_ZIP}" ; then
|
||||||
|
unpack "${AUTOINSTALL_ZIP}" "${AUTOINSTALL_DIR}"
|
||||||
|
try_remove_file "${AUTOINSTALL_ZIP}"
|
||||||
|
|
||||||
|
wine_run_install "${AUTOINSTALL_EXE}" /q
|
||||||
|
try_remove_dir "${AUTOINSTALL_UNPACK}"
|
||||||
|
|
||||||
|
WIN_FILE_EXEC="$DRIVE_C/Program Files/T-FLEX Viewer 18/Program/TFlexViewer.exe"
|
||||||
|
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
|
||||||
|
fi
|
||||||
@@ -1,28 +1,24 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# info_ru: Компоненты сервисов поддержки T-FLEX 17
|
# info_ru: Компоненты сервисов поддержки T-FLEX 17 и 18
|
||||||
########################################################################
|
########################################################################
|
||||||
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="tflex17_pfx_x64_v02"
|
export BASE_PFX="tflex_pfx_x64_v03"
|
||||||
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 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"
|
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"
|
|
||||||
|
|
||||||
# Компоненты поддержки T-FLEX PLM (Windows)
|
AUTOINSTALL_EXE_ADE2007="$AUTOINSTALL_DIR_LIN/Components/AccessDatabaseEngine.exe"
|
||||||
AUTOINSTALL_ZIP_WIN="$WH_TMP_DIR/T-FLEX 17 Prerequisites.zip"
|
AUTOINSTALL_EXE_TSC2="$AUTOINSTALL_DIR_LIN/Components/Setup_TSC2.msi"
|
||||||
AUTOINSTALL_DIR_WIN="$WH_TMP_DIR/Компоненты поддержки T-FLEX 17"
|
AUTOINSTALL_EXE_VC_X86="$AUTOINSTALL_DIR_LIN/Components/vc_redist.x86.exe"
|
||||||
AUTOINSTALL_EXE_WIN1="$AUTOINSTALL_DIR_WIN/Access Database Engine 2007/AccessDatabaseEngine.exe"
|
AUTOINSTALL_EXE_VC_X64="$AUTOINSTALL_DIR_LIN/Components/vc_redist.x64.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
|
||||||
|
|
||||||
@@ -42,11 +38,8 @@ 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
|
||||||
# Компоненты поддержки T-FLEX PLM (Linux)
|
try_download "https://www.tflex.ru/downloads/Prerequisites_T-FLEX_Linux.zip" "${AUTOINSTALL_ZIP_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"
|
||||||
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 уже установлен в системе."
|
||||||
@@ -55,14 +48,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"
|
|
||||||
|
|
||||||
wine_run_install "$AUTOINSTALL_EXE_WIN_MSI/AceRedist.msi" /q
|
unpack "$AUTOINSTALL_EXE_ADE2007" "$AUTOINSTALL_DIR_LIN/ADE2007"
|
||||||
wine_run_install "$AUTOINSTALL_EXE_WIN2" /q
|
wine_run_install "$AUTOINSTALL_DIR_LIN/ADE2007/AceRedist.msi" /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"
|
||||||
|
|
||||||
@@ -74,9 +67,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"64 regedit "$AUTOINSTALL_DIR_LIN/Components/ado-64.reg"
|
"$WINELOADER" 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 \
|
||||||
@@ -98,14 +91,12 @@ 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
|
||||||
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 |
BIN
image/ksamu.png
Normal file
|
After Width: | Height: | Size: 5.0 KiB |
BIN
image/nettest_client.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
image/nettest_server.png
Normal file
|
After Width: | Height: | Size: 4.7 KiB |
39
manualinstall/nettest
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
#!/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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
#!/usr/bin/env bash
|
#!/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 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="tflex17_pfx_x64_v02"
|
export BASE_PFX="tflex_pfx_x64_v03"
|
||||||
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-cad17.whdb"
|
source "$WH_DB_DIR/t-flex-cad.whdb"
|
||||||
|
|
||||||
wine_run_install "$2"
|
wine_run_install "$2"
|
||||||
else
|
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
|
||||||
@@ -5,6 +5,7 @@
|
|||||||
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
|
||||||
|
|
||||||
@@ -170,13 +171,9 @@ 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
|
||||||
|
|
||||||
f4cb2f380ad8887f334c6eb3c272b343ae8de327764945266e9e74f8acbac69f tflex17_pfx_x64_v01.tar.xz
|
68ad589a3e6d8a845c2e3bd4c2672cf97982b3fea0ca4b4f2fb6da126d8b3075 tflex_pfx_x64_v03.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 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
|
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)
|
||||||
@@ -211,12 +208,18 @@ 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
|
||||||
|
|
||||||
25e277c7afa4a9afc5f013cb05f872c12a7f381c4f0503a423dcacccca9a14c6 scadaoffice_pfx_x64_v03.tar.xz
|
8c6312f2e4e846a98ca4a87fc90ee1917eb28d4caaddde040fb4d2dd05f8c0fe scadaoffice_pfx_x64_v05.tar.xz
|
||||||
# create with wine_x_tkg_10-0_i586 (universal user: xuser)
|
# 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
|
# 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
|
||||||
# create with wine_x_tkg_10-0_i586 (universal user: xuser)
|
# create with wine_x_tkg_10-0_i586 (universal user: xuser)
|
||||||
# winetricks vcrun2005 vcrun2008 dotnet20sp2 dotnet40 mfc42 7zip
|
# winetricks vcrun2005 vcrun2008 dotnet20sp2 dotnet40 mfc42 7zip
|
||||||
|
|
||||||
|
f18864014fdb2fead0b45b5e70e95073072b89168df8cd6debba89081ac51a2a ksamu_pfx_x64_v01.tar.xz
|
||||||
|
# create with wine_x_tkg_10-0_i586 (universal user: xuser)
|
||||||
|
# winetricks msxml6 msxml4 msxml3 riched30 msls31 riched20 msftedit richtx32 fontsmooth=gray
|
||||||
|
# + manuall installed riched32
|
||||||
|
|||||||
17
testinstall/ksamu
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# info_ru: Программа “КСАМУ”.
|
||||||
|
########################################################################
|
||||||
|
export PROG_URL="https://docs.medicine-it.ru/"
|
||||||
|
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||||
|
export WINEPREFIX="ksamu"
|
||||||
|
export PROG_NAME="КСАМУ"
|
||||||
|
export PROG_ICON="ksamu"
|
||||||
|
export BASE_PFX="ksamu_pfx_x64_v01"
|
||||||
|
export WINEARCH="win64"
|
||||||
|
export INSTALL_DLL="richtx32 riched20 riched30 msls31 msftedit msxml6 msxml3 msxml4 fontsmooth=gray" #riched32
|
||||||
|
export WH_USE_EXTRA_FONTS="1"
|
||||||
|
export WH_WINDOWS_VER="7"
|
||||||
|
|
||||||
|
prepair_wine
|
||||||
|
|
||||||
|
create_desktop "$PROG_NAME" "$DRIVE_C/KSAMU/KSAMU.exe" "$PROG_ICON"
|
||||||
78
testinstall/scadoffice
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# info_ru: SCAD Office — это программный комплекс для расчёта строительных конструкций.
|
||||||
|
########################################################################
|
||||||
|
export PROG_URL="https://scadoffice.ru"
|
||||||
|
export WH_WINE_USE="wine-8.8-staging-amd64"
|
||||||
|
export WINEPREFIX="scadoffice"
|
||||||
|
export PROG_NAME="SCAD Office"
|
||||||
|
export PROG_ICON="scadoffice"
|
||||||
|
export BASE_PFX="none"
|
||||||
|
export WH_WINDOWS_VER="10"
|
||||||
|
export WINEARCH="win64"
|
||||||
|
export INSTALL_DLL="dotnet48 gdiplus vcrun6sp6 vcrun2005 vcrun2019 d3dx11_42 d3dx11_43 d3dx9 d3dcompiler_42 d3dcompiler_43 d3dcompiler_46 d3dcompiler_47 richtx32 riched30 riched20 msxml6" #dotnet20
|
||||||
|
export WH_XDG_OPEN="rtf"
|
||||||
|
|
||||||
|
AUTOINSTALL_EXE="${WH_TMP_DIR}/SCADOffice_installer.exe"
|
||||||
|
SCADOFFICE_ADDONS_URL="https://cloud.linux-gaming.ru/portproton/scadoffice_addons_v02.tar.xz"
|
||||||
|
|
||||||
|
prepair_wine
|
||||||
|
|
||||||
|
DRIVE_C_SCADOFFICE="$DRIVE_C/SCAD Soft/SCADOffice/64"
|
||||||
|
|
||||||
|
if [[ -n $2 ]] ; then
|
||||||
|
if [[ ! -d "$DRIVE_C_SCADOFFICE" ]] ; then
|
||||||
|
fatal "Перезапустите скрипт без дополнительных аргументов для установки SCAD Office:
|
||||||
|
winehelper install scadoffice"
|
||||||
|
elif [[ ! -f "$2" ]] ; then
|
||||||
|
fatal "Перезапустите скрипт с правильным путем до файла лицензии SCAD Office:
|
||||||
|
winehelper install scadoffice \"/путь/до/файла.exe\""
|
||||||
|
else
|
||||||
|
print_info "Устанавливаем файл лицензии $2"
|
||||||
|
wine_run "$2"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if try_download "https://scadhelp.ru/files/10/download" "${AUTOINSTALL_EXE}" ; then
|
||||||
|
create_new_dir "$DRIVE_C/SDATA"
|
||||||
|
create_new_dir "$DRIVE_C/SWORK"
|
||||||
|
wine_run_install "$AUTOINSTALL_EXE"
|
||||||
|
# try_remove_file "$AUTOINSTALL_EXE"
|
||||||
|
fi
|
||||||
|
|
||||||
|
print_info "Установка дополнительных компонентов..."
|
||||||
|
|
||||||
|
ADDONS_PACK="${WH_TMP_DIR}/$(basename "$SCADOFFICE_ADDONS_URL")"
|
||||||
|
|
||||||
|
if try_download "$SCADOFFICE_ADDONS_URL" "$ADDONS_PACK" ; then
|
||||||
|
ADDONS_PATH="${WH_TMP_DIR}/scadoffice_addons"
|
||||||
|
create_new_dir "$ADDONS_PATH"
|
||||||
|
unpack "$ADDONS_PACK" "$ADDONS_PATH"
|
||||||
|
# try_remove_file "$ADDONS_PACK"
|
||||||
|
|
||||||
|
# Установка ODBC
|
||||||
|
try_remove_dir "${DRIVE_C}/Program Files/Common Files/System"
|
||||||
|
cp -r "${ADDONS_PATH}/mdac64/System" "${DRIVE_C}/Program Files/Common Files/" || fatal
|
||||||
|
cp -r "${ADDONS_PATH}/mdac64"/*.* "${DRIVE_C}/windows/system32/" || fatal
|
||||||
|
|
||||||
|
# Установка SSH
|
||||||
|
cp -r "${ADDONS_PATH}/OpenSSH" "${DRIVE_C}/windows/system32/" || fatal
|
||||||
|
|
||||||
|
# Применение .reg файлов для изменения реестра
|
||||||
|
wine_run "${ADDONS_PATH}/mdac64"/*.reg
|
||||||
|
wine_run "${ADDONS_PATH}/REG"/*.reg
|
||||||
|
|
||||||
|
try_remove_dir "$ADDONS_PATH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Определение всех программ, значков и исполняемых файлов
|
||||||
|
declare -a PROG_NAME_All=("Арбат" "Вест" "Глобальные настройки" "Декор" "Дискретная арматура" "Запрос" "Камин" "КоКон" "Комета" "Конструктор сечений" "Консул" "Конфигуратор лицензий" "Кристалл" "Кросс" "Куст" "Магнум" "Монолит" "Откос" "Пастернак" "Преобразование ед. измерений" "Cортамент металлопроката" "Расчет по формуле" "Редактор акселерограмм" "Редактор динамичности" "Редактор материалов" "Тонус" "Эквивалентное сечение" "SCAD++")
|
||||||
|
|
||||||
|
declare -a PROG_ICON_ALL=("arbat" "west" "globalsettings" "decor" "rebar" "underground" "comein" "cocon" "comet" "section" "consul" "configprotection" "kristall" "cross" "kust" "magnum" "monolit" "slope" "pasternak" "ucalc" "viewprof" "scalc" "acceledit" "betaedit" "materialsedit" "tonus" "sezam" "scadx")
|
||||||
|
|
||||||
|
declare -a WIN_FILE_EXEC=("${DRIVE_C_SCADOFFICE}/Arbat.exe" "${DRIVE_C_SCADOFFICE}/West.exe" "${DRIVE_C_SCADOFFICE}/GlobalSettings.exe" "${DRIVE_C_SCADOFFICE}/Decor.exe" "${DRIVE_C_SCADOFFICE}/ReBar.exe" "${DRIVE_C_SCADOFFICE}/UnderGround.exe" "${DRIVE_C_SCADOFFICE}/ComeIn.exe" "${DRIVE_C_SCADOFFICE}/CoCon.exe" "${DRIVE_C_SCADOFFICE}/Comet2.exe" "${DRIVE_C_SCADOFFICE}/Section.exe" "${DRIVE_C_SCADOFFICE}/Consul.exe" "${DRIVE_C_SCADOFFICE}/ConfigProtection.exe" "${DRIVE_C_SCADOFFICE}/Kristall.exe" "${DRIVE_C_SCADOFFICE}/Cross.exe" "${DRIVE_C_SCADOFFICE}/Kust2.exe" "${DRIVE_C_SCADOFFICE}/Magnum.exe" "${DRIVE_C_SCADOFFICE}/Monolit.exe" "${DRIVE_C_SCADOFFICE}/Slope.exe" "${DRIVE_C_SCADOFFICE}/Pasternak.exe" "${DRIVE_C_SCADOFFICE}/UCalc.exe" "${DRIVE_C_SCADOFFICE}/ViewProf.exe" "${DRIVE_C_SCADOFFICE}/SCalc.exe" "${DRIVE_C_SCADOFFICE}/AccelEdit.exe" "${DRIVE_C_SCADOFFICE}/BetaEdit.exe" "${DRIVE_C_SCADOFFICE}/MaterialsEdit.exe" "${DRIVE_C_SCADOFFICE}/Tonus.exe" "${DRIVE_C_SCADOFFICE}/Sezam.exe" "${DRIVE_C_SCADOFFICE}/SCADX.exe")
|
||||||
|
|
||||||
|
# Цикл создания десктоп файлов для scad office
|
||||||
|
for i in "${!PROG_NAME_All[@]}"; do
|
||||||
|
create_desktop "${PROG_NAME_All[i]}" "${WIN_FILE_EXEC[i]}" "${PROG_ICON_ALL[i]}" "nocopy"
|
||||||
|
done
|
||||||
444
winehelper
@@ -7,7 +7,7 @@ if [[ $(id -u) -eq 0 ]] ; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
##### DEFAULT PATH #####
|
##### DEFAULT PATH #####
|
||||||
export SCRIPT_NAME USER_WORK_PATH RUN_SCRIPT DATA_PATH CHANGELOG_FILE WH_ICON_PATH LICENSE_FILE AGREEMENT THIRD_PARTY_FILE
|
export SCRIPT_NAME USER_WORK_PATH RUN_SCRIPT DATA_PATH CHANGELOG_FILE WH_ICON_PATH LICENSE_FILE AGREEMENT THIRD_PARTY_FILE WH_ICON_TRAY GENERAL
|
||||||
|
|
||||||
SCRIPT_NAME="$(basename "$0")"
|
SCRIPT_NAME="$(basename "$0")"
|
||||||
if [[ "$(realpath "$0")" == "/usr/bin/$SCRIPT_NAME" ]] ; then
|
if [[ "$(realpath "$0")" == "/usr/bin/$SCRIPT_NAME" ]] ; then
|
||||||
@@ -16,11 +16,13 @@ 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="$DATA_PATH/image/gui/winehelper.svg"
|
WH_ICON_PATH="/usr/share/icons/hicolor/scalable/apps/winehelper.svg"
|
||||||
|
WH_ICON_TRAY="/usr/share/icons/hicolor/symbolic/apps/winehelper-symbolic.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"
|
||||||
THIRD_PARTY_FILE="/usr/share/doc/winehelper-$WH_VERSION/THIRD-PARTY"
|
THIRD_PARTY_FILE="/usr/share/doc/winehelper-$WH_VERSION/THIRD-PARTY"
|
||||||
|
GENERAL="/usr/share/doc/winehelper-$WH_VERSION/GENERAL"
|
||||||
else
|
else
|
||||||
# переменные для тестового запуска WineHelper из репозитория
|
# переменные для тестового запуска WineHelper из репозитория
|
||||||
USER_WORK_PATH="$HOME/test-$SCRIPT_NAME"
|
USER_WORK_PATH="$HOME/test-$SCRIPT_NAME"
|
||||||
@@ -28,9 +30,12 @@ else
|
|||||||
DATA_PATH="$(dirname "$RUN_SCRIPT")"
|
DATA_PATH="$(dirname "$RUN_SCRIPT")"
|
||||||
CHANGELOG_FILE="$DATA_PATH/CHANGELOG"
|
CHANGELOG_FILE="$DATA_PATH/CHANGELOG"
|
||||||
WH_ICON_PATH="$DATA_PATH/image/gui/winehelper-devel.svg"
|
WH_ICON_PATH="$DATA_PATH/image/gui/winehelper-devel.svg"
|
||||||
|
WH_ICON_TRAY="$DATA_PATH/image/gui/winehelper-symbolic.svg"
|
||||||
LICENSE_FILE="$DATA_PATH/LICENSE"
|
LICENSE_FILE="$DATA_PATH/LICENSE"
|
||||||
AGREEMENT="$DATA_PATH/LICENSE_AGREEMENT"
|
AGREEMENT="$DATA_PATH/LICENSE_AGREEMENT"
|
||||||
THIRD_PARTY_FILE="$DATA_PATH/THIRD-PARTY"
|
THIRD_PARTY_FILE="$DATA_PATH/THIRD-PARTY"
|
||||||
|
GENERAL="$DATA_PATH/GENERAL"
|
||||||
|
WH_DEVEL="1"
|
||||||
|
|
||||||
# минимальная проверка синтаксиса скриптов
|
# минимальная проверка синтаксиса скриптов
|
||||||
for self_check_script in "$RUN_SCRIPT" \
|
for self_check_script in "$RUN_SCRIPT" \
|
||||||
@@ -49,21 +54,21 @@ fi
|
|||||||
|
|
||||||
##### MESSAGES FUNCTIONS #####
|
##### MESSAGES FUNCTIONS #####
|
||||||
if [[ $WH_USE_GUI != "1" ]] ; then
|
if [[ $WH_USE_GUI != "1" ]] ; then
|
||||||
print_error () { printf "\E[31m%s Ошибка: $@ %s\e[0m\n" ;}
|
print_error () { printf "\E[31m%s Ошибка: $* %s\e[0m\n" ;}
|
||||||
print_warning () { printf "\E[33m%s Предупреждение: $@ %s\e[0m\n" ;}
|
print_warning () { printf "\E[33m%s Предупреждение: $* %s\e[0m\n" ;}
|
||||||
print_info () { printf "\E[36m%s Информация: \"$@\" %s\e[0m\n" ;}
|
print_info () { printf "\E[36m%s Информация: \"$*\" %s\e[0m\n" ;}
|
||||||
print_ok () { printf "\E[35m%s Успех: $@ %s\e[0m\n" ;}
|
print_ok () { printf "\E[35m%s Успех: $* %s\e[0m\n" ;}
|
||||||
else
|
else
|
||||||
print_error () { echo -e "Ошибка: $@" ;}
|
print_error () { echo -e "Ошибка: $*" ;}
|
||||||
print_warning () { echo -e "Предупреждение: $@" ;}
|
print_warning () { echo -e "Предупреждение: $*" ;}
|
||||||
print_info () { echo -e "Информация: \"$@\"" ;}
|
print_info () { echo -e "Информация: \"$*\"" ;}
|
||||||
print_ok () { echo -e "Успех: $@" ;}
|
print_ok () { echo -e "Успех: $*" ;}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
print_var () { for vp in $@ ; do echo "${vp}=${!vp}" ; done ;}
|
print_var () { for vp in $@ ; do echo "${vp}=${!vp}" ; done ;}
|
||||||
|
|
||||||
fatal () {
|
fatal () {
|
||||||
print_error "$@"
|
print_error "$@ Аварийное завершение работы WineHelper!"
|
||||||
[[ -n "$WINESERVER" ]] && "$WINESERVER" -w
|
[[ -n "$WINESERVER" ]] && "$WINESERVER" -w
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
@@ -101,14 +106,6 @@ else
|
|||||||
check_variables DXVK_NVAPI_LOG_LEVEL "none"
|
check_variables DXVK_NVAPI_LOG_LEVEL "none"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ $WINEDEBUG != "-all" ]] ; then
|
|
||||||
export LOG_FILE="$HOME/winehelper.log"
|
|
||||||
date > "$LOG_FILE"
|
|
||||||
print_warning "Включен режим логирования работы WINE."
|
|
||||||
print_warning "Лог будет сохранен по пути: $LOG_FILE"
|
|
||||||
sleep 3
|
|
||||||
fi
|
|
||||||
|
|
||||||
##### WINETRICKS VERSION #####
|
##### WINETRICKS VERSION #####
|
||||||
WINETRICKS_VERSION="20250102"
|
WINETRICKS_VERSION="20250102"
|
||||||
|
|
||||||
@@ -126,6 +123,12 @@ 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"
|
||||||
|
|
||||||
@@ -155,6 +158,7 @@ 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 ""
|
||||||
|
|
||||||
@@ -162,12 +166,10 @@ check_variables WINE_WIN_START "start /wait /high /unix"
|
|||||||
|
|
||||||
check_variables WINE_CPU_TOPOLOGY "8"
|
check_variables WINE_CPU_TOPOLOGY "8"
|
||||||
|
|
||||||
check_variables USE_RENDERER "opengl" # opengl, damavand, proton
|
check_variables DXVK_VER "none"
|
||||||
|
|
||||||
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 "1.1-2602"
|
check_variables VKD3D_VER "none"
|
||||||
# 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"
|
||||||
|
|
||||||
@@ -326,6 +328,7 @@ unpack () {
|
|||||||
try_get_page () {
|
try_get_page () {
|
||||||
local url_page="$1"
|
local url_page="$1"
|
||||||
export OUT_PAGE_TMP="${WH_TMP_DIR}/url_page.tmp"
|
export OUT_PAGE_TMP="${WH_TMP_DIR}/url_page.tmp"
|
||||||
|
try_remove_file "$OUT_PAGE_TMP"
|
||||||
print_info "Чтение страницы: $url_page"
|
print_info "Чтение страницы: $url_page"
|
||||||
if ! curl -o "$OUT_PAGE_TMP" -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "$url_page" \
|
if ! curl -o "$OUT_PAGE_TMP" -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "$url_page" \
|
||||||
|| grep -q "Forbidden" "$OUT_PAGE_TMP"
|
|| grep -q "Forbidden" "$OUT_PAGE_TMP"
|
||||||
@@ -342,7 +345,6 @@ read_page () {
|
|||||||
&& [[ -f "$OUT_PAGE_TMP" ]]
|
&& [[ -f "$OUT_PAGE_TMP" ]]
|
||||||
then
|
then
|
||||||
cat "$OUT_PAGE_TMP"
|
cat "$OUT_PAGE_TMP"
|
||||||
try_remove_file "$OUT_PAGE_TMP"
|
|
||||||
unset OUT_PAGE_TMP
|
unset OUT_PAGE_TMP
|
||||||
else
|
else
|
||||||
echo "Используй try_get_page перед read_page"
|
echo "Используй try_get_page перед read_page"
|
||||||
@@ -395,10 +397,14 @@ print_license_agreement () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try_download () {
|
try_download () {
|
||||||
if [[ $WH_USE_GUI == "1" ]] \
|
if [[ $1 != "cloud" ]] ; then
|
||||||
&& [[ $(ps -o command= -p "$PPID" | awk '{print $2}') =~ "$DATA_PATH/winehelper_gui.py" ]]
|
if [[ $WH_USE_GUI == "1" ]] \
|
||||||
then print_ok "Соглашения приняты из графического интерфейса."
|
&& [[ $(ps -o command= -p "$PPID" | awk '{print $2}') =~ "$DATA_PATH/winehelper_gui.py" ]]
|
||||||
else print_license_agreement
|
then print_ok "Соглашения приняты из графического интерфейса."
|
||||||
|
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}"
|
||||||
@@ -474,6 +480,10 @@ var_winedlloverride_update () {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tmp_winedlloverride_update () {
|
||||||
|
var_winedlloverride_update "$1"
|
||||||
|
}
|
||||||
|
|
||||||
var_dxvk_config_update () {
|
var_dxvk_config_update () {
|
||||||
if [[ -n "${DXVK_CONFIG}" ]]
|
if [[ -n "${DXVK_CONFIG}" ]]
|
||||||
then export DXVK_CONFIG="${1};${DXVK_CONFIG}"
|
then export DXVK_CONFIG="${1};${DXVK_CONFIG}"
|
||||||
@@ -542,8 +552,6 @@ create_desktop () {
|
|||||||
if [[ -z "$name_desktop" ]] || [[ -z "$exe_file" ]] ; then
|
if [[ -z "$name_desktop" ]] || [[ -z "$exe_file" ]] ; then
|
||||||
fatal "Использование: $0 desktop \"Имя ярлыка\" \"/путь/к/файлу.exe\" [иконка|auto] [имя_desktop_файла]"
|
fatal "Использование: $0 desktop \"Имя ярлыка\" \"/путь/к/файлу.exe\" [иконка|auto] [имя_desktop_файла]"
|
||||||
elif [[ ! -f "$exe_file" ]] ; then
|
elif [[ ! -f "$exe_file" ]] ; then
|
||||||
print_warning "Для создания ярлыка не найден исполняемый файл: $exe_file"
|
|
||||||
|
|
||||||
local BASENAME_EXE="$(basename "$exe_file")"
|
local BASENAME_EXE="$(basename "$exe_file")"
|
||||||
print_info "Запускаем поиск $BASENAME_EXE"
|
print_info "Запускаем поиск $BASENAME_EXE"
|
||||||
local FIND_PATH
|
local FIND_PATH
|
||||||
@@ -554,9 +562,11 @@ create_desktop () {
|
|||||||
exe_file="$(find "$FIND_PATH" -type f -not -type l \
|
exe_file="$(find "$FIND_PATH" -type f -not -type l \
|
||||||
-not -path "*/windows/*" -not -path "*/dosdevices/*" \
|
-not -path "*/windows/*" -not -path "*/dosdevices/*" \
|
||||||
-iname "$BASENAME_EXE")"
|
-iname "$BASENAME_EXE")"
|
||||||
if [[ -z "$exe_file" ]] || [[ ! -f "$exe_file" ]]
|
if [[ -z "$exe_file" ]] || [[ ! -f "$exe_file" ]] ; then
|
||||||
then fatal "Для создания ярлыка не найден исполняемый файл: $BASENAME_EXE"
|
print_error "Для создания ярлыка не найден исполняемый файл: $BASENAME_EXE"
|
||||||
else print_ok "Исполняемый файл $BASENAME_EXE найден по пути: $(dirname "$exe_file")/"
|
return 1
|
||||||
|
else
|
||||||
|
print_ok "Исполняемый файл $BASENAME_EXE найден по пути: $(dirname "$exe_file")/"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -694,9 +704,11 @@ 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 -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
|
| awk '{$1=$1;print}' >> "$exe_file".whdb
|
||||||
|
|
||||||
print_info "Создан файл настроек для $exe_file"
|
print_info "Создан файл настроек для $exe_file"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -760,31 +772,25 @@ run_installed_programs () {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
init_wined3d () {
|
copy_wined3d () {
|
||||||
if [[ "$USE_RENDERER" != "proton" ]] ; then
|
for wined3dfiles in $1 ; do
|
||||||
WINED3D_FILES="d3d8 d3d9 d3d10_1 d3d10 d3d10core d3d11 dxgi d3d12 d3d12core"
|
try_copy_wine_dll_to_pfx_64 "$wined3dfiles.dll"
|
||||||
for wined3dfiles in $WINED3D_FILES ; do
|
try_copy_wine_dll_to_pfx_32 "$wined3dfiles.dll"
|
||||||
try_copy_wine_dll_to_pfx_64 "$wined3dfiles.dll"
|
done
|
||||||
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 () {
|
||||||
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() {
|
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 "$DXVK_URL" "$DXVK_PACKAGE" check256sum \
|
if try_download cloud "$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"
|
||||||
@@ -793,36 +799,37 @@ init_dxvk () {
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
for DXVK_VAR_VER in "$USE_DXVK_VER" $@ ; do
|
if [[ ! -d "${WH_VULKAN_LIBDIR}/${DXVK_VER}" ]] ; then
|
||||||
if [[ ! -d "${WH_VULKAN_LIBDIR}/${DXVK_VAR_VER}" ]] ; then
|
get_dxvk "$CLOUD_URL/${DXVK_VER}.tar.xz" "$DXVK_VER"
|
||||||
get_dxvk "$CLOUD_URL/${DXVK_VAR_VER}.tar.xz" "$DXVK_VAR_VER"
|
fi
|
||||||
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"
|
||||||
try_copy_wine_dll_to_pfx_64 "dxgi.dll"
|
copy_wined3d "dxgi"
|
||||||
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}/${USE_DXVK_VER}/x64/$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}/${USE_DXVK_VER}/x32/$dxvkfiles.dll"
|
if try_copy_other_dll_to_pfx_32 "${WH_VULKAN_LIBDIR}/${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 () {
|
||||||
check_variables USE_VKD3D_VER "$1"
|
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 "$VKD3D_URL" "$VKD3D_PACKAGE" check256sum \
|
if try_download cloud "$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"
|
||||||
@@ -831,16 +838,14 @@ init_vkd3d () {
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
for VKD3D_VAR_VER in "$USE_VKD3D_VER" $@ ; do
|
if [[ ! -d "${WH_VULKAN_LIBDIR}/${VKD3D_VER}" ]] ; then
|
||||||
if [[ ! -d "${WH_VULKAN_LIBDIR}/${VKD3D_VAR_VER}" ]] ; then
|
get_vkd3d "$CLOUD_URL/${VKD3D_VER}.tar.xz" "$VKD3D_VER"
|
||||||
get_vkd3d "$CLOUD_URL/${VKD3D_VAR_VER}.tar.xz" "$VKD3D_VAR_VER"
|
fi
|
||||||
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}/${USE_VKD3D_VER}/x64/$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}/${USE_VKD3D_VER}/x86/$vkd3dfiles.dll"
|
if try_copy_other_dll_to_pfx_32 "${WH_VULKAN_LIBDIR}/${VKD3D_VER}/x86/$vkd3dfiles.dll"
|
||||||
then var_winedlloverride_update "$vkd3dfiles=n"
|
then var_winedlloverride_update "$vkd3dfiles=n"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
@@ -855,7 +860,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 "$download_url" "$wine_package" "check256sum"
|
try_download cloud "$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"
|
||||||
|
|
||||||
@@ -908,7 +913,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 "$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"
|
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/"
|
||||||
@@ -1111,6 +1116,11 @@ 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" ]]
|
||||||
@@ -1179,6 +1189,7 @@ 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
|
||||||
@@ -1201,13 +1212,19 @@ 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"
|
||||||
@@ -1269,7 +1286,8 @@ 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 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 \
|
||||||
|
WH_USE_CPCSP_PROXY
|
||||||
do
|
do
|
||||||
echo "export $var=\"${!var}\"" >> "$WINEPREFIX/last.conf"
|
echo "export $var=\"${!var}\"" >> "$WINEPREFIX/last.conf"
|
||||||
done
|
done
|
||||||
@@ -1319,7 +1337,8 @@ use_winetricks () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
kill_wine () {
|
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
|
for pw_kill_pids in ${wine_pids}; do
|
||||||
if ps cax | grep "${pw_kill_pids}" ; then
|
if ps cax | grep "${pw_kill_pids}" ; then
|
||||||
@@ -1329,29 +1348,31 @@ kill_wine () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
init_database () {
|
init_database () {
|
||||||
WHDB_FILE="0"
|
local whdb_file="0"
|
||||||
if [[ -f "$WIN_FILE_EXEC" ]] ; then
|
if [[ -n "$WIN_FILE_EXEC" ]] \
|
||||||
|
&& [[ -f "$WIN_FILE_EXEC" ]]
|
||||||
|
then
|
||||||
WHDB="$(basename "$WIN_FILE_EXEC" .exe)"
|
WHDB="$(basename "$WIN_FILE_EXEC" .exe)"
|
||||||
if [[ -f "$WIN_FILE_EXEC".whdb ]] ; then
|
if [[ -f "$WIN_FILE_EXEC".whdb ]] ; then
|
||||||
WHDB_FILE="$WIN_FILE_EXEC".whdb
|
whdb_file="$WIN_FILE_EXEC".whdb
|
||||||
else
|
else
|
||||||
orig_IFS="$IFS" && IFS=$'\n'
|
orig_IFS="$IFS" && IFS=$'\n'
|
||||||
if WH_FIND_DB_FILE="$(grep -ilw "#$WHDB.exe" "$WH_DB_DIR"/* )" ; then
|
if WH_FIND_DB_FILE="$(grep -ilw "#$WHDB.exe" "$WH_DB_DIR"/* )" ; then
|
||||||
WHDB_FILE="$WH_FIND_DB_FILE"
|
whdb_file="$WH_FIND_DB_FILE"
|
||||||
fi
|
fi
|
||||||
IFS="$orig_IFS"
|
IFS="$orig_IFS"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$WHDB_FILE" != "0" ]] ; then
|
if [[ "$whdb_file" != "0" ]] ; then
|
||||||
print_info "Используется файл настроек: $WHDB_FILE"
|
print_info "Используется файл настроек: $whdb_file"
|
||||||
. "$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"
|
print_info "Найдены настройки из предыдущего использования префикса: $WINEPREFIX"
|
||||||
cat "$WINEPREFIX/last.conf"
|
cat "$WINEPREFIX/last.conf"
|
||||||
. "$WINEPREFIX/last.conf"
|
. "$WINEPREFIX/last.conf"
|
||||||
else
|
|
||||||
print_warning "Файл настроек не найден. Пропускаем."
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1360,53 +1381,99 @@ prepair_wine () {
|
|||||||
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"
|
||||||
}
|
}
|
||||||
|
|
||||||
wine_run () {
|
wine_regfile () {
|
||||||
if [[ $WINEARCH == "win32" ]] \
|
print_info "Запускаем команду: $WINELOADER $@"
|
||||||
&& file "$WIN_FILE_EXEC" | grep -q "x86-64"
|
"$WINELOADER" "$@" && print_ok "Выполнено." || fatal "Не выполнено: $WINELOADER $@"
|
||||||
then fatal "Нельзя запустить 64-битное приложение в 32-битном префиксе!"
|
|
||||||
fi
|
|
||||||
|
|
||||||
WIN_FILE_PATH="$(dirname "$WIN_FILE_EXEC")"
|
|
||||||
[[ -d "$WIN_FILE_PATH" ]] && cd "$WIN_FILE_PATH"
|
|
||||||
|
|
||||||
if [[ -n $LOG_FILE ]] && [[ -f "$LOG_FILE" ]] ; then
|
|
||||||
echo "##### Основные переменные #####" | tee -a "$LOG_FILE"
|
|
||||||
env | grep -e "WH_" -e "WINE" -e "DXVK" -e "VKD3D" | tee -a "$LOG_FILE"
|
|
||||||
|
|
||||||
echo "##### Лог WINE #####" | tee -a "$LOG_FILE"
|
|
||||||
$MANGOHUD_RUN "$WINELOADER" "$@" $LAUNCH_PARAMETERS 2>&1 | tee -a "$LOG_FILE"
|
|
||||||
else
|
|
||||||
$MANGOHUD_RUN "$WINELOADER" "$@" $LAUNCH_PARAMETERS
|
|
||||||
fi
|
|
||||||
wait_wineserver
|
wait_wineserver
|
||||||
|
|
||||||
|
if [[ "$WINEARCH" == "win64" ]] \
|
||||||
|
&& [[ -f "${WINELOADER}64" ]]
|
||||||
|
then
|
||||||
|
print_info "Запускаем команду: ${WINELOADER}64 $@"
|
||||||
|
"${WINELOADER}64" "$@" && print_ok "Выполнено." || fatal "Не выполнено: ${WINELOADER}64 $@"
|
||||||
|
wait_wineserver
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
wine_run () {
|
||||||
|
local wh_add_args win_file_exec win_file_path win_file_name
|
||||||
|
|
||||||
|
if [[ $1 =~ (winecfg|regedit|winefile|wineconsole) ]] ; then
|
||||||
|
win_file_exec="$1"
|
||||||
|
win_file_name="$win_file_exec"
|
||||||
|
win_file_path="$DRIVE_C"
|
||||||
|
wh_add_args=""
|
||||||
|
elif [[ $1 =~ \.dll$ ]] ; then
|
||||||
|
wine_regfile regsvr32 /s "$@"
|
||||||
|
return 0
|
||||||
|
elif [[ -f "$1" ]] ; then
|
||||||
|
win_file_exec="$(readlink -f "$1")"
|
||||||
|
win_file_path="$(dirname "$win_file_exec")"
|
||||||
|
win_file_name="$(basename "$win_file_exec")"
|
||||||
|
|
||||||
|
case "${win_file_name,,}" in
|
||||||
|
*.exe) wh_add_args="$WINE_WIN_START" ;;
|
||||||
|
*.msi) wh_add_args="msiexec /i" ;;
|
||||||
|
*.bat|*.cmd) wh_add_args="" ;;
|
||||||
|
*.reg) wine_regfile regedit "$@" ; return 0 ;;
|
||||||
|
*) fatal "Не удалось запустить файл $1. Проверьте расширение файла." ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [[ $WINEARCH == "win32" ]] \
|
||||||
|
&& file "$win_file_exec" | grep -q "x86-64"
|
||||||
|
then fatal "Нельзя запустить 64-битное приложение в 32-битном префиксе!"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
fatal "Команда введена не правильно или не найден исполняемый файл $1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
shift
|
||||||
|
cd "$win_file_path"
|
||||||
|
|
||||||
|
if [[ $WINEDEBUG != "-all" ]] ; then
|
||||||
|
local log_dir log_file
|
||||||
|
log_dir="$HOME/winehelper_backup_log"
|
||||||
|
log_file="$log_dir/${PREFIX_NAME}_${win_file_name%.*}.log"
|
||||||
|
create_new_dir "$log_dir"
|
||||||
|
date > "$log_file"
|
||||||
|
|
||||||
|
print_warning "Включен режим логирования работы WINE."
|
||||||
|
print_warning "Лог будет сохранен по пути: $log_file"
|
||||||
|
|
||||||
|
echo "##### Основные переменные #####" | tee -a "$log_file"
|
||||||
|
env | grep -e "WH_" -e "WINE" -e "DXVK" -e "VKD3D" | tee -a "$log_file"
|
||||||
|
echo "##### Лог WINE #####" | tee -a "$log_file"
|
||||||
|
|
||||||
|
$MANGOHUD_RUN "$WINELOADER" $wh_add_args "$win_file_exec" "$@" $LAUNCH_PARAMETERS 2>&1 | tee -a "$log_file"
|
||||||
|
else
|
||||||
|
$MANGOHUD_RUN "$WINELOADER" $wh_add_args "$win_file_exec" "$@" $LAUNCH_PARAMETERS
|
||||||
|
fi
|
||||||
|
|
||||||
|
wait_wineserver
|
||||||
|
cd "$DRIVE_C"
|
||||||
}
|
}
|
||||||
|
|
||||||
wine_run_install () {
|
wine_run_install () {
|
||||||
print_info "Запускаем установку: $1."
|
print_info "Запускаем установку: $1."
|
||||||
if [[ "$INSTALL_MODE" == "manual" ]]
|
case "$WH_INSTALL_MODE" in
|
||||||
then print_warning "Рекомендуется не менять пути для установки приложения!"
|
"manual") print_warning "Рекомендуется не менять пути для установки приложения!" ;;
|
||||||
fi
|
"test") print_warning "Установка приложения из списка экспериментальных скриптов." ;;
|
||||||
[[ ! -f "$1" ]] && fatal "Нет файла для установки: $1"
|
|
||||||
case "${1,,}" in
|
|
||||||
*.exe) wine_run $WINE_WIN_START "$@" ;;
|
|
||||||
*.msi) wine_run msiexec /i "$@" ;;
|
|
||||||
*.bat|*.cmd) wine_run "$@" ;;
|
|
||||||
*) fatal "Не удалось запустить файл $1. Проверьте расширение файла." ;;
|
|
||||||
esac
|
esac
|
||||||
wait_wineserver
|
|
||||||
|
if [[ ! -f "$1" ]]
|
||||||
|
then fatal "Нет файла для установки: $1"
|
||||||
|
else wine_run "$@"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
run_autoinstall () {
|
run_autoinstall () {
|
||||||
@@ -1424,48 +1491,57 @@ run_autoinstall () {
|
|||||||
elif [[ -f "$WH_MANUALINSTALL_DIR/$INSTALL_SCRIPT_NAME" ]] ; then
|
elif [[ -f "$WH_MANUALINSTALL_DIR/$INSTALL_SCRIPT_NAME" ]] ; then
|
||||||
INSTALL_SCRIPT="$WH_MANUALINSTALL_DIR/$INSTALL_SCRIPT_NAME"
|
INSTALL_SCRIPT="$WH_MANUALINSTALL_DIR/$INSTALL_SCRIPT_NAME"
|
||||||
WH_INSTALL_MODE="manual"
|
WH_INSTALL_MODE="manual"
|
||||||
elif [[ -d "$WH_TESTINSTALL_DIR" ]] \
|
elif [[ -f "$WH_TESTINSTALL_DIR/$INSTALL_SCRIPT_NAME" ]] ; then
|
||||||
&& [[ -f "$WH_TESTINSTALL_DIR/$INSTALL_SCRIPT_NAME" ]]
|
|
||||||
then
|
|
||||||
INSTALL_SCRIPT="$WH_TESTINSTALL_DIR/$INSTALL_SCRIPT_NAME"
|
INSTALL_SCRIPT="$WH_TESTINSTALL_DIR/$INSTALL_SCRIPT_NAME"
|
||||||
WH_INSTALL_MODE="test"
|
WH_INSTALL_MODE="test"
|
||||||
else
|
else
|
||||||
INSTALL_SCRIPT="0"
|
INSTALL_SCRIPT="0"
|
||||||
fi
|
fi
|
||||||
export INSTALL_SCRIPT INSTALL_MODE
|
export INSTALL_SCRIPT WH_INSTALL_MODE
|
||||||
|
|
||||||
if [[ $INSTALL_SCRIPT_NAME == "list" ]] || [[ -z "$INSTALL_SCRIPT_NAME" ]] ; then
|
if [[ $INSTALL_SCRIPT_NAME == "list" ]] || [[ -z "$INSTALL_SCRIPT_NAME" ]] ; then
|
||||||
|
|
||||||
list_install_scripts() {
|
print_install_list () {
|
||||||
local dir="$1"
|
parse_install_scripts() {
|
||||||
local title="$2"
|
local parse_dir="$1"
|
||||||
[[ ! -d "$dir" ]] || [[ -z "$(ls -A "$dir" 2>/dev/null)" ]] && return
|
[[ ! -d "$parse_dir" ]] || [[ -z "$(ls -A "$parse_dir" 2>/dev/null)" ]] && return
|
||||||
|
|
||||||
print_info "$title"
|
awk '
|
||||||
|
FNR==1 {
|
||||||
awk '
|
if (progname) {
|
||||||
FNR==1 {
|
printf "\n%s - %s\n%s\n", filename, progname, info
|
||||||
if (progname) {
|
}
|
||||||
printf "\n%s - %s\n%s\n", filename, progname, info
|
progname=""; info=""; filename=FILENAME
|
||||||
|
sub(".*/", "", filename)
|
||||||
}
|
}
|
||||||
progname=""; info=""; filename=FILENAME
|
/info_ru:/ { sub(/.*info_ru: /, ""); info=$0 }
|
||||||
sub(".*/", "", filename)
|
/PROG_NAME=/ { sub(/.*PROG_NAME=/, ""); progname=$0 }
|
||||||
}
|
END {
|
||||||
/info_ru:/ { sub(/.*info_ru: /, ""); info=$0 }
|
if (progname) {
|
||||||
/PROG_NAME=/ { sub(/.*PROG_NAME=/, ""); progname=$0 }
|
printf "\n%s - %s\n%s\n", filename, progname, info
|
||||||
END {
|
}
|
||||||
if (progname) {
|
|
||||||
printf "\n%s - %s\n%s\n", filename, progname, info
|
|
||||||
}
|
}
|
||||||
}
|
' "$parse_dir"/*
|
||||||
' "$dir"/*
|
echo
|
||||||
|
}
|
||||||
|
print_info "Список программ с возможностью автоматической установки:"
|
||||||
|
parse_install_scripts "$WH_AUTOINSTALL_DIR"
|
||||||
|
print_info "Список программ с возможностью установки из существующего дистрибутива:"
|
||||||
|
parse_install_scripts "$WH_MANUALINSTALL_DIR"
|
||||||
|
print_warning "Программы из списка экспериментальных скриптов:"
|
||||||
|
parse_install_scripts "$WH_TESTINSTALL_DIR"
|
||||||
}
|
}
|
||||||
|
|
||||||
list_install_scripts "$WH_AUTOINSTALL_DIR" "Список программ с возможностью автоматической установки:"
|
print_install_list | less -R --use-color
|
||||||
echo
|
|
||||||
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" "$@"
|
||||||
|
[[ -n $OUT_PAGE_TMP ]] && try_remove_file "$OUT_PAGE_TMP"
|
||||||
print_info "Завершена установка $INSTALL_SCRIPT_NAME"
|
print_info "Завершена установка $INSTALL_SCRIPT_NAME"
|
||||||
else
|
else
|
||||||
fatal "Скрипт автоматической установки для $INSTALL_SCRIPT_NAME не найден!"
|
fatal "Скрипт автоматической установки для $INSTALL_SCRIPT_NAME не найден!"
|
||||||
@@ -1755,6 +1831,7 @@ 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 "----------------------------------------------"
|
||||||
@@ -1770,6 +1847,7 @@ 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"
|
||||||
@@ -1813,9 +1891,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
|
||||||
|
|
||||||
@@ -1848,7 +1926,8 @@ 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="$(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_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)"
|
||||||
@@ -2127,20 +2206,21 @@ select_component_version() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
run_install_to_prefix() {
|
run_install_to_prefix() {
|
||||||
export WINEPREFIX="$1"
|
if [[ -z "$1" ]] || [[ -z "$2" ]] || [[ ! -f "$2" ]] ; then
|
||||||
local WIN_FILE_EXEC="$2"
|
|
||||||
|
|
||||||
if [[ -z "$WINEPREFIX" ]] || [[ -z "$WIN_FILE_EXEC" ]]; then
|
|
||||||
fatal "Использование: $SCRIPT_NAME install-to-prefix <имя_префикса> <путь_к_установщику>"
|
fatal "Использование: $SCRIPT_NAME install-to-prefix <имя_префикса> <путь_к_установщику>"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
export WINEPREFIX="$1"
|
||||||
|
shift
|
||||||
|
|
||||||
check_prefix_var
|
check_prefix_var
|
||||||
prepair_wine
|
prepair_wine
|
||||||
wine_run_install "$WIN_FILE_EXEC"
|
wine_run "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
run_install_dxvk() {
|
run_install_dxvk() {
|
||||||
local version="$1"
|
local version="$1"
|
||||||
|
|
||||||
if [[ -z "$version" ]] ; then
|
if [[ -z "$version" ]] ; then
|
||||||
version=$(select_component_version "DXVK")
|
version=$(select_component_version "DXVK")
|
||||||
[[ $? -ne 0 ]] && print_info "Установка DXVK отменена." && return
|
[[ $? -ne 0 ]] && print_info "Установка DXVK отменена." && return
|
||||||
@@ -2148,23 +2228,27 @@ run_install_dxvk() {
|
|||||||
list_component_versions "DXVK"
|
list_component_versions "DXVK"
|
||||||
return
|
return
|
||||||
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 [[ "$version" == "none" ]] ; then
|
|
||||||
print_info "Удаление DXVK..."
|
if [[ "$DXVK_VER" == "none" ]]
|
||||||
init_wined3d
|
then print_info "Удаление DXVK..."
|
||||||
update_last_conf_var "DXVK_VER" ""
|
else print_info "Установка DXVK: $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
|
||||||
}
|
}
|
||||||
|
|
||||||
run_install_vkd3d() {
|
run_install_vkd3d() {
|
||||||
local version="$1"
|
local version="$1"
|
||||||
|
|
||||||
if [[ -z "$version" ]] ; then
|
if [[ -z "$version" ]] ; then
|
||||||
version=$(select_component_version "VKD3D")
|
version=$(select_component_version "VKD3D")
|
||||||
[[ $? -ne 0 ]] && print_info "Установка VKD3D отменена." && return
|
[[ $? -ne 0 ]] && print_info "Установка VKD3D отменена." && return
|
||||||
@@ -2172,18 +2256,21 @@ run_install_vkd3d() {
|
|||||||
list_component_versions "VKD3D"
|
list_component_versions "VKD3D"
|
||||||
return
|
return
|
||||||
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 [[ "$version" == "none" ]] ; then
|
|
||||||
print_info "Удаление VKD3D..."
|
if [[ "$VKD3D_VER" == "none" ]]
|
||||||
init_wined3d
|
then print_info "Удаление VKD3D..."
|
||||||
update_last_conf_var "VKD3D_VER" ""
|
else print_info "Установка VKD3D: $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
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2201,9 +2288,7 @@ run_change_wine_version() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
init_wine_ver
|
init_wine_ver
|
||||||
|
|
||||||
init_wineprefix
|
init_wineprefix
|
||||||
|
|
||||||
wait_wineserver
|
wait_wineserver
|
||||||
print_ok "Версия Wine для префикса $PREFIX_NAME успешно изменена на $WH_WINE_USE."
|
print_ok "Версия Wine для префикса $PREFIX_NAME успешно изменена на $WH_WINE_USE."
|
||||||
}
|
}
|
||||||
@@ -2243,7 +2328,8 @@ create_new_dir "$WH_DIST_DIR"
|
|||||||
create_new_dir "$WH_PREFIXES_DIR"
|
create_new_dir "$WH_PREFIXES_DIR"
|
||||||
create_new_dir "$WH_VULKAN_LIBDIR"
|
create_new_dir "$WH_VULKAN_LIBDIR"
|
||||||
|
|
||||||
if [[ -d "$HOME/.local/share/$SCRIPT_NAME" ]] \
|
if [[ $WH_DEVEL != "1" ]] \
|
||||||
|
&& [[ -d "$HOME/.local/share/$SCRIPT_NAME" ]] \
|
||||||
&& [[ ! -L "$HOME/.winehelper" ]]
|
&& [[ ! -L "$HOME/.winehelper" ]]
|
||||||
then try_force_link_dir "$HOME/.local/share/$SCRIPT_NAME" "$HOME/.winehelper"
|
then try_force_link_dir "$HOME/.local/share/$SCRIPT_NAME" "$HOME/.winehelper"
|
||||||
fi
|
fi
|
||||||
@@ -2289,12 +2375,14 @@ case "$arg1" in
|
|||||||
WIN_FILE_EXEC="$(readlink -f "$arg1")"
|
WIN_FILE_EXEC="$(readlink -f "$arg1")"
|
||||||
WIN_FILE_NAME="$(basename "$WIN_FILE_EXEC")"
|
WIN_FILE_NAME="$(basename "$WIN_FILE_EXEC")"
|
||||||
find_prefix "$WIN_FILE_EXEC"
|
find_prefix "$WIN_FILE_EXEC"
|
||||||
case "${WIN_FILE_NAME,,}" in
|
prepair_wine
|
||||||
*.exe) prepair_wine ; wine_run $WINE_WIN_START "$WIN_FILE_EXEC" "$@" ;;
|
|
||||||
*.msi) prepair_wine ; wine_run msiexec /i "$WIN_FILE_EXEC" "$@" ;;
|
if [[ -n "$1" ]] && [[ -f "$1" ]] ; then
|
||||||
*.bat|*.cmd) prepair_wine ; wine_run start "$WIN_FILE_EXEC" "$@" ;;
|
WIN_OPEN_FILE="$("$WINELOADER" winepath -w "$1")"
|
||||||
*) fatal "Тип файла не поддерживается." ;;
|
shift
|
||||||
esac
|
fi
|
||||||
|
|
||||||
|
wine_run "$WIN_FILE_EXEC" "$@" "$WIN_OPEN_FILE"
|
||||||
else
|
else
|
||||||
print_error "Команды $arg1 не существует."
|
print_error "Команды $arg1 не существует."
|
||||||
wh_info
|
wh_info
|
||||||
|
|||||||