Compare commits
	
		
			101 Commits
		
	
	
		
			b1f192b2ff
			...
			devel
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 4afdbaa220 | ||
|  | 81013bfe71 | ||
|  | caccc333db | ||
|  | 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 | 
							
								
								
									
										28
									
								
								CHANGELOG
									
									
									
									
									
								
							
							
						
						| @@ -1,5 +1,33 @@ | ||||
| История изменений: | ||||
|  | ||||
| 0.7.0 | ||||
| * обновлен графический режим Qt5 | ||||
|     - добавлена кнопка открытия каталога с резервными копиями и логами | ||||
|     - добавлена кнопка открытия каталога с префиксом | ||||
|     - добавлена блокировка кнопок для установленного приложения, если оно уже запущено | ||||
|     - добавлено отображения процесса установки сторонних компонентов с помощью winetricks | ||||
|     - добавлена возможность отображения и установки тестовых скриптов (выключено по умолчанию) | ||||
| * добавлены скрипты установки для t-flex версии 18 | ||||
| * добавлен список тестовых скриптов установки ПО | ||||
| * добавлена возможность ассоциации файлов для передачи в приложения запускаемых в 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: | ||||
| * обновлен графический режим 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) | ||||
| @@ -4,7 +4,7 @@ _winehelper_completions() { | ||||
|     COMPREPLY=() | ||||
|     cur="${COMP_WORDS[COMP_CWORD]}" | ||||
|     prev="${COMP_WORDS[COMP_CWORD-1]}" | ||||
|     opts="--help --version --debug install installed install-dxvk install-vkd3d -r -i remove-all --clear-pfx killall remove-prefix backup-prefix restore-prefix create-prefix --changelog changelog change-wine" | ||||
|     opts="--help --version --debug install installed install-dxvk install-vkd3d -r -i remove-all --clear-pfx killall remove-prefix backup-prefix restore-prefix create-prefix --changelog changelog change-wine clear-winetricks-cache" | ||||
|     wine_cmd="winecfg winereg winefile wineconsole winetricks desktop regedit explorer cmd run" | ||||
|  | ||||
|     case "${prev}" in | ||||
|   | ||||
| @@ -21,6 +21,7 @@ _winehelper() { | ||||
|     'backup-prefix[Создать резерную копию префикса]' | ||||
|     'restore-prefix[восстановить префикс из резервной копии "путь/до/whpack"]' | ||||
|     'change-wine[Изменить версию Wine/Proton для префикса]' | ||||
|     'clear-winetricks-cache[Очистить кэш Winetricks]' | ||||
|   ) | ||||
|  | ||||
|   wine_cmd=( | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| #!/usr/bin/env bash | ||||
| # info_ru:  Сервис обновления ПО | ||||
| # info_ru:  Сервис обновления ПО: "R-Атлас", "R-Инфо" и "R-Тариф". | ||||
| ######################################################################## | ||||
| export PROG_URL="https://daobit.ru" | ||||
| export WH_WINE_USE="wine_x_tkg_10-0_i586" # wine-9.0.9-alt1-i586" | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| #!/usr/bin/env bash | ||||
| # info_ru: «Справки БК» — специальное программное обеспечение, предназначенное для заполнения справок о доходах, расходах, об имуществе и обязательствах имущественного характера. | ||||
| # info_ru: «Справки БК» (Windows версия 2.5.5) от 31.01.2024 — специальное программное обеспечение, предназначенное для заполнения справок о доходах, расходах, об имуществе и обязательствах имущественного характера. | ||||
| ######################################################################## | ||||
| export PROG_URL="https://spravki-bk.ru" | ||||
| 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_ICON="tflexcad" | ||||
| export WH_WINE_USE="wine_wh_tflex_10-9_amd64" | ||||
| export BASE_PFX="tflex17_pfx_x64_v02" | ||||
| export BASE_PFX="tflex_pfx_x64_v03" | ||||
| export WINEARCH="win64" | ||||
| export WH_WINDOWS_VER="10" | ||||
| export WINEPREFIX="tflex" | ||||
| @@ -14,7 +14,7 @@ export WH_USE_MESA_GL_OVERRIDE="1" | ||||
|  | ||||
| # используем общий whdb файл для подготовки префикса и сервисов | ||||
| # prepair_wine используется из файла настроек | ||||
| source "$WH_DB_DIR/t-flex-cad17.whdb" | ||||
| source "$WH_DB_DIR/t-flex-cad.whdb" | ||||
|  | ||||
| # Программа T-FLEX CAD Учебная Версия | ||||
| export AUTOINSTALL_ZIP="${WH_TMP_DIR}/TFCAD_ST_17x64_PACK.zip" | ||||
|   | ||||
| @@ -5,7 +5,7 @@ export PROG_URL="https://www.tflexcad.ru" | ||||
| export PROG_NAME="T-FLEX CAD 17" | ||||
| export PROG_ICON="tflexcad" | ||||
| export WH_WINE_USE="wine_wh_tflex_10-9_amd64" | ||||
| export BASE_PFX="tflex17_pfx_x64_v02" | ||||
| export BASE_PFX="tflex_pfx_x64_v03" | ||||
| export WINEARCH="win64" | ||||
| export WH_WINDOWS_VER="10" | ||||
| export WINEPREFIX="tflex" | ||||
| @@ -14,7 +14,7 @@ export WH_USE_MESA_GL_OVERRIDE="1" | ||||
|  | ||||
| # используем общий whdb файл для подготовки префикса и сервисов | ||||
| # prepair_wine используется из файла настроек | ||||
| source "$WH_DB_DIR/t-flex-cad17.whdb" | ||||
| source "$WH_DB_DIR/t-flex-cad.whdb" | ||||
|  | ||||
| # Программа T-FLEX CAD | ||||
| export AUTOINSTALL_ZIP="${WH_TMP_DIR}/T-FLEX CAD 17.zip" | ||||
|   | ||||
| @@ -6,7 +6,7 @@ export PROG_NAME="Приложения для T-FLEX CAD 17" | ||||
| export PROG_ICON="tflexcad" | ||||
| export WH_WINDOWS_VER="10" | ||||
| export WH_WINE_USE="wine_wh_tflex_10-9_amd64" | ||||
| export BASE_PFX="tflex17_pfx_x64_v02" | ||||
| export BASE_PFX="tflex_pfx_x64_v03" | ||||
| export WINEARCH="win64" | ||||
| export WINEPREFIX="tflex" | ||||
| export WH_XDG_OPEN="log" | ||||
|   | ||||
| @@ -6,7 +6,7 @@ export PROG_NAME="Ресурсы для T-FLEX CAD 17" | ||||
| export PROG_ICON="tflexcad" | ||||
| export WH_WINDOWS_VER="10" | ||||
| export WH_WINE_USE="wine_wh_tflex_10-9_amd64" | ||||
| export BASE_PFX="tflex17_pfx_x64_v02" | ||||
| export BASE_PFX="tflex_pfx_x64_v03" | ||||
| export WINEARCH="win64" | ||||
| export WINEPREFIX="tflex" | ||||
| export WH_XDG_OPEN="log" | ||||
|   | ||||
							
								
								
									
										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_ICON="tflexcad" | ||||
| export WH_WINE_USE="wine_wh_tflex_10-9_amd64" | ||||
| export BASE_PFX="tflex17_pfx_x64_v02" | ||||
| export BASE_PFX="tflex_pfx_x64_v03" | ||||
| export WINEARCH="win64" | ||||
| export WH_WINDOWS_VER="10" | ||||
| export WINEPREFIX="tflex" | ||||
| @@ -14,7 +14,7 @@ export WH_USE_MESA_GL_OVERRIDE="1" | ||||
|  | ||||
| # используем общий whdb файл для подготовки префикса и сервисов | ||||
| # prepair_wine используется из файла настроек | ||||
| source "$WH_DB_DIR/t-flex-cad17.whdb" | ||||
| source "$WH_DB_DIR/t-flex-cad.whdb" | ||||
|  | ||||
| # Программа T-FLEX CAD 2D+ 17 | ||||
| export AUTOINSTALL_ZIP="${WH_TMP_DIR}/T-FLEX CAD 2D+ 17.zip" | ||||
|   | ||||
							
								
								
									
										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_ICON="tflexdoc" | ||||
| export WH_WINE_USE="wine_wh_tflex_10-9_amd64" | ||||
| export BASE_PFX="tflex17_pfx_x64_v02" | ||||
| export BASE_PFX="tflex_pfx_x64_v03" | ||||
| export WINEARCH="win64" | ||||
| export WH_WINDOWS_VER="10" | ||||
| export WINEPREFIX="tflex" | ||||
| @@ -14,7 +14,7 @@ export WH_USE_MESA_GL_OVERRIDE="1" | ||||
|  | ||||
| # используем общий whdb файл для подготовки префикса и сервисов | ||||
| # prepair_wine используется из файла настроек | ||||
| source "$WH_DB_DIR/t-flex-cad17.whdb" | ||||
| source "$WH_DB_DIR/t-flex-cad.whdb" | ||||
|  | ||||
| # Программа T-FLEX DOC | ||||
| AUTOINSTALL_ZIP="${WH_TMP_DIR}/T-FLEX DOCs 17 Client.zip" | ||||
|   | ||||
| @@ -5,7 +5,7 @@ export PROG_URL="https://www.tflexcad.ru" | ||||
| export PROG_NAME="T-FLEX Viewer 17" | ||||
| export PROG_ICON="tflexcad" | ||||
| export WH_WINE_USE="wine_wh_tflex_10-9_amd64" | ||||
| export BASE_PFX="tflex17_pfx_x64_v02" | ||||
| export BASE_PFX="tflex_pfx_x64_v03" | ||||
| export WINEARCH="win64" | ||||
| export WH_WINDOWS_VER="10" | ||||
| export WINEPREFIX="tflex" | ||||
| @@ -14,7 +14,7 @@ export WH_USE_MESA_GL_OVERRIDE="1" | ||||
|  | ||||
| # используем общий whdb файл для подготовки префикса и сервисов | ||||
| # prepair_wine используется из файла настроек | ||||
| source "$WH_DB_DIR/t-flex-cad17.whdb" | ||||
| source "$WH_DB_DIR/t-flex-cad.whdb" | ||||
|  | ||||
| # Программа T-FLEX Viewer | ||||
| export AUTOINSTALL_ZIP="${WH_TMP_DIR}/T-FLEX Viewer 17.zip" | ||||
|   | ||||
							
								
								
									
										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 | ||||
| # info_ru: Компоненты сервисов поддержки T-FLEX 17 | ||||
| # info_ru: Компоненты сервисов поддержки T-FLEX 17 и 18 | ||||
| ######################################################################## | ||||
| export WH_WINDOWS_VER="10" | ||||
| export WH_WINE_USE="wine_wh_tflex_10-9_amd64" | ||||
| export BASE_PFX="tflex17_pfx_x64_v02" | ||||
| export BASE_PFX="tflex_pfx_x64_v03" | ||||
| export WINEARCH="win64" | ||||
| export WINEPREFIX="tflex" | ||||
| export PROG_VERSION="" | ||||
| export WH_XDG_OPEN="log" | ||||
| export INSTALL_DLL="corefonts d3dcompiler_47 dotnet48 vcrun2022 ucrtbase2019 msxml6 fontsmooth=rgb baekmuk droid eufonts ipamona liberation lucida opensymbol sourcehansans tahoma takao uff unifont vlgothic wenquanyi wenquanyizenhei" | ||||
| export INSTALL_DLL="corefonts d3dcompiler_47 dotnet48 dotnet20 vcrun2019 ucrtbase2019 msxml6 fontsmooth=rgb baekmuk droid eufonts ipamona liberation lucida opensymbol sourcehansans tahoma takao uff unifont vlgothic wenquanyi wenquanyizenhei" | ||||
| export WH_USE_MESA_GL_OVERRIDE="1" | ||||
| 
 | ||||
| # Компоненты поддержки T-FLEX PLM (Linux) | ||||
| GRDCONTROL_VER="4.3.0-0" | ||||
| AUTOINSTALL_ZIP_LIN="$WH_TMP_DIR/Prerequisites_T-FLEX_Linux.zip" | ||||
| AUTOINSTALL_DIR_LIN="$WH_TMP_DIR/Prerequisites_T-FLEX_Linux" | ||||
| AUTOINSTALL_REG_LIN="$AUTOINSTALL_DIR_LIN/Components/fake_hasp.reg" | ||||
| 
 | ||||
| # Компоненты поддержки T-FLEX PLM (Windows) | ||||
| AUTOINSTALL_ZIP_WIN="$WH_TMP_DIR/T-FLEX 17 Prerequisites.zip" | ||||
| AUTOINSTALL_DIR_WIN="$WH_TMP_DIR/Компоненты поддержки T-FLEX 17" | ||||
| AUTOINSTALL_EXE_WIN1="$AUTOINSTALL_DIR_WIN/Access Database Engine 2007/AccessDatabaseEngine.exe" | ||||
| AUTOINSTALL_EXE_WIN_MSI="$AUTOINSTALL_DIR_WIN/Access Database Engine 2007" | ||||
| AUTOINSTALL_EXE_WIN2="$AUTOINSTALL_DIR_WIN/TSC2/Setup_TSC2.msi" | ||||
| AUTOINSTALL_EXE_ADE2007="$AUTOINSTALL_DIR_LIN/Components/AccessDatabaseEngine.exe" | ||||
| AUTOINSTALL_EXE_TSC2="$AUTOINSTALL_DIR_LIN/Components/Setup_TSC2.msi" | ||||
| AUTOINSTALL_EXE_VC_X86="$AUTOINSTALL_DIR_LIN/Components/vc_redist.x86.exe" | ||||
| AUTOINSTALL_EXE_VC_X64="$AUTOINSTALL_DIR_LIN/Components/vc_redist.x64.exe" | ||||
| 
 | ||||
| prepair_wine | ||||
| 
 | ||||
| @@ -42,11 +38,8 @@ else | ||||
|     || ! systemctl list-units --type service --state running | grep hasplmd \ | ||||
|     || ! rpm -q grdcontrol | grep -q "$GRDCONTROL_VER" | ||||
|     then | ||||
|         # Компоненты поддержки T-FLEX PLM (Linux) | ||||
|         if try_download "https://www.tflex.ru/downloads/Prerequisites_T-FLEX_Linux.zip" "${AUTOINSTALL_ZIP_LIN}" ; then | ||||
|         try_download "https://www.tflex.ru/downloads/Prerequisites_T-FLEX_Linux.zip" "${AUTOINSTALL_ZIP_LIN}" | ||||
|         unpack "$AUTOINSTALL_ZIP_LIN" "$AUTOINSTALL_DIR_LIN" | ||||
|             "$WINELOADER" regedit "$AUTOINSTALL_REG_LIN" | ||||
|         fi | ||||
| 
 | ||||
|         if rpm -q grdcontrol | grep -q "$GRDCONTROL_VER" | ||||
|         then print_info "grdcontrol-$GRDCONTROL_VER уже установлен в системе." | ||||
| @@ -55,14 +48,14 @@ else | ||||
| 
 | ||||
|         if [[ "$BASE_PFX" == "none" ]] ; then | ||||
|             print_info "Запускаем подготовку префикса." | ||||
|             # Компоненты поддержки T-FLEX PLM (Windows) | ||||
|             if try_download "https://www.tflex.ru/downloads/T-FLEX%2017%20Prerequisites.zip" "${AUTOINSTALL_ZIP_WIN}" ; then | ||||
|                 unpack "$AUTOINSTALL_ZIP_WIN" "$WH_TMP_DIR" | ||||
|                 unpack "$AUTOINSTALL_EXE_WIN1" "$AUTOINSTALL_EXE_WIN_MSI" | ||||
| 
 | ||||
|                 wine_run_install "$AUTOINSTALL_EXE_WIN_MSI/AceRedist.msi" /q | ||||
|                 wine_run_install "$AUTOINSTALL_EXE_WIN2" /q | ||||
|             fi | ||||
|             unpack "$AUTOINSTALL_EXE_ADE2007" "$AUTOINSTALL_DIR_LIN/ADE2007" | ||||
|             wine_run_install "$AUTOINSTALL_DIR_LIN/ADE2007/AceRedist.msi" /q | ||||
| 
 | ||||
|             wine_run_install "$AUTOINSTALL_EXE_VC_X86" /quiet | ||||
|             wine_run_install "$AUTOINSTALL_EXE_VC_X64" /quiet | ||||
|             wine_run_install "$AUTOINSTALL_EXE_TSC2" /q | ||||
| 
 | ||||
|             rm -fR "$DRIVE_C/Program Files/Common Files/System" | ||||
|             rm -fR "$DRIVE_C/Program Files (x86)/Common Files/System" | ||||
| 
 | ||||
| @@ -74,9 +67,9 @@ else | ||||
|             mv -f "$AUTOINSTALL_DIR_LIN/Components/Windows/System32/"*.dll \ | ||||
|                   "$DRIVE_C/windows/system32" | ||||
| 
 | ||||
|             "$WINELOADER" regedit "$AUTOINSTALL_DIR_LIN/Components/fake_hasp.reg" | ||||
|             "$WINELOADER" regedit "$AUTOINSTALL_DIR_LIN/Components/ado-32.reg" | ||||
|             "$WINELOADER"64 regedit "$AUTOINSTALL_DIR_LIN/Components/ado-64.reg" | ||||
|             "$WINELOADER" regedit "$AUTOINSTALL_DIR_LIN/Components/tflex.reg" | ||||
|             "$WINELOADER" regedit "$AUTOINSTALL_DIR_LIN/Components/ado-64.reg" | ||||
|         fi | ||||
| 
 | ||||
|         if systemctl list-units --type service --state running | grep aksusbd \ | ||||
| @@ -98,14 +91,12 @@ else | ||||
|     fi | ||||
| 
 | ||||
|     try_remove_dir "$AUTOINSTALL_DIR_LIN" | ||||
|     try_remove_dir "$AUTOINSTALL_DIR_WIN" | ||||
| 
 | ||||
|     if [[ $TFLEX_ERROR == "1" ]] ; then | ||||
|         fatal "Произошла ошибка во время подготовки префикса, или установки компонентов ПО." | ||||
|     else | ||||
|         echo "t-flex-cad-prepair" >> "$WINEPREFIX/winetricks.log" | ||||
|         try_remove_file "$AUTOINSTALL_ZIP_LIN" | ||||
|         try_remove_file "$AUTOINSTALL_ZIP_WIN" | ||||
| #         try_remove_file "$AUTOINSTALL_ZIP_LIN" | ||||
|         print_info "Подготовка префикса и установка компонентов завершены." | ||||
|     fi | ||||
| fi | ||||
							
								
								
									
										
											BIN
										
									
								
								image/handbook/auto_install.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 184 KiB | 
							
								
								
									
										
											BIN
										
									
								
								image/handbook/create_prefix.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 153 KiB | 
							
								
								
									
										
											BIN
										
									
								
								image/handbook/election_installed.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 110 KiB | 
							
								
								
									
										
											BIN
										
									
								
								image/handbook/folder_log_backup.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 111 KiB | 
							
								
								
									
										
											BIN
										
									
								
								image/handbook/help.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 91 KiB | 
							
								
								
									
										
											BIN
										
									
								
								image/handbook/info.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 227 KiB | 
							
								
								
									
										
											BIN
										
									
								
								image/handbook/installed.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 133 KiB | 
							
								
								
									
										
											BIN
										
									
								
								image/handbook/license_agreement.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 236 KiB | 
							
								
								
									
										
											BIN
										
									
								
								image/handbook/log.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 336 KiB | 
							
								
								
									
										
											BIN
										
									
								
								image/handbook/manual_install.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 110 KiB | 
							
								
								
									
										
											BIN
										
									
								
								image/handbook/manual_install_1.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 144 KiB | 
							
								
								
									
										
											BIN
										
									
								
								image/handbook/prefix_manager.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 160 KiB | 
							
								
								
									
										
											BIN
										
									
								
								image/handbook/search.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 93 KiB | 
							
								
								
									
										
											BIN
										
									
								
								image/ksamu.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 5.0 KiB | 
| @@ -1,10 +1,10 @@ | ||||
| #!/usr/bin/env bash | ||||
| # info_ru: Ручная установка дополнений для T-FLEX CAD 17 | ||||
| # info_ru: Ручная установка дополнений для T-FLEX CAD 17 или 18 | ||||
| ######################################################################## | ||||
| export PROG_NAME="T-FLEX CAD 17" | ||||
| export PROG_NAME="T-FLEX CAD 17/18" | ||||
| export PROG_ICON="tflexcad" | ||||
| export WH_WINE_USE="wine_wh_tflex_10-9_amd64" | ||||
| export BASE_PFX="tflex17_pfx_x64_v02" | ||||
| export BASE_PFX="tflex_pfx_x64_v03" | ||||
| export WINEARCH="win64" | ||||
| export WH_WINDOWS_VER="10" | ||||
| export WINEPREFIX="tflex" | ||||
| @@ -14,7 +14,7 @@ export WH_USE_MESA_GL_OVERRIDE="1" | ||||
| if [[ -f "$2" ]] ; then | ||||
|     # используем общий whdb файл для подготовки префикса и сервисов | ||||
|     # prepair_wine используется из файла настроек | ||||
|     source "$WH_DB_DIR/t-flex-cad17.whdb" | ||||
|     source "$WH_DB_DIR/t-flex-cad.whdb" | ||||
| 
 | ||||
|     wine_run_install "$2" | ||||
| else | ||||
							
								
								
									
										23
									
								
								manualinstall/t-flex-docs-manual
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,23 @@ | ||||
| #!/usr/bin/env bash | ||||
| # info_ru: Ручная установка дополнений для T-FLEX DOCS 17 или 18 | ||||
| ######################################################################## | ||||
| export PROG_NAME="T-FLEX DOCS 17/18" | ||||
| export PROG_ICON="tflexcad" | ||||
| export WH_WINE_USE="wine_wh_tflex_10-9_amd64" | ||||
| export BASE_PFX="tflex_pfx_x64_v03" | ||||
| export WINEARCH="win64" | ||||
| export WH_WINDOWS_VER="10" | ||||
| export WINEPREFIX="tflex" | ||||
| export WH_XDG_OPEN="log" | ||||
| export WH_USE_MESA_GL_OVERRIDE="1" | ||||
|  | ||||
| if [[ -f "$2" ]] ; then | ||||
|     # используем общий whdb файл для подготовки префикса и сервисов | ||||
|     # prepair_wine используется из файла настроек | ||||
|     source "$WH_DB_DIR/t-flex-cad.whdb" | ||||
|  | ||||
|     wine_run_install "$2" | ||||
| else | ||||
|     fatal "Не найден файл установки. Перезапустите по примеру: | ||||
|     winehelper install $1 \"/путь/до/файла\"" | ||||
| fi | ||||
| @@ -171,13 +171,9 @@ d62225f6a23e49355a59a2bd9a495390694bd70d4be6d6527cfb7fb2e2d65f0d  defpfx_x64_v01 | ||||
| # create with wine_x_tkg_10-0_amd64 (universal user: xuser and isolate_home by default) | ||||
| # winetricks msxml3 msxml4 msxml6 andale arial comicsans courier georgia impact times trebuchet verdana webdings corefonts wsh57 vcrun6 gdiplus lucida tahoma ucrtbase2019 vcrun2019 dotnet40 dotnet48 dotnet20sp2 d3dcompiler_47 | ||||
|  | ||||
| f4cb2f380ad8887f334c6eb3c272b343ae8de327764945266e9e74f8acbac69f  tflex17_pfx_x64_v01.tar.xz | ||||
| # create with wine_x_tkg_10-0_amd64 (universal user: xuser) | ||||
| # winetricks isolate_home msxml6 ipamona opensymbol wenquanyi ucrtbase2019 uff unifont droid wenquanyizenhei remove_mono internal dotnet40 dotnet48 dotnet20sp2 eufonts takao d3dcompiler_47 fontsmooth=rgb vcrun2022 vlgothic andale arial comicsans courier georgia impact times trebuchet verdana webdings corefonts liberation sourcehansans baekmuk tahoma lucida | ||||
|  | ||||
| be09f25bb795c5f912fad2d122c68c8aed937821255f161c2d75a4773d11a044  tflex17_pfx_x64_v02.tar.xz | ||||
| 68ad589a3e6d8a845c2e3bd4c2672cf97982b3fea0ca4b4f2fb6da126d8b3075  tflex_pfx_x64_v03.tar.xz | ||||
| # create with wine_wh_tflex_10-9_amd64 | ||||
| # winetricks isolate_home msxml6 ipamona opensymbol wenquanyi ucrtbase2019 uff unifont droid wenquanyizenhei remove_mono internal dotnet40 dotnet48 dotnet20 eufonts takao d3dcompiler_47 fontsmooth=rgb vcrun2022 vlgothic andale arial comicsans courier georgia impact times trebuchet verdana webdings corefonts liberation sourcehansans baekmuk tahoma lucida | ||||
| # winetricks isolate_home msxml6 ipamona opensymbol wenquanyi ucrtbase2019 uff unifont droid wenquanyizenhei internal dotnet48 dotnet20 eufonts takao d3dcompiler_47 fontsmooth=rgb vcrun2019 vlgothic andale arial comicsans courier georgia impact times trebuchet verdana webdings corefonts liberation sourcehansans baekmuk tahoma lucida t-flex-cad-prepair | ||||
|  | ||||
| 7edbd69b40b8ca3fb3594933c6cd37030180c494c08fd13cbd1a5b46565d65e6  ved_ctm_pfx_x86_v03.tar.xz | ||||
| # create with wine_x_tkg_10-0_amd64 (universal user: xuser) | ||||
| @@ -212,12 +208,18 @@ dfb44ce5e5af7dba1686932c63d6b05e5dd6919a21c78130a7d1d0271b93958e  audiorecstatio | ||||
| # create with wine_x_tkg_10-0_i586 (universal user: xuser) | ||||
| # winetricks arial dotnet7 dotnetdesktop7 renderer=gdi | ||||
|  | ||||
| 4fa93434c5c15440014357323257ddcee7d28b94ad6a56bd6f5a08b33ae4c3cb  scadaoffice_pfx_x64_v04.tar.xz | ||||
| # create with wine-8.8-staging-amd64 | ||||
| 8c6312f2e4e846a98ca4a87fc90ee1917eb28d4caaddde040fb4d2dd05f8c0fe  scadaoffice_pfx_x64_v05.tar.xz | ||||
| # create with wine_x_tkg_10-0_amd64 (universal user: xuser) | ||||
| # winetricks dotnet48 gdiplus vcrun6sp6 vcrun2005 vcrun2019 d3dx11_42 d3dx11_43 d3dx9 d3dcompiler_42 d3dcompiler_43 d3dcompiler_46 d3dcompiler_47 richtx32 riched30 riched20 msxml6 dotnet20 | ||||
| # + addons with ODBC, SSH, *.reg | ||||
|  | ||||
| # addons with ODBC, SSH, *.reg | ||||
| 0f4ef434df07bc338ae308af44330590eaa1d9c94b64850514e55b960642d0eb  scadoffice_addons_v02.tar.xz | ||||
|  | ||||
| ef7e8f1ba785d48e4ea287feed5b79bd630d423e59efadb43da9653adefef218  ais-lpu-client_pfx_x86_v01.tar.xz | ||||
| # create with wine_x_tkg_10-0_i586 (universal user: xuser) | ||||
| # 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 | ||||
|   | ||||
| @@ -3,37 +3,33 @@ | ||||
| ######################################################################## | ||||
| export PROG_URL="https://www.nalog.gov.ru" | ||||
| export WH_WINE_USE="wine_x_tkg_10-0_amd64" | ||||
| export WINEPREFIX="declaration" | ||||
| export WINEPREFIX="nalog" | ||||
| export PROG_NAME="Декларация" | ||||
| export PROG_ICON="declarac" | ||||
| export BASE_PFX="defpfx_x86_v01" | ||||
| export BASE_PFX="none" | ||||
| export WINEARCH="win32" | ||||
| export INSTALL_DLL="msxml3 msxml4 msxml6 corefonts wsh57 vcrun6 jet40 gdiplus" | ||||
| export WH_WINDOWS_VER="10" | ||||
| export INSTALL_DLL="corefonts micross tahoma lucida riched20 comctl32 msxml3 msxml4 msxml6 mdac28 wsh57 vcrun6 vb6run jet40 gdiplus vcrun2019 dotnet20sp2 dotnet40 dotnet48" | ||||
| 
 | ||||
| DECL_FILE="${WH_TMP_DIR}/decl.html" | ||||
| curl -o "$DECL_FILE" -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "https://www.nalog.gov.ru/rn77/program/5961249/" | ||||
| 
 | ||||
| if [[ ! -f "$DECL_FILE" ]] \ | ||||
| || grep -q "Forbidden" "$DECL_FILE" | ||||
| then | ||||
|     fatal "The site page is unavailable or the request limit has been exceeded." | ||||
| fi | ||||
| 
 | ||||
| VER_YEAR=$(grep -oP 'href="\K[^"]*.msi[^"]*' "$DECL_FILE" | awk -F'/' '{print $(NF-2)}' | head -n 1) | ||||
| try_get_page "https://www.nalog.gov.ru/rn77/program/5961249/" | ||||
| VER_YEAR=$(read_page | grep -oP 'href="\K[^"]*.msi[^"]*' | awk -F'/' '{print $(NF-2)}' | head -n 1) | ||||
| YEAR="${VER_YEAR//decl/}" | ||||
| VER_MSI_SLASH=$(grep -oP 'href="\K[^"]*.msi[^"]*' "$DECL_FILE" | awk -F'/' '{print $(NF-1)}' | head -n 1) | ||||
| VER_MSI=$(grep -oP 'href="\K[^"]*.msi[^"]*' "$DECL_FILE" | awk -F'/' '{print $(NF)}' | head -n 1) | ||||
| 
 | ||||
| VER_MSI_SLASH=$(read_page | grep -oP 'href="\K[^"]*.msi[^"]*' | awk -F'/' '{print $(NF-1)}' | head -n 1) | ||||
| VER_MSI=$(read_page | grep -oP 'href="\K[^"]*.msi[^"]*' | awk -F'/' '{print $(NF)}' | head -n 1) | ||||
| AUTOINSTALL_MSI="${WH_TMP_DIR}/${VER_MSI}" | ||||
| 
 | ||||
| prepair_wine | ||||
| if try_download "https://data.nalog.ru/files/${VER_YEAR}/${VER_MSI_SLASH}/$VER_MSI" "${AUTOINSTALL_MSI}" ; then | ||||
|     wine_run_install "${AUTOINSTALL_MSI}" "/q" | ||||
| if try_download "https://data.nalog.ru/files/${VER_YEAR}/${VER_MSI_SLASH}/${VER_MSI}" "${AUTOINSTALL_MSI}" ; then | ||||
|     wine_run_install "${AUTOINSTALL_MSI}" /q | ||||
|     try_remove_file "${AUTOINSTALL_MSI}" | ||||
| 
 | ||||
|     WIN_FILE_EXEC="$DRIVE_C/АО ГНИВЦ/Декларация ${YEAR}/Decl${YEAR}.exe" | ||||
|     create_desktop "$PROG_NAME $YEAR" "$WIN_FILE_EXEC" "$PROG_ICON" | ||||
|     remove_desktop "Декларация $((YEAR - 1))" | ||||
| fi | ||||
| 
 | ||||
|     # Удаляем ярлык предыдущей версии | ||||
|     remove_desktop "Декларация $((YEAR - 1))" | ||||
| 
 | ||||
|     print_info "Программа Декларация $YEAR успешно установлена" | ||||
| else | ||||
|     fatal "Не удалось скачать установочный файл" | ||||
| fi | ||||
							
								
								
									
										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" | ||||
| @@ -6,30 +6,22 @@ export WH_WINE_USE="wine_x_tkg_10-0_amd64" | ||||
| export WINEPREFIX="nalog" | ||||
| export PROG_NAME="Налогоплательщик ЮЛ" | ||||
| export PROG_ICON="npul" | ||||
| export BASE_PFX="defpfx_x86_v01" | ||||
| export BASE_PFX="none" | ||||
| export WINEARCH="win32" | ||||
| export INSTALL_DLL="msxml3 msxml4 msxml6 corefonts wsh57 vcrun6 jet40 gdiplus" | ||||
| export WH_WINDOWS_VER="10" | ||||
| export INSTALL_DLL="corefonts micross tahoma lucida riched20 comctl32 msxml3 msxml4 msxml6 mdac28 wsh57 vcrun6 vb6run jet40 gdiplus vcrun2019 dotnet20sp2 dotnet40 dotnet48" | ||||
| 
 | ||||
| NPUL_FILE="${WH_TMP_DIR}/npul.html" | ||||
| curl -o "$NPUL_FILE" -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "https://www.nalog.gov.ru/rn77/program/5961229/" | ||||
| 
 | ||||
| if [[ ! -f "$NPUL_FILE" ]] \ | ||||
| || grep -q "Forbidden" "$NPUL_FILE" | ||||
| then | ||||
|     fatal "Страница сайта не доступна, или превышено количество запросов к странице." | ||||
| fi | ||||
| 
 | ||||
| VER_MSI=$(grep -oP 'NalogUL\K[0-9.]+(?=\.msi)' "$NPUL_FILE" | tail -n 1) | ||||
| VER_MSI_SLASH=$(grep -oP '[0-9]+\.[0-9]+/NalogUL[0-9]+\.msi' "$NPUL_FILE" | tail -n 1) | ||||
| VER_EXE=$(grep -oP 'NalogUL\K[0-9.]+(?=\.exe)' "$NPUL_FILE" | tail -n 1) | ||||
| VER_EXE_SLASH=$(grep -oP '[0-9]+\.[0-9]+\.[0-9]+/NalogUL[0-9]+\.exe' "$NPUL_FILE" | tail -n 1) | ||||
| try_get_page "https://data.nalog.ru/rn77/program/5961229/" | ||||
| VER_MSI=$(read_page | grep -oP 'NalogUL\d+\.msi' | tail -1 | grep -oP '\d+') | ||||
| VER_MSI_URL="${VER_MSI:0:1}.${VER_MSI:1}"  # 492 → 4.92 | ||||
| VER_EXE=$(read_page | grep -oP 'NalogUL\d+\.exe' | tail -1 | grep -oP '\d+') | ||||
| VER_EXE_URL="${VER_EXE:0:1}.${VER_EXE:1:2}.${VER_EXE:3}"  # 4924 → 4.92.4 | ||||
| 
 | ||||
| AUTOINSTALL_MSI="${WH_TMP_DIR}/NalogUL${VER_MSI}.msi" | ||||
| AUTOINSTALL_EXE="${WH_TMP_DIR}/NalogUL${VER_EXE}.exe" | ||||
| 
 | ||||
| prepair_wine | ||||
| if try_download "https://data.nalog.ru/files/nalul/${VER_MSI_SLASH}" "${AUTOINSTALL_MSI}" ; then | ||||
| if try_download "https://data.nalog.ru/files/nalul/${VER_MSI_URL}/NalogUL${VER_MSI}.msi" "${AUTOINSTALL_MSI}" ; then | ||||
|     wine_run_install "${AUTOINSTALL_MSI}" /quiet INSTALLDIR="c:\npul" | ||||
|     try_remove_file "${AUTOINSTALL_MSI}" | ||||
| 
 | ||||
| @@ -42,7 +34,7 @@ if try_download "https://data.nalog.ru/files/nalul/${VER_MSI_SLASH}" "${AUTOINST | ||||
| fi | ||||
| 
 | ||||
| if [[ -n "$VER_EXE" ]] \ | ||||
| && try_download "https://data.nalog.ru/files/nalul/${VER_EXE_SLASH}" "${AUTOINSTALL_EXE}" | ||||
| && try_download "https://data.nalog.ru/files/nalul/${VER_EXE_URL}/NalogUL${VER_EXE}.exe" "${AUTOINSTALL_EXE}" | ||||
| then | ||||
|     wine_run_install "${AUTOINSTALL_EXE}" "/SILENT" | ||||
|     try_remove_file "${AUTOINSTALL_EXE}" | ||||
| @@ -53,4 +45,3 @@ fi | ||||
| touch "$DRIVE_C/npul/INPUTDOC/linux.txt" | ||||
| WIN_FILE_EXEC="$DRIVE_C/npul/INPUTDOC/inputdoc.exe" | ||||
| create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON" | ||||
| try_remove_file "$NPUL_FILE" | ||||
| @@ -2,24 +2,26 @@ | ||||
| # info_ru: Подготовка документов для государственной регистрации (ППДГР) | ||||
| ######################################################################## | ||||
| export PROG_URL="https://www.nalog.gov.ru" | ||||
| export AUTOINSTALL_EXE="${WH_TMP_DIR}/SetupPPDGR2.msi" | ||||
| export WH_WINE_USE="wine_x_tkg_10-0_amd64" | ||||
| export WINEPREFIX="ppdgr2" | ||||
| export WINEPREFIX="nalog" | ||||
| export PROG_NAME="ППДГР-2" | ||||
| # export PROG_VERSION="" | ||||
| export PROG_ICON="ppdgr" | ||||
| # export ADD_MIME_TYPE="" | ||||
| export BASE_PFX="defpfx_dn48_x86_v01" | ||||
| export BASE_PFX="none" | ||||
| export WINEARCH="win32" | ||||
| export INSTALL_DLL="dotnet48 msxml3 msxml4 msxml6 corefonts lucida wsh57 vcrun6 jet40 gdiplus" | ||||
| export WH_WINDOWS_VER="10" | ||||
| var_winedlloverride_update "msxml4=b,wininet=b" | ||||
| export INSTALL_DLL="corefonts micross tahoma lucida riched20 comctl32 msxml3 msxml4 msxml6 mdac28 wsh57 vcrun6 vb6run jet40 gdiplus vcrun2019 dotnet20sp2 dotnet40 dotnet48" | ||||
| 
 | ||||
| try_get_page "https://www.nalog.gov.ru/rn77/program/5961277/" | ||||
| VER_MSI_SLASH=$(read_page | grep -oP 'href="\K[^"]*.msi[^"]*' | awk -F'/' '{print $(NF-1)}' | head -n 1) | ||||
| AUTOINSTALL_EXE="${WH_TMP_DIR}/SetupPPDGR2.msi" | ||||
| 
 | ||||
| prepair_wine | ||||
| if try_download "https://data.nalog.ru/files/ppdgr/2.7.0/SetupPPDGR2.msi" "${AUTOINSTALL_EXE}" ; then | ||||
| if try_download "https://data.nalog.ru/files/ppdgr/${VER_MSI_SLASH}/SetupPPDGR2.msi" "${AUTOINSTALL_EXE}" ; then | ||||
|     wine_run_install "${AUTOINSTALL_EXE}" /q | ||||
|     try_remove_file "${AUTOINSTALL_EXE}" | ||||
| 
 | ||||
|     WIN_FILE_EXEC="$DRIVE_C/АО ГНИВЦ/ППДГР-2/PPDGR2.exe" | ||||
|     create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON" | ||||
| fi | ||||
| https://data.nalog.ru/files/ppdgr/2.7.3/SetupPPDGR2.msi | ||||
| @@ -1,12 +1,12 @@ | ||||
| #!/usr/bin/env bash | ||||
| # info_ru: SCAD Office — это программный комплекс для расчёта строительных конструкций, с дополнением Apache OpenOffice. Apache OpenOffice - пакет офисного программного обеспечения для обработки текстов, электронных таблиц, презентаций, графики, баз данных и многого другого. | ||||
| # info_ru: SCAD Office — это программный комплекс для расчёта строительных конструкций. | ||||
| ######################################################################## | ||||
| export PROG_URL="https://scadoffice.ru" | ||||
| export WH_WINE_USE="wine_x_tkg_10-0_amd64" | ||||
| export WINEPREFIX="scadoffice" | ||||
| export PROG_NAME="SCAD Office" | ||||
| export PROG_ICON="scadoffice" | ||||
| export BASE_PFX="scadaoffice_pfx_x64_v04" | ||||
| export BASE_PFX="scadaoffice_pfx_x64_v05" | ||||
| export WH_WINDOWS_VER="10" | ||||
| export WINEARCH="win64" | ||||
| export INSTALL_DLL="dotnet20 dotnet48 gdiplus vcrun6sp6 vcrun2005 vcrun2019 d3dx11_42 d3dx11_43 d3dx9 d3dcompiler_42 d3dcompiler_43 d3dcompiler_46 d3dcompiler_47 richtx32 riched30 riched20 msxml6" | ||||
| @@ -32,39 +32,39 @@ if [[ -n $2 ]] ; then | ||||
|     fi | ||||
| fi | ||||
| 
 | ||||
| if [[ $BASE_PFX == "none" ]] ; then | ||||
|     print_info "Установка дополнительных компонентов..." | ||||
| print_info "Установка дополнительных компонентов..." | ||||
| 
 | ||||
|     ADDONS_PACK="${WH_TMP_DIR}/$(basename "$SCADOFFICE_ADDONS_URL")" | ||||
|     ADDONS_PATH="${WH_TMP_DIR}/scadoffice_addons" | ||||
| 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" | ||||
| 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 | ||||
| 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 | ||||
|     wine_run "${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 | ||||
|     wine_run "${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 | ||||
|     # временно запрещаем запуск hasplms.exe, hasplmv.exe для успешного завершения установки | ||||
|     tmp_winedlloverride_update "hasplms.exe,hasplmv.exe=d" | ||||
|     wine_run_install "$AUTOINSTALL_EXE" | ||||
|     try_remove_file "$AUTOINSTALL_EXE" | ||||
| 
 | ||||
|     # Определение всех программ, значков и исполняемых файлов | ||||
| @@ -2,20 +2,21 @@ | ||||
| # info_ru: Справочник кодов обозначения налоговых органов для целей учета налогоплательщиков | ||||
| ######################################################################## | ||||
| export PROG_URL="https://www.nalog.gov.ru" | ||||
| export AUTOINSTALL_EXE="${WH_TMP_DIR}/soun_ins.exe" | ||||
| export WH_WINE_USE="wine_x_tkg_10-0_amd64" | ||||
| export WINEPREFIX="soun" | ||||
| export WINEPREFIX="nalog" | ||||
| export PROG_NAME="СОУН" | ||||
| # export PROG_VERSION="" | ||||
| export PROG_ICON="soun" | ||||
| # export ADD_MIME_TYPE="" | ||||
| export BASE_PFX="defpfx_x86_v01" | ||||
| export BASE_PFX="none" | ||||
| export WINEARCH="win32" | ||||
| export INSTALL_DLL="corefonts" | ||||
| export WH_WINDOWS_VER="10" | ||||
| export INSTALL_DLL="corefonts micross tahoma lucida riched20 comctl32 msxml3 msxml4 msxml6 mdac28 wsh57 vcrun6 vb6run jet40 gdiplus vcrun2019 dotnet20sp2 dotnet40 dotnet48" | ||||
| 
 | ||||
| try_get_page "https://www.nalog.gov.ru/rn77/program/5961268/" | ||||
| VER_MSI_SLASH=$(read_page | grep -oP 'href="\K[^"]*.exe[^"]*' | awk -F'/' '{print $(NF-1)}' | head -n 1) | ||||
| AUTOINSTALL_EXE="${WH_TMP_DIR}/soun_ins.exe" | ||||
| 
 | ||||
| prepair_wine | ||||
| if try_download "https://data.nalog.ru/files/Soun/2.6.2/soun_ins.exe" "${AUTOINSTALL_EXE}" ; then | ||||
| if try_download "https://data.nalog.ru/files/Soun/${VER_MSI_SLASH}/soun_ins.exe" "${AUTOINSTALL_EXE}" ; then | ||||
|     # TODO: Тихий режим или предупреждение | ||||
|     wine_run_install "${AUTOINSTALL_EXE}" | ||||
|     try_remove_file "${AUTOINSTALL_EXE}" | ||||
| @@ -2,22 +2,23 @@ | ||||
| # info_ru: Программа проверки файлов на соответствие форматам представления в электронном виде налоговых деклараций, бухгалтерской отчетности. | ||||
| ######################################################################## | ||||
| export PROG_URL="https://www.nalog.gov.ru" | ||||
| export LAUNCH_PARAMETERS="/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-" | ||||
| export AUTOINSTALL_EXE="${WH_TMP_DIR}/tester2269.exe" | ||||
| export WH_WINE_USE="wine_x_tkg_10-0_amd64" | ||||
| export WINEPREFIX="nalog" | ||||
| export PROG_NAME="Тестер" | ||||
| # export PROG_VERSION="" | ||||
| export PROG_ICON="tester" | ||||
| # export ADD_MIME_TYPE="" | ||||
| export BASE_PFX="defpfx_x86_v01" | ||||
| export BASE_PFX="none" | ||||
| export WINEARCH="win32" | ||||
| export INSTALL_DLL="msxml3 msxml4 msxml6 corefonts wsh57 vcrun6 jet40 gdiplus" | ||||
| export WH_WINDOWS_VER="10" | ||||
| export INSTALL_DLL="corefonts micross tahoma lucida riched20 comctl32 msxml3 msxml4 msxml6 mdac28 wsh57 vcrun6 vb6run jet40 gdiplus vcrun2019 dotnet20sp2 dotnet40 dotnet48" | ||||
| 
 | ||||
| try_get_page "https://www.nalog.gov.ru/rn77/program/5961279/" | ||||
| VER_EXE_SLASH=$(read_page | grep -oP 'href="\K[^"]*.exe[^"]*' | awk -F'/' '{print $(NF-1)}' | tail -n 1) | ||||
| VER_EXE=$(read_page | grep -oP 'href="\K[^"]*.exe[^"]*' | awk -F'/' '{print $(NF)}' | tail -n 1) | ||||
| AUTOINSTALL_EXE="${WH_TMP_DIR}/${VER_EXE}" | ||||
| 
 | ||||
| prepair_wine | ||||
| if try_download "https://data.nalog.ru/files/tester/2.269/tester2269.exe" "${AUTOINSTALL_EXE}" ; then | ||||
|     wine_run_install "${AUTOINSTALL_EXE}" | ||||
| if try_download "https://data.nalog.ru/files/tester/${VER_EXE_SLASH}/${VER_EXE}" "${AUTOINSTALL_EXE}" ; then | ||||
|     wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP- | ||||
|     try_remove_file "${AUTOINSTALL_EXE}" | ||||
| 
 | ||||
|     WIN_FILE_EXEC="$DRIVE_C/Tester/tester.exe" | ||||
							
								
								
									
										383
									
								
								winehelper
									
									
									
									
									
								
							
							
						
						| @@ -7,7 +7,7 @@ if [[ $(id -u) -eq 0 ]] ; then | ||||
| fi | ||||
|  | ||||
| ##### 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")" | ||||
| 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" | ||||
|     RUN_SCRIPT="/usr/bin/$SCRIPT_NAME" | ||||
|     DATA_PATH="/usr/share/$SCRIPT_NAME" | ||||
|     WH_ICON_PATH="$DATA_PATH/image/gui/winehelper.svg" | ||||
|     WH_ICON_PATH="/usr/share/icons/hicolor/scalable/apps/winehelper.svg" | ||||
|     WH_ICON_TRAY="/usr/share/icons/hicolor/symbolic/apps/winehelper-symbolic.svg" | ||||
|     CHANGELOG_FILE="/usr/share/doc/winehelper-$WH_VERSION/CHANGELOG" | ||||
|     LICENSE_FILE="/usr/share/doc/winehelper-$WH_VERSION/LICENSE" | ||||
|     AGREEMENT="/usr/share/doc/winehelper-$WH_VERSION/LICENSE_AGREEMENT" | ||||
|     THIRD_PARTY_FILE="/usr/share/doc/winehelper-$WH_VERSION/THIRD-PARTY" | ||||
|     GENERAL="/usr/share/doc/winehelper-$WH_VERSION/GENERAL" | ||||
| else | ||||
|     # переменные для тестового запуска WineHelper из репозитория | ||||
|     USER_WORK_PATH="$HOME/test-$SCRIPT_NAME" | ||||
| @@ -28,9 +30,12 @@ else | ||||
|     DATA_PATH="$(dirname "$RUN_SCRIPT")" | ||||
|     CHANGELOG_FILE="$DATA_PATH/CHANGELOG" | ||||
|     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" | ||||
|     AGREEMENT="$DATA_PATH/LICENSE_AGREEMENT" | ||||
|     THIRD_PARTY_FILE="$DATA_PATH/THIRD-PARTY" | ||||
|     GENERAL="$DATA_PATH/GENERAL" | ||||
|     WH_DEVEL="1" | ||||
|  | ||||
|     # минимальная проверка синтаксиса скриптов | ||||
|     for self_check_script in "$RUN_SCRIPT" \ | ||||
| @@ -49,21 +54,21 @@ fi | ||||
|  | ||||
| ##### MESSAGES FUNCTIONS ##### | ||||
| if [[ $WH_USE_GUI != "1" ]] ; then | ||||
|     print_error () { printf "\E[31m%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_ok () { printf "\E[35m%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_info () { printf "\E[36m%s Информация: \"$*\" %s\e[0m\n" ;} | ||||
|     print_ok () { printf "\E[35m%s Успех: $* %s\e[0m\n" ;} | ||||
| else | ||||
|     print_error () { echo -e "Ошибка: $@" ;} | ||||
|     print_warning () { echo -e "Предупреждение: $@" ;} | ||||
|     print_info () { echo -e "Информация: \"$@\"" ;} | ||||
|     print_ok () { echo -e "Успех: $@" ;} | ||||
|     print_error () { echo -e "Ошибка: $*" ;} | ||||
|     print_warning () { echo -e "Предупреждение: $*" ;} | ||||
|     print_info () { echo -e "Информация: \"$*\"" ;} | ||||
|     print_ok () { echo -e "Успех: $*" ;} | ||||
| fi | ||||
|  | ||||
| print_var () { for vp in $@ ; do echo "${vp}=${!vp}" ; done ;} | ||||
|  | ||||
| fatal () { | ||||
|     print_error "$@" | ||||
|     print_error "$@ Аварийное завершение работы WineHelper!" | ||||
|     [[ -n "$WINESERVER" ]] && "$WINESERVER" -w | ||||
|     exit 1 | ||||
| } | ||||
| @@ -101,14 +106,6 @@ else | ||||
|     check_variables DXVK_NVAPI_LOG_LEVEL "none" | ||||
| 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="20250102" | ||||
|  | ||||
| @@ -126,6 +123,12 @@ WH_TESTINSTALL_DIR="$DATA_PATH/testinstall" | ||||
| WH_WINETRICKS="$DATA_PATH/winetricks_$WINETRICKS_VERSION" | ||||
|  | ||||
| WH_MENU_DIR="$HOME/.local/share/applications/WineHelper" | ||||
|  | ||||
| # TODO: system menu directory | ||||
| # /usr/share/desktop-directories/WineHelper.directory | ||||
| # /etc/xdg/menus/applications-merged/WineHelper.menu | ||||
|  | ||||
| # user menu directory | ||||
| WH_MENU_CATEGORY="$HOME/.local/share/desktop-directories/WineHelper.directory" | ||||
| WH_MENU_CONFIG="$HOME/.config/menus/applications-merged/WineHelper.menu" | ||||
|  | ||||
| @@ -155,6 +158,7 @@ check_variables WH_WINDOWS_VER "10" | ||||
| # check_variables WH_USE_GSTREAMER "1" | ||||
| # check_variables WH_USE_D3D_EXTRAS "1" | ||||
| check_variables WH_USE_SHADER_CACHE "1" | ||||
| check_variables WH_USE_MESA_GL_OVERRIDE "0" | ||||
| check_variables WH_USE_WINE_DXGI "0" | ||||
| check_variables WH_DLL_INSTALL "" | ||||
|  | ||||
| @@ -162,12 +166,10 @@ check_variables WINE_WIN_START "start /wait /high /unix" | ||||
|  | ||||
| check_variables WINE_CPU_TOPOLOGY "8" | ||||
|  | ||||
| check_variables USE_RENDERER "opengl" # opengl, damavand, proton | ||||
|  | ||||
| check_variables DXVK_VER "1.10.3-28" | ||||
| check_variables DXVK_VER "none" | ||||
| # check_variables DXVK_CONFIG_FILE "path/to/dxvk.conf" | ||||
|  | ||||
| check_variables VKD3D_VER "1.1-2602" | ||||
| check_variables VKD3D_VER "none" | ||||
| # check_variables VKD3D_LIMIT_TESS_FACTORS 64 | ||||
| # check_variables VKD3D_FEATURE_LEVEL "12_0" | ||||
|  | ||||
| @@ -326,6 +328,7 @@ unpack () { | ||||
| try_get_page () { | ||||
|     local url_page="$1" | ||||
|     export OUT_PAGE_TMP="${WH_TMP_DIR}/url_page.tmp" | ||||
|     try_remove_file "$OUT_PAGE_TMP" | ||||
|     print_info "Чтение страницы: $url_page" | ||||
|     if ! curl -o "$OUT_PAGE_TMP" -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "$url_page" \ | ||||
|     || grep -q "Forbidden" "$OUT_PAGE_TMP" | ||||
| @@ -342,7 +345,6 @@ read_page () { | ||||
|     && [[ -f "$OUT_PAGE_TMP" ]] | ||||
|     then | ||||
|         cat "$OUT_PAGE_TMP" | ||||
|         try_remove_file "$OUT_PAGE_TMP" | ||||
|         unset OUT_PAGE_TMP | ||||
|     else | ||||
|         echo "Используй try_get_page перед read_page" | ||||
| @@ -395,11 +397,15 @@ print_license_agreement () { | ||||
| } | ||||
|  | ||||
| try_download () { | ||||
|     if [[ $1 != "cloud" ]] ; then | ||||
|         if [[ $WH_USE_GUI == "1" ]] \ | ||||
|         && [[ $(ps -o command= -p "$PPID" | awk '{print $2}') =~ "$DATA_PATH/winehelper_gui.py" ]] | ||||
|         then print_ok "Соглашения приняты из графического интерфейса." | ||||
|         else print_license_agreement | ||||
|         fi | ||||
|     else | ||||
|         shift | ||||
|     fi | ||||
|     local download_file_url output_file output_file_name | ||||
|     download_file_url="${1// /%20}" | ||||
|     output_file="$2" | ||||
| @@ -474,6 +480,10 @@ var_winedlloverride_update () { | ||||
|     fi | ||||
| } | ||||
|  | ||||
| tmp_winedlloverride_update () { | ||||
|     var_winedlloverride_update "$1" | ||||
| } | ||||
|  | ||||
| var_dxvk_config_update () { | ||||
|     if [[ -n "${DXVK_CONFIG}" ]] | ||||
|     then export DXVK_CONFIG="${1};${DXVK_CONFIG}" | ||||
| @@ -542,8 +552,6 @@ create_desktop () { | ||||
|     if [[ -z "$name_desktop" ]] || [[ -z "$exe_file" ]] ; then | ||||
|         fatal "Использование: $0 desktop \"Имя ярлыка\" \"/путь/к/файлу.exe\" [иконка|auto] [имя_desktop_файла]" | ||||
|     elif [[ ! -f "$exe_file" ]] ; then | ||||
|         print_warning "Для создания ярлыка не найден исполняемый файл: $exe_file" | ||||
|  | ||||
|         local BASENAME_EXE="$(basename "$exe_file")" | ||||
|         print_info "Запускаем поиск $BASENAME_EXE" | ||||
|         local FIND_PATH | ||||
| @@ -554,9 +562,11 @@ create_desktop () { | ||||
|         exe_file="$(find "$FIND_PATH" -type f -not -type l \ | ||||
|                     -not -path "*/windows/*" -not -path "*/dosdevices/*" \ | ||||
|                     -iname "$BASENAME_EXE")" | ||||
|         if [[ -z "$exe_file" ]] || [[ ! -f "$exe_file" ]] | ||||
|         then fatal "Для создания ярлыка не найден исполняемый файл: $BASENAME_EXE" | ||||
|         else print_ok "Исполняемый файл $BASENAME_EXE найден по пути: $(dirname "$exe_file")/" | ||||
|         if [[ -z "$exe_file" ]] || [[ ! -f "$exe_file" ]] ; then | ||||
|             print_error "Для создания ярлыка не найден исполняемый файл: $BASENAME_EXE" | ||||
|             return 1 | ||||
|         else | ||||
|             print_ok "Исполняемый файл $BASENAME_EXE найден по пути: $(dirname "$exe_file")/" | ||||
|         fi | ||||
|     fi | ||||
|  | ||||
| @@ -762,31 +772,25 @@ run_installed_programs () { | ||||
|     fi | ||||
| } | ||||
|  | ||||
| init_wined3d () { | ||||
|     if [[ "$USE_RENDERER" != "proton" ]] ; then | ||||
|         WINED3D_FILES="d3d8 d3d9 d3d10_1 d3d10 d3d10core d3d11 dxgi d3d12 d3d12core" | ||||
|         for wined3dfiles in $WINED3D_FILES ; do | ||||
| copy_wined3d () { | ||||
|     for wined3dfiles in $1 ; do | ||||
|         try_copy_wine_dll_to_pfx_64 "$wined3dfiles.dll" | ||||
|         try_copy_wine_dll_to_pfx_32 "$wined3dfiles.dll" | ||||
|     done | ||||
| #         if [[ "$USE_RENDERER" == "damavand" ]] | ||||
| #         then export WINE_D3D_CONFIG="renderer=vulkan" | ||||
| #         else export WINE_D3D_CONFIG="renderer=gl" | ||||
| #         fi | ||||
|         return 0 | ||||
|     else | ||||
|         return 1 | ||||
|     fi | ||||
| } | ||||
|  | ||||
| init_dxvk () { | ||||
|     check_variables USE_DXVK_VER "$1" | ||||
|     DXVK_VER="$1" | ||||
|     if [[ $DXVK_VER == "none" ]] ; then | ||||
|         copy_wined3d "d3d8 d3d9 d3d10_1 d3d10 d3d10core d3d11 dxgi" | ||||
|         return 0 | ||||
|     fi | ||||
|  | ||||
|     get_dxvk() { | ||||
|         local DXVK_URL="$1" | ||||
|         local DXVK_VAR_VER="$2" | ||||
|         local DXVK_PACKAGE="${WH_VULKAN_LIBDIR}/${DXVK_VAR_VER}.tar.$(echo "${DXVK_URL#*.tar.}")" | ||||
|         if try_download "$DXVK_URL" "$DXVK_PACKAGE" check256sum \ | ||||
|         if try_download cloud "$DXVK_URL" "$DXVK_PACKAGE" check256sum \ | ||||
|         && unpack "$DXVK_PACKAGE" "$WH_VULKAN_LIBDIR" | ||||
|         then | ||||
|             try_remove_file "$DXVK_PACKAGE" | ||||
| @@ -795,36 +799,37 @@ init_dxvk () { | ||||
|         return 1 | ||||
|     } | ||||
|  | ||||
|     for DXVK_VAR_VER in "$USE_DXVK_VER" $@ ; do | ||||
|         if [[ ! -d "${WH_VULKAN_LIBDIR}/${DXVK_VAR_VER}" ]] ; then | ||||
|             get_dxvk "$CLOUD_URL/${DXVK_VAR_VER}.tar.xz" "$DXVK_VAR_VER" | ||||
|     if [[ ! -d "${WH_VULKAN_LIBDIR}/${DXVK_VER}" ]] ; then | ||||
|         get_dxvk "$CLOUD_URL/${DXVK_VER}.tar.xz" "$DXVK_VER" | ||||
|     fi | ||||
|     done | ||||
|  | ||||
|     if [[ "${WH_USE_WINE_DXGI}" == 1 ]] ; then | ||||
|     if [[ $WH_USE_WINE_DXGI == "1" ]] ; then | ||||
|         DXVK_FILES="d3d9 d3d10_1 d3d10 d3d11" # dxvk_config openvr_api_dxvk" | ||||
|         try_copy_wine_dll_to_pfx_64 "dxgi.dll" | ||||
|         try_copy_wine_dll_to_pfx_32 "dxgi.dll" | ||||
|         copy_wined3d "dxgi" | ||||
|     else | ||||
|         DXVK_FILES="d3d9 d3d10_1 d3d10 d3d11 dxgi" # dxvk_config openvr_api_dxvk" | ||||
|     fi | ||||
|  | ||||
|     for dxvkfiles in $DXVK_FILES ; do | ||||
|         try_copy_other_dll_to_pfx_64 "${WH_VULKAN_LIBDIR}/${USE_DXVK_VER}/x64/$dxvkfiles.dll" | ||||
|         if try_copy_other_dll_to_pfx_32 "${WH_VULKAN_LIBDIR}/${USE_DXVK_VER}/x32/$dxvkfiles.dll" | ||||
|         try_copy_other_dll_to_pfx_64 "${WH_VULKAN_LIBDIR}/${DXVK_VER}/x64/$dxvkfiles.dll" | ||||
|         if try_copy_other_dll_to_pfx_32 "${WH_VULKAN_LIBDIR}/${DXVK_VER}/x32/$dxvkfiles.dll" | ||||
|         then var_winedlloverride_update "$dxvkfiles=n" | ||||
|         fi | ||||
|     done | ||||
| } | ||||
|  | ||||
| init_vkd3d () { | ||||
|     check_variables USE_VKD3D_VER "$1" | ||||
|     VKD3D_VER="$1" | ||||
|     if [[ $VKD3D_VER == "none" ]] ; then | ||||
|         copy_wined3d "d3d12 d3d12core" | ||||
|         return 0 | ||||
|     fi | ||||
|  | ||||
|     get_vkd3d() { | ||||
|         local VKD3D_URL="$1" | ||||
|         local VKD3D_VAR_VER="$2" | ||||
|         local VKD3D_PACKAGE="${WH_VULKAN_LIBDIR}/${VKD3D_VAR_VER}.tar.$(echo "${VKD3D_URL#*.tar.}")" | ||||
|         if try_download "$VKD3D_URL" "$VKD3D_PACKAGE" check256sum \ | ||||
|         if try_download cloud "$VKD3D_URL" "$VKD3D_PACKAGE" check256sum \ | ||||
|         && unpack "$VKD3D_PACKAGE" "$WH_VULKAN_LIBDIR" | ||||
|         then | ||||
|             try_remove_file "$VKD3D_PACKAGE" | ||||
| @@ -833,16 +838,14 @@ init_vkd3d () { | ||||
|         return 1 | ||||
|     } | ||||
|  | ||||
|     for VKD3D_VAR_VER in "$USE_VKD3D_VER" $@ ; do | ||||
|         if [[ ! -d "${WH_VULKAN_LIBDIR}/${VKD3D_VAR_VER}" ]] ; then | ||||
|             get_vkd3d "$CLOUD_URL/${VKD3D_VAR_VER}.tar.xz" "$VKD3D_VAR_VER" | ||||
|     if [[ ! -d "${WH_VULKAN_LIBDIR}/${VKD3D_VER}" ]] ; then | ||||
|         get_vkd3d "$CLOUD_URL/${VKD3D_VER}.tar.xz" "$VKD3D_VER" | ||||
|     fi | ||||
|     done | ||||
|  | ||||
|     VKD3D_FILES="d3d12 d3d12core libvkd3d-shader-1 libvkd3d-1" # libvkd3d-proton-utils-3 | ||||
|     for vkd3dfiles in $VKD3D_FILES ; do | ||||
|         try_copy_other_dll_to_pfx_64 "${WH_VULKAN_LIBDIR}/${USE_VKD3D_VER}/x64/$vkd3dfiles.dll" | ||||
|         if try_copy_other_dll_to_pfx_32 "${WH_VULKAN_LIBDIR}/${USE_VKD3D_VER}/x86/$vkd3dfiles.dll" | ||||
|         try_copy_other_dll_to_pfx_64 "${WH_VULKAN_LIBDIR}/${VKD3D_VER}/x64/$vkd3dfiles.dll" | ||||
|         if try_copy_other_dll_to_pfx_32 "${WH_VULKAN_LIBDIR}/${VKD3D_VER}/x86/$vkd3dfiles.dll" | ||||
|         then var_winedlloverride_update "$vkd3dfiles=n" | ||||
|         fi | ||||
|     done | ||||
| @@ -857,7 +860,7 @@ init_wine_ver () { | ||||
|             download_url="$CLOUD_URL/$WH_WINE_USE.tar.xz" | ||||
|             wine_package="$WH_TMP_DIR/$WH_WINE_USE.tar.xz" | ||||
|  | ||||
|             try_download "$download_url" "$wine_package" "check256sum" | ||||
|             try_download cloud "$download_url" "$wine_package" "check256sum" | ||||
|             unpack "$wine_package" "$WH_DIST_DIR/" | ||||
|             try_remove_file "$wine_package" | ||||
|  | ||||
| @@ -910,7 +913,7 @@ init_wine_ver () { | ||||
|             CPCSP_PROXY_NAME="wine-cpcsp_proxy-$CPCSP_PROXY_VER" | ||||
|             CPCSP_PROXY_URL="$CLOUD_URL/$CPCSP_PROXY_NAME.tar.xz" | ||||
|  | ||||
|             try_download "$CPCSP_PROXY_URL" "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz" check256sum | ||||
|             try_download cloud "$CPCSP_PROXY_URL" "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz" check256sum | ||||
|             unpack "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz" "$WH_TMP_DIR" | ||||
|  | ||||
|             cp -fr "$WH_TMP_DIR/$CPCSP_PROXY_NAME/"i386-* "$WINEDIR/lib/wine/" | ||||
| @@ -1283,7 +1286,8 @@ init_wineprefix () { | ||||
|     echo "# переменные последнего использования префикса:" > "$WINEPREFIX/last.conf" | ||||
|     for var in WH_WINE_USE BASE_PFX WINEARCH WH_WINDOWS_VER WINEESYNC WINEFSYNC \ | ||||
|     STAGING_SHARED_MEMORY WINE_LARGE_ADDRESS_AWARE WH_USE_SHADER_CACHE WH_USE_WINE_DXGI \ | ||||
|     WINE_CPU_TOPOLOGY USE_RENDERER DXVK_VER VKD3D_VER WH_XDG_OPEN WH_USE_MESA_GL_OVERRIDE | ||||
|     WINE_CPU_TOPOLOGY DXVK_VER VKD3D_VER WH_XDG_OPEN WH_USE_MESA_GL_OVERRIDE \ | ||||
|     WH_USE_CPCSP_PROXY | ||||
|     do | ||||
|         echo "export $var=\"${!var}\"" >> "$WINEPREFIX/last.conf" | ||||
|     done | ||||
| @@ -1333,7 +1337,8 @@ use_winetricks () { | ||||
| } | ||||
|  | ||||
| kill_wine () { | ||||
|     wine_pids=$(ls -l /proc/*/exe 2>/dev/null | grep -E 'wine(64)?-preloader|wineserver' | awk -F/ '{print $3}') | ||||
|     wine_pids=$(ls -l /proc/*/exe 2>/dev/null | grep -E 'wine(64)?-preloader|wineserver' \ | ||||
|     | grep "$USER_WORK_PATH" | awk -F/ '{print $3}') | ||||
|  | ||||
|     for pw_kill_pids in ${wine_pids}; do | ||||
|         if ps cax | grep "${pw_kill_pids}" ; then | ||||
| @@ -1343,23 +1348,25 @@ kill_wine () { | ||||
| } | ||||
|  | ||||
| init_database () { | ||||
|     WHDB_FILE="0" | ||||
|     if [[ -f "$WIN_FILE_EXEC" ]] ; then | ||||
|     local whdb_file="0" | ||||
|     if [[ -n "$WIN_FILE_EXEC" ]] \ | ||||
|     && [[ -f "$WIN_FILE_EXEC" ]] | ||||
|     then | ||||
|         WHDB="$(basename "$WIN_FILE_EXEC" .exe)" | ||||
|         if [[ -f "$WIN_FILE_EXEC".whdb ]] ; then | ||||
|             WHDB_FILE="$WIN_FILE_EXEC".whdb | ||||
|             whdb_file="$WIN_FILE_EXEC".whdb | ||||
|         else | ||||
|             orig_IFS="$IFS" && IFS=$'\n' | ||||
|             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 | ||||
|             IFS="$orig_IFS" | ||||
|         fi | ||||
|     fi | ||||
|  | ||||
|     if [[ "$WHDB_FILE" != "0" ]] ; then | ||||
|         print_info "Используется файл настроек: $WHDB_FILE" | ||||
|         . "$WHDB_FILE" | ||||
|     if [[ "$whdb_file" != "0" ]] ; then | ||||
|         print_info "Используется файл настроек: $whdb_file" | ||||
|         . "$whdb_file" | ||||
|     fi | ||||
|  | ||||
|     if check_prefix_var && [[ -f "$WINEPREFIX/last.conf" ]] ; then | ||||
| @@ -1378,50 +1385,95 @@ prepair_wine () { | ||||
|     init_wine_ver | ||||
|     init_wineprefix | ||||
|     use_winetricks | ||||
|  | ||||
|     if init_wined3d ; then | ||||
|         : | ||||
|     else | ||||
|     init_dxvk "$DXVK_VER" | ||||
|     init_vkd3d "$VKD3D_VER" | ||||
|     fi | ||||
|  | ||||
|     [[ "$MANGOHUD" == 1 ]] && MANGOHUD_RUN="mangohud" | ||||
| } | ||||
|  | ||||
| wine_regfile () { | ||||
|     print_info "Запускаем команду: $WINELOADER $@" | ||||
|     "$WINELOADER" "$@" && print_ok "Выполнено." || fatal "Не выполнено: $WINELOADER $@" | ||||
|     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" | ||||
|         && file "$win_file_exec" | grep -q "x86-64" | ||||
|         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 | ||||
|         exec $MANGOHUD_RUN "$WINELOADER" "$@" $LAUNCH_PARAMETERS | ||||
|         fatal "Команда введена не правильно или не найден исполняемый файл $1" | ||||
|     fi | ||||
|     # wait_wineserver | ||||
|  | ||||
|     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 () { | ||||
|     print_info "Запускаем установку: $1." | ||||
|     if [[ "$INSTALL_MODE" == "manual" ]] | ||||
|     then print_warning "Рекомендуется не менять пути для установки приложения!" | ||||
|     fi | ||||
|     [[ ! -f "$1" ]] && fatal "Нет файла для установки: $1" | ||||
|     case "${1,,}" in | ||||
|         *.exe) wine_run $WINE_WIN_START "$@" ;; | ||||
|         *.msi) wine_run msiexec /i "$@" ;; | ||||
|         *.bat|*.cmd) wine_run "$@" ;; | ||||
|         *) fatal "Не удалось запустить файл $1. Проверьте расширение файла." ;; | ||||
|     case "$WH_INSTALL_MODE" in | ||||
|         "manual") print_warning "Рекомендуется не менять пути для установки приложения!" ;; | ||||
|           "test") print_warning "Установка приложения из списка экспериментальных скриптов." ;; | ||||
|     esac | ||||
|     wait_wineserver | ||||
|  | ||||
|     if [[ ! -f "$1" ]] | ||||
|     then fatal "Нет файла для установки: $1" | ||||
|     else wine_run "$@" | ||||
|     fi | ||||
| } | ||||
|  | ||||
| run_autoinstall () { | ||||
| @@ -1439,24 +1491,20 @@ run_autoinstall () { | ||||
|     elif [[ -f "$WH_MANUALINSTALL_DIR/$INSTALL_SCRIPT_NAME" ]] ; then | ||||
|         INSTALL_SCRIPT="$WH_MANUALINSTALL_DIR/$INSTALL_SCRIPT_NAME" | ||||
|         WH_INSTALL_MODE="manual" | ||||
|     elif [[ -d "$WH_TESTINSTALL_DIR" ]] \ | ||||
|     && [[ -f "$WH_TESTINSTALL_DIR/$INSTALL_SCRIPT_NAME" ]] | ||||
|     then | ||||
|     elif [[ -f "$WH_TESTINSTALL_DIR/$INSTALL_SCRIPT_NAME" ]] ; then | ||||
|         INSTALL_SCRIPT="$WH_TESTINSTALL_DIR/$INSTALL_SCRIPT_NAME" | ||||
|         WH_INSTALL_MODE="test" | ||||
|     else | ||||
|         INSTALL_SCRIPT="0" | ||||
|     fi | ||||
|     export INSTALL_SCRIPT INSTALL_MODE | ||||
|     export INSTALL_SCRIPT WH_INSTALL_MODE | ||||
|  | ||||
|     if [[ $INSTALL_SCRIPT_NAME == "list" ]] || [[ -z "$INSTALL_SCRIPT_NAME" ]] ; then | ||||
|  | ||||
|         list_install_scripts() { | ||||
|             local dir="$1" | ||||
|             local title="$2" | ||||
|             [[ ! -d "$dir" ]] || [[ -z "$(ls -A "$dir" 2>/dev/null)" ]] && return | ||||
|  | ||||
|             print_info "$title" | ||||
|         print_install_list () { | ||||
|             parse_install_scripts() { | ||||
|                 local parse_dir="$1" | ||||
|                 [[ ! -d "$parse_dir" ]] || [[ -z "$(ls -A "$parse_dir" 2>/dev/null)" ]] && return | ||||
|  | ||||
|                 awk ' | ||||
|                     FNR==1 { | ||||
| @@ -1473,14 +1521,27 @@ run_autoinstall () { | ||||
|                             printf "\n%s - %s\n%s\n", filename, progname, info | ||||
|                         } | ||||
|                     } | ||||
|             ' "$dir"/* | ||||
|                 ' "$parse_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" "Список программ с возможностью автоматической установки:" | ||||
|         echo | ||||
|         list_install_scripts "$WH_MANUALINSTALL_DIR" "Список программ с возможностью установки из существующего дистрибутива:" | ||||
|         print_install_list | less -R --use-color | ||||
|  | ||||
|     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" "$@" | ||||
|         [[ -n $OUT_PAGE_TMP ]] && try_remove_file "$OUT_PAGE_TMP" | ||||
|         print_info "Завершена установка $INSTALL_SCRIPT_NAME" | ||||
|     else | ||||
|         fatal "Скрипт автоматической установки для $INSTALL_SCRIPT_NAME не найден!" | ||||
| @@ -1770,6 +1831,7 @@ remove_winehelper () { | ||||
|         echo " - Все настройки WineHelper" | ||||
|         echo " - Все приложения/программы, установленные через WineHelper" | ||||
|         echo " - Все ярлыки из меню и с рабочего стола, созданные с помощью WineHelper" | ||||
|         echo " - Все резервные копии и логи, созданные WineHelper" | ||||
|         echo "======================================================" | ||||
|         if print_confirmation "Продолжить?" ; then | ||||
|             echo "----------------------------------------------" | ||||
| @@ -1785,6 +1847,7 @@ remove_winehelper () { | ||||
|  | ||||
|     # Удаление рабочих каталогов | ||||
|     try_remove_dir "$USER_WORK_PATH" | ||||
|     try_remove_dir "$HOME/winehelper_backup_log" | ||||
|  | ||||
|     # Удаление файлов меню | ||||
|     try_remove_dir "$WH_MENU_DIR" | ||||
| @@ -1863,7 +1926,8 @@ backup_prefix() { | ||||
|     check_prefix_var | ||||
|  | ||||
|     local backup_base_dir backup_archive_name backup_dest_path temp_backup_dir temp_prefix_dir temp_users_dir | ||||
|     backup_base_dir="$(xdg-user-dir DESKTOP)" | ||||
|     backup_base_dir="$HOME/winehelper_backup_log" | ||||
|     create_new_dir "$backup_base_dir" | ||||
|     backup_archive_name="backup_${PREFIX_NAME}_$(date +%d.%m.%Y-%H.%M.%S).whpack" | ||||
|     backup_dest_path="$backup_base_dir/$backup_archive_name" | ||||
|     temp_backup_dir="$WH_TMP_DIR/backup_${PREFIX_NAME}_$(date +%d.%m.%Y-%H.%M.%S)" | ||||
| @@ -2142,20 +2206,21 @@ select_component_version() { | ||||
| } | ||||
|  | ||||
| run_install_to_prefix() { | ||||
|     export WINEPREFIX="$1" | ||||
|     local WIN_FILE_EXEC="$2" | ||||
|  | ||||
|     if [[ -z "$WINEPREFIX" ]] || [[ -z "$WIN_FILE_EXEC" ]]; then | ||||
|     if [[ -z "$1" ]] || [[ -z "$2" ]] || [[ ! -f "$2" ]] ; then | ||||
|         fatal "Использование: $SCRIPT_NAME install-to-prefix <имя_префикса> <путь_к_установщику>" | ||||
|     fi | ||||
|  | ||||
|     export WINEPREFIX="$1" | ||||
|     shift | ||||
|  | ||||
|     check_prefix_var | ||||
|     prepair_wine | ||||
|     wine_run_install "$WIN_FILE_EXEC" | ||||
|     wine_run "$@" | ||||
| } | ||||
|  | ||||
| run_install_dxvk() { | ||||
|     local version="$1" | ||||
|  | ||||
|     if [[ -z "$version" ]] ; then | ||||
|         version=$(select_component_version "DXVK") | ||||
|         [[ $? -ne 0 ]] && print_info "Установка DXVK отменена." && return | ||||
| @@ -2163,23 +2228,27 @@ run_install_dxvk() { | ||||
|         list_component_versions "DXVK" | ||||
|         return | ||||
|     fi | ||||
|  | ||||
|     check_prefix_var | ||||
|     init_database | ||||
|  | ||||
|     export DXVK_VER="$version" | ||||
|  | ||||
|     init_wine_ver | ||||
|     init_wineprefix | ||||
|     if [[ "$version" == "none" ]] ; then | ||||
|         print_info "Удаление DXVK..." | ||||
|         init_wined3d | ||||
|         update_last_conf_var "DXVK_VER" "" | ||||
|     else | ||||
|         init_dxvk "$version" | ||||
|         update_last_conf_var "DXVK_VER" "$USE_DXVK_VER" | ||||
|  | ||||
|     if [[ "$DXVK_VER" == "none" ]] | ||||
|     then print_info "Удаление DXVK..." | ||||
|     else print_info "Установка DXVK: $DXVK_VER" | ||||
|     fi | ||||
|  | ||||
|     init_dxvk "$DXVK_VER" | ||||
|     wait_wineserver | ||||
| } | ||||
|  | ||||
| run_install_vkd3d() { | ||||
|     local version="$1" | ||||
|  | ||||
|     if [[ -z "$version" ]] ; then | ||||
|         version=$(select_component_version "VKD3D") | ||||
|         [[ $? -ne 0 ]] && print_info "Установка VKD3D отменена." && return | ||||
| @@ -2187,18 +2256,21 @@ run_install_vkd3d() { | ||||
|         list_component_versions "VKD3D" | ||||
|         return | ||||
|     fi | ||||
|  | ||||
|     check_prefix_var | ||||
|     init_database | ||||
|  | ||||
|     export VKD3D_VER="$version" | ||||
|  | ||||
|     init_wine_ver | ||||
|     init_wineprefix | ||||
|     if [[ "$version" == "none" ]] ; then | ||||
|         print_info "Удаление VKD3D..." | ||||
|         init_wined3d | ||||
|         update_last_conf_var "VKD3D_VER" "" | ||||
|     else | ||||
|         init_vkd3d "$version" | ||||
|         update_last_conf_var "VKD3D_VER" "$USE_VKD3D_VER" | ||||
|  | ||||
|     if [[ "$VKD3D_VER" == "none" ]] | ||||
|     then print_info "Удаление VKD3D..." | ||||
|     else print_info "Установка VKD3D: $VKD3D_VER" | ||||
|     fi | ||||
|  | ||||
|     init_vkd3d "$VKD3D_VER" | ||||
|     wait_wineserver | ||||
| } | ||||
|  | ||||
| @@ -2216,13 +2288,35 @@ run_change_wine_version() { | ||||
|     fi | ||||
|  | ||||
|     init_wine_ver | ||||
|  | ||||
|     init_wineprefix | ||||
|  | ||||
|     wait_wineserver | ||||
|     print_ok "Версия Wine для префикса $PREFIX_NAME успешно изменена на $WH_WINE_USE." | ||||
| } | ||||
|  | ||||
| clear_winetricks_cache() { | ||||
|     local winetricks_cache_dir="$HOME/.cache/winetricks" | ||||
|     local winehelper_wt_cache_dir="$HOME/.cache/winehelper/winetricks" | ||||
|  | ||||
|     if [[ ! -d "$winetricks_cache_dir" ]] && [[ ! -d "$winehelper_wt_cache_dir" ]]; then | ||||
|         print_info "Кэш Winetricks не найден. Очистка не требуется." | ||||
|         return 0 | ||||
|     fi | ||||
|  | ||||
|     if [[ ! $1 =~ --force|-y ]] ; then | ||||
|         print_warning "Вы собираетесь очистить кэш Winetricks." | ||||
|         echo "Будут удалены все скачанные установщики Winetricks и списки компонентов." | ||||
|         if ! print_confirmation "Продолжить?" | ||||
|         then | ||||
|             print_info "Операция отменена." | ||||
|             exit 1 | ||||
|         fi | ||||
|     fi | ||||
|     print_info "Очистка кэша Winetricks..." | ||||
|     try_remove_dir "$winetricks_cache_dir" | ||||
|     try_remove_dir "$winehelper_wt_cache_dir" | ||||
|     print_ok "Кэш Winetricks успешно очищен." | ||||
| } | ||||
|  | ||||
| wh_info () { | ||||
|     echo "Использование: $SCRIPT_NAME [команда] | ||||
|  | ||||
| @@ -2242,6 +2336,7 @@ wh_info () { | ||||
|     remove-prefix [имя_префикса]    удалить префикс и все связанные данные | ||||
|     backup-prefix [имя_префикса]    создать резервную копию префикса | ||||
|     restore-prefix \"путь/до/whpack\" восстановить префикс из резервной копии | ||||
|     clear-winetricks-cache          очистить кэш Winetricks | ||||
|  | ||||
| Параметры: | ||||
|     --help                          показать эту справку и выйти | ||||
| @@ -2258,7 +2353,8 @@ create_new_dir "$WH_DIST_DIR" | ||||
| create_new_dir "$WH_PREFIXES_DIR" | ||||
| 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" ]] | ||||
| then try_force_link_dir "$HOME/.local/share/$SCRIPT_NAME" "$HOME/.winehelper" | ||||
| fi | ||||
| @@ -2299,17 +2395,20 @@ case "$arg1" in | ||||
|     remove-prefix) remove_prefix "$@" ;; | ||||
|     create-base-pfx) create_base_pfx "$@" ;; | ||||
|     init-prefix) prepair_wine ; wait_wineserver ;; | ||||
|     clear-winetricks-cache) clear_winetricks_cache "$@" ;; | ||||
|     *) | ||||
|         if [[ -f "$arg1" ]] ; then | ||||
|             WIN_FILE_EXEC="$(readlink -f "$arg1")" | ||||
|             WIN_FILE_NAME="$(basename "$WIN_FILE_EXEC")" | ||||
|             find_prefix "$WIN_FILE_EXEC" | ||||
|             case "${WIN_FILE_NAME,,}" in | ||||
|                 *.exe) prepair_wine ; wine_run $WINE_WIN_START "$WIN_FILE_EXEC" "$@" ;; | ||||
|                 *.msi) prepair_wine ; wine_run msiexec /i "$WIN_FILE_EXEC" "$@" ;; | ||||
|                 *.bat|*.cmd) prepair_wine ; wine_run start "$WIN_FILE_EXEC" "$@" ;; | ||||
|                 *) fatal "Тип файла не поддерживается." ;; | ||||
|             esac | ||||
|             prepair_wine | ||||
|  | ||||
|             if [[ -n "$1" ]] && [[ -f "$1" ]] ; then | ||||
|                 WIN_OPEN_FILE="$("$WINELOADER" winepath -w "$1")" | ||||
|                 shift | ||||
|             fi | ||||
|  | ||||
|             wine_run "$WIN_FILE_EXEC" "$@" "$WIN_OPEN_FILE" | ||||
|         else | ||||
|             print_error "Команды $arg1 не существует." | ||||
|             wh_info | ||||
|   | ||||