Compare commits

...

66 Commits
0.4.7 ... 0.5.1

Author SHA1 Message Date
bda170017c updated changelog to 0.5.1 2025-08-01 12:44:20 +03:00
42e822217b moved ais-lpu-client to testinstall 2025-08-01 12:40:34 +03:00
79d45b6f51 Merge branch 'minergenon-gui' 2025-08-01 12:24:56 +03:00
ae2d47b641 added gui for winehelper 2025-08-01 15:22:53 +06:00
576f939ceb Merge branch 'minergenon-add_prog_url' 2025-08-01 12:17:45 +03:00
c9e4cb23b7 Merge branch 'minergenon-backup_update' 2025-08-01 12:16:13 +03:00
f17b354ca3 added desktop file for GUI 2025-08-01 12:13:32 +03:00
3d28dc2758 su_run: use pkexec for GUI 2025-08-01 12:11:24 +03:00
b403934966 added guardant for t-flex 2025-08-01 12:10:16 +03:00
e79d7e5b17 added a link to the off.sites 2025-07-31 18:39:06 +06:00
ea621f0402 updated creation and restoration of a prefix backup 2025-07-31 09:24:41 +06:00
d65e4dc74d fixed variables for winehelper_gui.py 2025-07-30 12:15:57 +03:00
45062a252d added support winehelper_gui.py 2025-07-29 13:07:39 +03:00
978ef09597 added WH icons 2025-07-29 10:49:04 +03:00
5006817fed fixed and updated AIS LPU Client 2025-07-28 12:38:45 +03:00
c781374979 Merge branch 'minergenon-ais' 2025-07-28 10:52:39 +03:00
2ff5056c8a Merge branch 'minergenon-extract_icon' 2025-07-28 10:50:54 +03:00
6c0afe5dc7 Merge branch 'minergenon-changelog_auto_completion' 2025-07-28 10:50:36 +03:00
5fac6c25c2 Merge branch 'minergenon-swnd' 2025-07-28 10:49:43 +03:00
a1097b9ecc added manualinstall: ais 2025-07-26 15:42:12 +06:00
394ad6e891 added extract_icon function 2025-07-18 13:04:17 +06:00
b122128b0b added changelog auto_completion 2025-07-18 09:29:36 +06:00
674a499c5e wine_run: added check arch for *.exe files 2025-07-17 15:50:31 +03:00
a3de3240b6 print_confirmation: added return 0 2025-07-17 15:35:02 +03:00
f985c8d92e added args: --changelog to help 2025-07-17 15:02:33 +03:00
cd934bab1c added args: changelog 2025-07-17 14:59:35 +03:00
f67c9ca3ec updated changelog to 0.5.0 2025-07-14 18:01:07 +03:00
9304a5e19f dependencies.sh: dropped libOSMesa 2025-07-14 17:42:04 +03:00
a0be9e7ce1 try_download: always display a license agreement 2025-07-14 17:17:54 +03:00
93b8b41fcc replaced read answer to print_confirmation 2025-07-14 14:04:05 +03:00
d3df605806 strict consent to the continuation of the installation of components 2025-07-14 13:46:26 +03:00
a6ee4a80ee testinstall: added swnd and swnd_x 2025-07-14 10:48:32 +06:00
3ea3fb5e53 Merge branch 'minergenon-fix_ui_remove_winehelper' 2025-07-11 11:21:07 +03:00
80a425f421 fix(ui): display y/N prompt on same line as question in remove-winehelper function 2025-07-11 10:24:44 +06:00
8736bb8f53 Merge branch 'minergenon-speed_install_list' 2025-07-10 16:47:44 +03:00
d553256a7a dropped warn about prefix is not selected 2025-07-10 14:13:03 +03:00
33dd0aa45e Merge branch 'minergenon-cancel_prefix' 2025-07-10 13:47:50 +03:00
877689ab5e choosing to cancel the prefix by 0 2025-07-10 13:58:26 +06:00
418493b7b8 fixed typos 2025-07-09 10:36:47 +03:00
cadfe91198 updated tflex17_pfx_x64 to v02 2025-07-09 10:36:28 +03:00
615bcdd95b speeding up the output of the install list 2025-07-09 12:44:13 +06:00
33a181fe4f Merge branch 'minergenon-refactor/simplify-desktop-parsing' 2025-07-08 11:40:03 +03:00
dfe41ea9c2 create_desktop: fixed nocopy 2025-07-08 11:38:03 +03:00
e649261ff9 refactor simplify desktop parsing 2025-07-08 14:22:57 +06:00
299ee7ed53 create_base_pfx: fixed create pfx to tmp 2025-07-08 11:11:13 +03:00
7c41d656aa check_installed_programs: updated run list 2025-07-08 10:49:52 +03:00
10707bd010 fixed names for t-flex desktop files 2025-07-08 09:21:07 +03:00
bd9d5b9561 unshare desktop directories 2025-07-08 09:20:05 +03:00
9caea05eb5 create_desktop: override name with arg4" 2025-07-08 08:42:14 +03:00
0bb88f6bff updated scripts: all t-flex programs 2025-07-07 20:17:14 +03:00
d238a37860 init_wine_ver: updated for new wine 10.3+ 2025-07-07 20:12:53 +03:00
fc6b2fb67d added WH_XDG_OPEN WH_USE_MESA_GL_OVERRIDE to last.conf 2025-07-07 19:28:12 +03:00
6ab84be100 added wine_wh_tflex_10-9_amd64 2025-07-07 19:25:05 +03:00
341b821442 added WH_USE_MESA_GL_OVERRIDE=1 for t-flex programs 2025-07-07 14:28:25 +03:00
63d24ae584 su_run: 3 attempts are added 2025-07-07 13:44:58 +03:00
f7450529c8 renamed: t-flex-doc17 -> t-flex-docs17 2025-07-07 13:02:23 +03:00
37234c25bf added WINEUSERNAME=xuser for new ALT wine 2025-07-07 12:59:52 +03:00
8601dd600f Oops. Forgot about zsh_completion in changelog. UPD 0.4.9 2025-07-04 09:43:22 +03:00
9df3940ec9 updated changelog to 0.4.8 2025-07-04 09:18:19 +03:00
f1315115c7 unpack: remove file if error 2025-07-04 09:12:40 +03:00
036957c729 Merge branch 'minergenon-daobit_programs_manualinstall_to_autoinstall' 2025-07-04 08:59:58 +03:00
c1791761d1 changes to the settings for installing daobit programs 2025-07-03 14:51:35 +06:00
7dae7c4739 daobit programs manualinstall to autoinstall 2025-07-03 14:46:09 +06:00
ddb644b732 Merge branch 'VanoMJ-zsh_comp' 2025-07-03 11:13:43 +03:00
d38b2ca2fb zsh_completion: init 2025-07-02 19:31:32 +03:00
9ff0414693 bash_completion: fix typo 2025-07-02 17:45:16 +03:00
57 changed files with 2434 additions and 292 deletions

View File

@ -1,5 +1,29 @@
История изменений: История изменений:
0.5.1:
* добавлена функция извлечения иконки из .exe файлов
* добавлен вывод истории изменений командой: winehelper --changelog
* добавлен графический режим Qt5 (альфа версия)
* обновлены скрипты для совместной работы с графическим режимом
* обновлены скрипты установок для t-flex-* (добавлена поддержка grdcontrol)
* добавлены ссылки на официальные сайты устанавливаемых приложений
* обновлены функции создания и восстановления резервных копий префиков
* добавлены иконки для приложения WineHelper
0.5.0:
* добавлен явный вывод отказа от ответственности и соглашения с ним
* обновлены все скрипты для установки t-flex-*
* добавлен wine_wh_tflex_10-9 с патчами для t-flex-*
* добавлена поддержка новых версий wine 10.3 и выше
* удален пакет libOSMesa из проверки на зависимости
* другие небольшие улучшения и оптимизации скриптов
0.4.9:
* добавлено автодопонение команд для zsh (zsh_completion)
0.4.8:
* все скрипты для программ daobit-* переведены из ручных установок в автоматические
0.4.7: 0.4.7:
* обновлены скрипты установки и префикс для программ ved-* и ctm-* * обновлены скрипты установки и префикс для программ ved-* и ctm-*
* обновлены скрипты установки для программ daobit-* * обновлены скрипты установки для программ daobit-*

View File

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

View File

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

View File

@ -1,6 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Пакет программ для таможенного оформления. Включает программы Такса и ТамДок в комплектациях Эксперт, а также программу Заполнитель. # info_ru: Пакет программ для таможенного оформления. Включает программы Такса и ТамДок в комплектациях Эксперт, а также программу Заполнитель.
######################################################################## ########################################################################
export PROG_URL="https://www.alta.ru"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="alta" export WINEPREFIX="alta"
export PROG_NAME="Альта-Эксперт" export PROG_NAME="Альта-Эксперт"

View File

@ -1,6 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Таможенное оформление товаров # info_ru: Таможенное оформление товаров
######################################################################## ########################################################################
export PROG_URL="https://www.alta.ru"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="alta" export WINEPREFIX="alta"
export PROG_NAME="Альта-ГТД" export PROG_NAME="Альта-ГТД"

View File

@ -1,6 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Пакет программ для таможенного оформления. Включает программы Альта-ГТД, Такса и ТамДок в комплектациях Максимум, а также программу Заполнитель. # info_ru: Пакет программ для таможенного оформления. Включает программы Альта-ГТД, Такса и ТамДок в комплектациях Максимум, а также программу Заполнитель.
######################################################################## ########################################################################
export PROG_URL="https://www.alta.ru"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="alta" export WINEPREFIX="alta"
export PROG_NAME="Альта-Максимум" export PROG_NAME="Альта-Максимум"

View File

@ -1,6 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Таможенное законодательство # info_ru: Таможенное законодательство
######################################################################## ########################################################################
export PROG_URL="https://www.alta.ru"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="alta" export WINEPREFIX="alta"
export PROG_NAME="Таможенные документы" export PROG_NAME="Таможенные документы"

View File

@ -1,6 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Расчет контракта # info_ru: Расчет контракта
######################################################################## ########################################################################
export PROG_URL="https://www.alta.ru"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="alta" export WINEPREFIX="alta"
export PROG_NAME="Такса" export PROG_NAME="Такса"

View File

@ -1,6 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Автоматизация импорта данных # info_ru: Автоматизация импорта данных
######################################################################## ########################################################################
export PROG_URL="https://www.alta.ru"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="alta" export WINEPREFIX="alta"
export PROG_NAME="Заполнитель" export PROG_NAME="Заполнитель"

View File

@ -1,9 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Программа для ведения автоматического контроля договоров, счетов и прочих платежных документов организаций-поставщиков и клиентов. # info_ru: Программа для ведения автоматического контроля договоров, счетов и прочих платежных документов организаций-поставщиков и клиентов.
######################################################################## ########################################################################
export PROG_URL="https://www.ctm.ru"
export PROG_NAME="СТМ-Финансы" export PROG_NAME="СТМ-Финансы"
export PROG_ICON="ctmfinance" export PROG_ICON="ctmfinance"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm" export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v05" export BASE_PFX="ved_ctm_pfx_x86_v05"

View File

@ -1,9 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Удобная многофункциональная программа для ведения электронных журналов. Позволяет автоматизировать документооборот участников ВЭД, таможенных представителей и пр. # info_ru: Удобная многофункциональная программа для ведения электронных журналов. Позволяет автоматизировать документооборот участников ВЭД, таможенных представителей и пр.
######################################################################## ########################################################################
export PROG_URL="https://www.ctm.ru"
export PROG_NAME="СТМ-Журналы" export PROG_NAME="СТМ-Журналы"
export PROG_ICON="ctmjournals" export PROG_ICON="ctmjournals"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm" export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v05" export BASE_PFX="ved_ctm_pfx_x86_v05"

View File

@ -1,9 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Программный модуль, обеспечивающий передачу данных при работе в системе Электронного декларирования через Интернет. # info_ru: Программный модуль, обеспечивающий передачу данных при работе в системе Электронного декларирования через Интернет.
######################################################################## ########################################################################
export PROG_URL="https://www.ctm.ru"
export PROG_NAME="Монитор ЭД" export PROG_NAME="Монитор ЭД"
export PROG_ICON="ctmmonitor" export PROG_ICON="ctmmonitor"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm" export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v05" export BASE_PFX="ved_ctm_pfx_x86_v05"

View File

@ -1,9 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Универсальная программа для создания различных отчетов, в том числе подаваемых в таможенные органы таможенными представителями. # info_ru: Универсальная программа для создания различных отчетов, в том числе подаваемых в таможенные органы таможенными представителями.
######################################################################## ########################################################################
export PROG_URL="https://www.ctm.ru"
export PROG_NAME="СТМ-Отчет" export PROG_NAME="СТМ-Отчет"
export PROG_ICON="ctmreport" export PROG_ICON="ctmreport"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm" export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v05" export BASE_PFX="ved_ctm_pfx_x86_v05"

View File

@ -1,9 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Вспомогательная программа для автоматического обновления через Интернет программного обеспечения «СТМ» # info_ru: Вспомогательная программа для автоматического обновления через Интернет программного обеспечения «СТМ»
######################################################################## ########################################################################
export PROG_URL="https://www.ctm.ru"
export PROG_NAME="СТМ-Сервис" export PROG_NAME="СТМ-Сервис"
export PROG_ICON="ctmservice" export PROG_ICON="ctmservice"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm" export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v05" export BASE_PFX="ved_ctm_pfx_x86_v05"

View File

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

View File

@ -1,6 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Построение маршрутов железнодорожных грузоперевозок # info_ru: Построение маршрутов железнодорожных грузоперевозок
######################################################################## ########################################################################
export PROG_URL="https://daobit.ru"
export WH_WINE_USE="wine_x_tkg_10-0_i586" # wine-9.0.9-alt1-i586" export WH_WINE_USE="wine_x_tkg_10-0_i586" # wine-9.0.9-alt1-i586"
export WINEPREFIX="daobit" export WINEPREFIX="daobit"
export PROG_NAME="R-Атлас" export PROG_NAME="R-Атлас"
@ -9,23 +10,22 @@ export BASE_PFX="daobit_pfx_x86_v01"
export WH_WINDOWS_VER="10" export WH_WINDOWS_VER="10"
export WINEARCH="win32" export WINEARCH="win32"
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi" export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_rk.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_rk" AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_rk"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_rk/setup.exe" AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_rk/setup.exe"
EXE_SETUP_NAME="setup_rk.exe"
if [[ -f "$2" ]] && [[ $2 =~ $EXE_SETUP_NAME$ ]] ; then prepair_wine
prepair_wine if try_download "https://files.daobit.ru/RATLAS/SFX/setup_rk.exe" "${AUTOINSTALL_EXE}" ; then
# фикс постоянного запроса обновления Windows # фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\DAO\DAOSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef" get_and_set_reg_file --add 'Software\DAO\DAOSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
unpack "$2" "${AUTOINSTALL_UNPACK}" unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}"
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\RAtlas" /auto /hide wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\RAtlas" /auto /hide
WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/RAtlas/ratlas.exe" WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/RAtlas/ratlas.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON" create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
try_remove_dir "$AUTOINSTALL_UNPACK" try_remove_dir "$AUTOINSTALL_UNPACK"
else try_remove_file "$AUTOINSTALL_EXE"
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
winehelper install $1 \"/путь/до/$EXE_SETUP_NAME\""
fi fi

View File

@ -1,6 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Специализированная информация для организации железнодорожных перевозок # info_ru: Специализированная информация для организации железнодорожных перевозок
######################################################################## ########################################################################
export PROG_URL="https://daobit.ru"
export WH_WINE_USE="wine_x_tkg_10-0_i586" # wine-9.0.9-alt1-i586" export WH_WINE_USE="wine_x_tkg_10-0_i586" # wine-9.0.9-alt1-i586"
export WINEPREFIX="daobit" export WINEPREFIX="daobit"
export PROG_NAME="R-Инфо" export PROG_NAME="R-Инфо"
@ -9,23 +10,22 @@ export BASE_PFX="daobit_pfx_x86_v01"
export WH_WINDOWS_VER="10" export WH_WINDOWS_VER="10"
export WINEARCH="win32" export WINEARCH="win32"
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi" export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_ri.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_ri" AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_ri"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_ri/setup.exe" AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_ri/setup.exe"
EXE_SETUP_NAME="setup_ri.exe"
if [[ -f "$2" ]] && [[ $2 =~ $EXE_SETUP_NAME$ ]] ; then prepair_wine
prepair_wine if try_download "https://files.daobit.ru/RINFO/SFX/setup_ri.exe" "${AUTOINSTALL_EXE}" ; then
# фикс постоянного запроса обновления Windows # фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\DAO\DAOSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef" get_and_set_reg_file --add 'Software\DAO\DAOSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
unpack "$2" "${AUTOINSTALL_UNPACK}" unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}"
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\RInfo" /auto /hide wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\RInfo" /auto /hide
WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/RInfo/rinfo.exe" WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/RInfo/rinfo.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON" create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
try_remove_dir "$AUTOINSTALL_UNPACK" try_remove_dir "$AUTOINSTALL_UNPACK"
else try_remove_file "$AUTOINSTALL_EXE"
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
winehelper install $1 \"/путь/до/$EXE_SETUP_NAME\""
fi fi

View File

@ -1,6 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Расчёт размера провозной платы и дополнительных сборов за грузовые перевозки по железной дороге # info_ru: Расчёт размера провозной платы и дополнительных сборов за грузовые перевозки по железной дороге
######################################################################## ########################################################################
export PROG_URL="https://daobit.ru"
export WH_WINE_USE="wine_x_tkg_10-0_i586" # wine-9.0.9-alt1-i586" export WH_WINE_USE="wine_x_tkg_10-0_i586" # wine-9.0.9-alt1-i586"
export WINEPREFIX="daobit" export WINEPREFIX="daobit"
export PROG_NAME="R-Тариф" export PROG_NAME="R-Тариф"
@ -9,23 +10,22 @@ export BASE_PFX="daobit_pfx_x86_v01"
export WH_WINDOWS_VER="10" export WH_WINDOWS_VER="10"
export WINEARCH="win32" export WINEARCH="win32"
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi" export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
AUTOINSTALL_EXE="${WH_TMP_DIR}/setup_rt.exe"
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_rt" AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_rt"
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_rt/setup.exe" AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_rt/setup.exe"
EXE_SETUP_NAME="setup_rt.exe"
if [[ -f "$2" ]] && [[ $2 =~ $EXE_SETUP_NAME$ ]] ; then prepair_wine
prepair_wine if try_download "https://files.daobit.ru/RTARIFF/SFX/setup_rt.exe" "${AUTOINSTALL_EXE}" ; then
# фикс постоянного запроса обновления Windows # фикс постоянного запроса обновления Windows
get_and_set_reg_file --add 'Software\DAO\DAOSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef" get_and_set_reg_file --add 'Software\DAO\DAOSETUP' 'SkipKBCheck' 'REG_DWORD' "1" "userdef"
unpack "$2" "${AUTOINSTALL_UNPACK}" unpack "${AUTOINSTALL_EXE}" "${AUTOINSTALL_UNPACK}"
wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\RTariff" /auto /hide wine_run_install "${AUTOINSTALL_SETUP}" /cd /targetdir="C:\\\\Program Files\\\\DAO\\\\RTariff" /auto /hide
WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/RTariff/Tariff.exe" WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/RTariff/Tariff.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON" create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
try_remove_dir "$AUTOINSTALL_UNPACK" try_remove_dir "$AUTOINSTALL_UNPACK"
else try_remove_file "$AUTOINSTALL_EXE"
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
winehelper install $1 \"/путь/до/$EXE_SETUP_NAME\""
fi fi

View File

@ -1,6 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Программа «Декларация 2024» позволяет автоматически формировать налоговые декларации по форме 3-НДФЛ. В процессе заполнения Вами данных программа автоматически проверяет их корректность, что уменьшает вероятность появления ошибки. # info_ru: Программа «Декларация 2024» позволяет автоматически формировать налоговые декларации по форме 3-НДФЛ. В процессе заполнения Вами данных программа автоматически проверяет их корректность, что уменьшает вероятность появления ошибки.
######################################################################## ########################################################################
export PROG_URL="https://www.nalog.gov.ru"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="declaration" export WINEPREFIX="declaration"
export PROG_NAME="Декларация" export PROG_NAME="Декларация"

View File

@ -1,6 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Удобная программа для создания двухмерных схем и чертежей. Основной акцент сделан на проектировании систем тепло-, водо- и газоснабжения, водоочистки, автоматизированных систем управления технологическими процессами (АСУТП), а также планов эвакуации при пожаре и авариях. # info_ru: Удобная программа для создания двухмерных схем и чертежей. Основной акцент сделан на проектировании систем тепло-, водо- и газоснабжения, водоочистки, автоматизированных систем управления технологическими процессами (АСУТП), а также планов эвакуации при пожаре и авариях.
######################################################################## ########################################################################
export PROG_URL="https://easymnemo.com"
export WH_WINE_USE="wine_x_tkg_10-0_i586" export WH_WINE_USE="wine_x_tkg_10-0_i586"
export WINEPREFIX="easymnemo" export WINEPREFIX="easymnemo"
export PROG_NAME="Easymnemo" export PROG_NAME="Easymnemo"

View File

@ -1,6 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Конструктор тестов предназначен для проведения тестирования персонала и учащихся. # info_ru: Конструктор тестов предназначен для проведения тестирования персонала и учащихся.
######################################################################## ########################################################################
export PROG_URL="https://www.keepsoft.ru"
export PROG_NAME="Конструктор тестов" export PROG_NAME="Конструктор тестов"
export AUTOINSTALL_EXE="${WH_TMP_DIR}/simulator4.exe" export AUTOINSTALL_EXE="${WH_TMP_DIR}/simulator4.exe"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"

View File

@ -1,6 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Программа автоматизации процесса подготовки юридическими и физическими лицами документов для представления в налоговые органы в электронной форме и на бумажном носителе. # info_ru: Программа автоматизации процесса подготовки юридическими и физическими лицами документов для представления в налоговые органы в электронной форме и на бумажном носителе.
######################################################################## ########################################################################
export PROG_URL="https://www.nalog.gov.ru"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="nalog" export WINEPREFIX="nalog"
export PROG_NAME="Налогоплательщик ЮЛ" export PROG_NAME="Налогоплательщик ЮЛ"

View File

@ -1,6 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Подготовка документов для государственной регистрации (ППДГР) # info_ru: Подготовка документов для государственной регистрации (ППДГР)
######################################################################## ########################################################################
export PROG_URL="https://www.nalog.gov.ru"
export AUTOINSTALL_EXE="${WH_TMP_DIR}/SetupPPDGR2.msi" export AUTOINSTALL_EXE="${WH_TMP_DIR}/SetupPPDGR2.msi"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ppdgr2" export WINEPREFIX="ppdgr2"

View File

@ -1,8 +1,11 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: SCAD Office — это программный комплекс для расчёта строительных конструкций, с дополнением Apache OpenOffice. Apache OpenOffice - пакет офисного программного обеспечения для обработки текстов, электронных таблиц, презентаций, графики, баз данных и многого другого. # info_ru: SCAD Office — это программный комплекс для расчёта строительных конструкций, с дополнением Apache OpenOffice. Apache OpenOffice - пакет офисного программного обеспечения для обработки текстов, электронных таблиц, презентаций, графики, баз данных и многого другого.
######################################################################## ########################################################################
export PROG_URL="https://scadoffice.ru"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="scadoffice" export WINEPREFIX="scadoffice"
export PROG_NAME="SCAD Office"
export PROG_ICON="scadoffice"
export BASE_PFX="scadaoffice_pfx_x64_v03" export BASE_PFX="scadaoffice_pfx_x64_v03"
export WH_WINDOWS_VER="10" export WH_WINDOWS_VER="10"
export WINEARCH="win64" export WINEARCH="win64"
@ -65,14 +68,14 @@ if try_download "https://scadhelp.ru/files/10/download" "${AUTOINSTALL_EXE}" ; t
try_remove_file "$AUTOINSTALL_EXE" try_remove_file "$AUTOINSTALL_EXE"
# Определение всех программ, значков и исполняемых файлов # Определение всех программ, значков и исполняемых файлов
declare -a PROG_NAME=("Арбат" "Вест" "Глобальные настройки" "Декор" "Дискретная арматура" "Запрос" "Камин" "КоКон" "Комета" "Конструктор сечений" "Консул" "Конфигуратор лицензий" "Кристалл" "Кросс" "Куст" "Магнум" "Монолит" "Откос" "Пастернак" "Преобразование ед. измерений" "Cортамент металлопроката" "Расчет по формуле" "Редактор акселерограмм" "Редактор динамичности" "Редактор материалов" "Тонус" "Эквивалентное сечение" "SCAD++") declare -a PROG_NAME_All=("Арбат" "Вест" "Глобальные настройки" "Декор" "Дискретная арматура" "Запрос" "Камин" "КоКон" "Комета" "Конструктор сечений" "Консул" "Конфигуратор лицензий" "Кристалл" "Кросс" "Куст" "Магнум" "Монолит" "Откос" "Пастернак" "Преобразование ед. измерений" "Cортамент металлопроката" "Расчет по формуле" "Редактор акселерограмм" "Редактор динамичности" "Редактор материалов" "Тонус" "Эквивалентное сечение" "SCAD++")
declare -a PROG_ICON=("arbat" "west" "globalsettings" "decor" "rebar" "underground" "comein" "cocon" "comet" "section" "consul" "configprotection" "kristall" "cross" "kust" "magnum" "monolit" "slope" "pasternak" "ucalc" "viewprof" "scalc" "acceledit" "betaedit" "materialsedit" "tonus" "sezam" "scadx") declare -a PROG_ICON_ALL=("arbat" "west" "globalsettings" "decor" "rebar" "underground" "comein" "cocon" "comet" "section" "consul" "configprotection" "kristall" "cross" "kust" "magnum" "monolit" "slope" "pasternak" "ucalc" "viewprof" "scalc" "acceledit" "betaedit" "materialsedit" "tonus" "sezam" "scadx")
declare -a WIN_FILE_EXEC=("${DRIVE_C_SCADOFFICE}/Arbat.exe" "${DRIVE_C_SCADOFFICE}/West.exe" "${DRIVE_C_SCADOFFICE}/GlobalSettings.exe" "${DRIVE_C_SCADOFFICE}/Decor.exe" "${DRIVE_C_SCADOFFICE}/ReBar.exe" "${DRIVE_C_SCADOFFICE}/UnderGround.exe" "${DRIVE_C_SCADOFFICE}/ComeIn.exe" "${DRIVE_C_SCADOFFICE}/CoCon.exe" "${DRIVE_C_SCADOFFICE}/Comet2.exe" "${DRIVE_C_SCADOFFICE}/Section.exe" "${DRIVE_C_SCADOFFICE}/Consul.exe" "${DRIVE_C_SCADOFFICE}/ConfigProtection.exe" "${DRIVE_C_SCADOFFICE}/Kristall.exe" "${DRIVE_C_SCADOFFICE}/Cross.exe" "${DRIVE_C_SCADOFFICE}/Kust2.exe" "${DRIVE_C_SCADOFFICE}/Magnum.exe" "${DRIVE_C_SCADOFFICE}/Monolit.exe" "${DRIVE_C_SCADOFFICE}/Slope.exe" "${DRIVE_C_SCADOFFICE}/Pasternak.exe" "${DRIVE_C_SCADOFFICE}/UCalc.exe" "${DRIVE_C_SCADOFFICE}/ViewProf.exe" "${DRIVE_C_SCADOFFICE}/SCalc.exe" "${DRIVE_C_SCADOFFICE}/AccelEdit.exe" "${DRIVE_C_SCADOFFICE}/BetaEdit.exe" "${DRIVE_C_SCADOFFICE}/MaterialsEdit.exe" "${DRIVE_C_SCADOFFICE}/Tonus.exe" "${DRIVE_C_SCADOFFICE}/Sezam.exe" "${DRIVE_C_SCADOFFICE}/SCADX.exe") declare -a WIN_FILE_EXEC=("${DRIVE_C_SCADOFFICE}/Arbat.exe" "${DRIVE_C_SCADOFFICE}/West.exe" "${DRIVE_C_SCADOFFICE}/GlobalSettings.exe" "${DRIVE_C_SCADOFFICE}/Decor.exe" "${DRIVE_C_SCADOFFICE}/ReBar.exe" "${DRIVE_C_SCADOFFICE}/UnderGround.exe" "${DRIVE_C_SCADOFFICE}/ComeIn.exe" "${DRIVE_C_SCADOFFICE}/CoCon.exe" "${DRIVE_C_SCADOFFICE}/Comet2.exe" "${DRIVE_C_SCADOFFICE}/Section.exe" "${DRIVE_C_SCADOFFICE}/Consul.exe" "${DRIVE_C_SCADOFFICE}/ConfigProtection.exe" "${DRIVE_C_SCADOFFICE}/Kristall.exe" "${DRIVE_C_SCADOFFICE}/Cross.exe" "${DRIVE_C_SCADOFFICE}/Kust2.exe" "${DRIVE_C_SCADOFFICE}/Magnum.exe" "${DRIVE_C_SCADOFFICE}/Monolit.exe" "${DRIVE_C_SCADOFFICE}/Slope.exe" "${DRIVE_C_SCADOFFICE}/Pasternak.exe" "${DRIVE_C_SCADOFFICE}/UCalc.exe" "${DRIVE_C_SCADOFFICE}/ViewProf.exe" "${DRIVE_C_SCADOFFICE}/SCalc.exe" "${DRIVE_C_SCADOFFICE}/AccelEdit.exe" "${DRIVE_C_SCADOFFICE}/BetaEdit.exe" "${DRIVE_C_SCADOFFICE}/MaterialsEdit.exe" "${DRIVE_C_SCADOFFICE}/Tonus.exe" "${DRIVE_C_SCADOFFICE}/Sezam.exe" "${DRIVE_C_SCADOFFICE}/SCADX.exe")
# Цикл создания десктоп файлов для scad office # Цикл создания десктоп файлов для scad office
for i in "${!PROG_NAME[@]}"; do for i in "${!PROG_NAME_All[@]}"; do
create_desktop "${PROG_NAME[i]}" "${WIN_FILE_EXEC[i]}" "${PROG_ICON[i]}" "nocopy" create_desktop "${PROG_NAME_All[i]}" "${WIN_FILE_EXEC[i]}" "${PROG_ICON_ALL[i]}" "nocopy"
done done
fi fi

View File

@ -1,6 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Справочник кодов обозначения налоговых органов для целей учета налогоплательщиков # info_ru: Справочник кодов обозначения налоговых органов для целей учета налогоплательщиков
######################################################################## ########################################################################
export PROG_URL="https://www.nalog.gov.ru"
export AUTOINSTALL_EXE="${WH_TMP_DIR}/soun_ins.exe" export AUTOINSTALL_EXE="${WH_TMP_DIR}/soun_ins.exe"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="soun" export WINEPREFIX="soun"

View File

@ -1,6 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: «Справки БК» — специальное программное обеспечение, предназначенное для заполнения справок о доходах, расходах, об имуществе и обязательствах имущественного характера. # info_ru: «Справки БК» — специальное программное обеспечение, предназначенное для заполнения справок о доходах, расходах, об имуществе и обязательствах имущественного характера.
######################################################################## ########################################################################
export PROG_URL="https://spravki-bk.ru"
export WH_WINE_USE="wine-9.0.14-alt1-i586-spravkibk" export WH_WINE_USE="wine-9.0.14-alt1-i586-spravkibk"
export WINEPREFIX="spravki-bk" export WINEPREFIX="spravki-bk"
export PROG_NAME="СПО Справки БК" export PROG_NAME="СПО Справки БК"

View File

@ -1,13 +1,16 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Учебная версия. САПР, объединяющая в себе мощные параметрические возможности 2D и 3D-моделирования со средствами создания и оформления чертежей и конструкторской документации по ЕСКД. # info_ru: Учебная версия. САПР, объединяющая в себе мощные параметрические возможности 2D и 3D-моделирования со средствами создания и оформления чертежей и конструкторской документации по ЕСКД.
######################################################################## ########################################################################
export PROG_URL="https://www.tflexcad.ru"
export PROG_NAME="T-FLEX CAD Учебная Версия 17" export PROG_NAME="T-FLEX CAD Учебная Версия 17"
export PROG_ICON="tflexcad" export PROG_ICON="tflexcad"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
export BASE_PFX="tflex17_pfx_x64_v02"
export WINEARCH="win64" export WINEARCH="win64"
export WH_WINDOWS_VER="10" export WH_WINDOWS_VER="10"
export WINEPREFIX="tflex17" export WINEPREFIX="tflex17"
export WH_XDG_OPEN="log" export WH_XDG_OPEN="log"
export WH_USE_MESA_GL_OVERRIDE="1"
# используем общий whdb файл для подготовки префикса и сервисов # используем общий whdb файл для подготовки префикса и сервисов
# prepair_wine используется из файла настроек # prepair_wine используется из файла настроек
@ -33,5 +36,5 @@ if try_download "https://www.tflexcad.ru/download/t-flex-cad-free/files/TFCAD_ST
try_remove_dir "${WH_TMP_DIR}/Стандартные элементы 17" try_remove_dir "${WH_TMP_DIR}/Стандартные элементы 17"
WIN_FILE_EXEC="$DRIVE_C/Program Files/T-FLEX CAD Учебная Версия 17/Program/TFlexCad.exe" WIN_FILE_EXEC="$DRIVE_C/Program Files/T-FLEX CAD Учебная Версия 17/Program/TFlexCad.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON" create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON" "TFlexCadEDU"
fi fi

View File

@ -1,13 +1,16 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Профессиональная САПР, объединяющая в себе мощные параметрические возможности 2D и 3D-моделирования со средствами создания и оформления чертежей и конструкторской документации по ЕСКД. # info_ru: Профессиональная САПР, объединяющая в себе мощные параметрические возможности 2D и 3D-моделирования со средствами создания и оформления чертежей и конструкторской документации по ЕСКД.
######################################################################## ########################################################################
export PROG_URL="https://www.tflexcad.ru"
export PROG_NAME="T-FLEX CAD 17" export PROG_NAME="T-FLEX CAD 17"
export PROG_ICON="tflexcad" export PROG_ICON="tflexcad"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
export BASE_PFX="tflex17_pfx_x64_v02"
export WINEARCH="win64" export WINEARCH="win64"
export WH_WINDOWS_VER="10" export WH_WINDOWS_VER="10"
export WINEPREFIX="tflex17" export WINEPREFIX="tflex17"
export WH_XDG_OPEN="log" export WH_XDG_OPEN="log"
export WH_USE_MESA_GL_OVERRIDE="1"
# используем общий whdb файл для подготовки префикса и сервисов # используем общий whdb файл для подготовки префикса и сервисов
# prepair_wine используется из файла настроек # prepair_wine используется из файла настроек
@ -26,5 +29,5 @@ if try_download "https://www.tflex.ru/downloads/T-FLEX%20CAD%2017.zip" "${AUTOIN
try_remove_file "${AUTOINSTALL_EXE}" try_remove_file "${AUTOINSTALL_EXE}"
WIN_FILE_EXEC="$DRIVE_C/Program Files/T-FLEX CAD 17/Program/TFlexCad.exe" WIN_FILE_EXEC="$DRIVE_C/Program Files/T-FLEX CAD 17/Program/TFlexCad.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON" create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON" "TFlexCad"
fi fi

View File

@ -1,12 +1,16 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Приложения для T-FLEX CAD 17 (T-FLEX Анализ 17, T-FLEX Динамика 17, T-FLEX Зубчатые передачи 17, T-FLEX ЧПУ 17, T-FLEX Раскрой 17, T-FLEX Электротехника 17, T-FLEX VR 17, T-FLEX Печатные платы 17) # info_ru: Приложения для T-FLEX CAD 17 (T-FLEX Анализ 17, T-FLEX Динамика 17, T-FLEX Зубчатые передачи 17, T-FLEX ЧПУ 17, T-FLEX Раскрой 17, T-FLEX Электротехника 17, T-FLEX VR 17, T-FLEX Печатные платы 17)
######################################################################## ########################################################################
export PROG_URL="https://www.tflexcad.ru"
export PROG_NAME="Приложения для T-FLEX CAD 17"
export PROG_ICON="tflexcad"
export WH_WINDOWS_VER="10" export WH_WINDOWS_VER="10"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
export BASE_PFX="tflex17_pfx_x64_v01" export BASE_PFX="tflex17_pfx_x64_v02"
export WINEARCH="win64" export WINEARCH="win64"
export WINEPREFIX="tflex17" export WINEPREFIX="tflex17"
export WH_XDG_OPEN="log" export WH_XDG_OPEN="log"
export WH_USE_MESA_GL_OVERRIDE="1"
check_prefix_var check_prefix_var
if [[ ! -f "$WINEPREFIX/drive_c/Program Files/T-FLEX CAD 17/Program/TFlexCad.exe" ]] if [[ ! -f "$WINEPREFIX/drive_c/Program Files/T-FLEX CAD 17/Program/TFlexCad.exe" ]]

View File

@ -1,12 +1,16 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Обучающие материалы, примеры, бесплатные библиотеки для T-FLEX CAD 17 (Учебное пособие 17, Стандартные элементы 17, Элементы уплотнительной техники 17, Станочные приспособления 17, Детали штампов листовой штамповки 17, Детали пресс-форм 17, Примеры 17) # info_ru: Обучающие материалы, примеры, бесплатные библиотеки для T-FLEX CAD 17 (Учебное пособие 17, Стандартные элементы 17, Элементы уплотнительной техники 17, Станочные приспособления 17, Детали штампов листовой штамповки 17, Детали пресс-форм 17, Примеры 17)
######################################################################## ########################################################################
export PROG_URL="https://www.tflexcad.ru"
export PROG_NAME="Ресурсы для T-FLEX CAD 17"
export PROG_ICON="tflexcad"
export WH_WINDOWS_VER="10" export WH_WINDOWS_VER="10"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
export BASE_PFX="tflex17_pfx_x64_v01" export BASE_PFX="tflex17_pfx_x64_v02"
export WINEARCH="win64" export WINEARCH="win64"
export WINEPREFIX="tflex17" export WINEPREFIX="tflex17"
export WH_XDG_OPEN="log" export WH_XDG_OPEN="log"
export WH_USE_MESA_GL_OVERRIDE="1"
check_prefix_var check_prefix_var
if [[ ! -f "$WINEPREFIX/drive_c/Program Files/T-FLEX CAD 17/Program/TFlexCad.exe" ]] if [[ ! -f "$WINEPREFIX/drive_c/Program Files/T-FLEX CAD 17/Program/TFlexCad.exe" ]]

View File

@ -1,13 +1,16 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Профессиональная САПР, объединяющая в себе мощные параметрические возможности 2D и 3D-моделирования со средствами создания и оформления чертежей и конструкторской документации по ЕСКД. # info_ru: Профессиональная САПР, объединяющая в себе мощные параметрические возможности 2D и 3D-моделирования со средствами создания и оформления чертежей и конструкторской документации по ЕСКД.
######################################################################## ########################################################################
export PROG_URL="https://www.tflexcad.ru"
export PROG_NAME="T-FLEX CAD 2D+ 17" export PROG_NAME="T-FLEX CAD 2D+ 17"
export PROG_ICON="tflexcad" export PROG_ICON="tflexcad"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
export BASE_PFX="tflex17_pfx_x64_v02"
export WINEARCH="win64" export WINEARCH="win64"
export WH_WINDOWS_VER="10" export WH_WINDOWS_VER="10"
export WINEPREFIX="tflex17" export WINEPREFIX="tflex17"
export WH_XDG_OPEN="log" export WH_XDG_OPEN="log"
export WH_USE_MESA_GL_OVERRIDE="1"
# используем общий whdb файл для подготовки префикса и сервисов # используем общий whdb файл для подготовки префикса и сервисов
# prepair_wine используется из файла настроек # prepair_wine используется из файла настроек
@ -26,5 +29,5 @@ if try_download "https://www.tflex.ru/downloads/T-FLEX%20CAD%202D+%2017.zip" "${
try_remove_file "${AUTOINSTALL_EXE}" try_remove_file "${AUTOINSTALL_EXE}"
WIN_FILE_EXEC="$DRIVE_C/Program Files/T-FLEX CAD 2D+ 17/Program/TFlexCad.exe" WIN_FILE_EXEC="$DRIVE_C/Program Files/T-FLEX CAD 2D+ 17/Program/TFlexCad.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON" create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON" "TFlexCad2D"
fi fi

View File

@ -1,13 +1,16 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Система T-FLEX DOCs предназначена для комплексного управления инженерными данными предприятия, а также решения задач конструкторско-технологического и организационно-распорядительного документооборота. # info_ru: Система T-FLEX DOCs предназначена для комплексного управления инженерными данными предприятия, а также решения задач конструкторско-технологического и организационно-распорядительного документооборота.
######################################################################## ########################################################################
export PROG_URL="https://www.tflexcad.ru"
export PROG_NAME="T-FLEX DOCs 17" export PROG_NAME="T-FLEX DOCs 17"
export PROG_ICON="tflexdoc" export PROG_ICON="tflexdoc"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
export BASE_PFX="tflex17_pfx_x64_v02"
export WINEARCH="win64" export WINEARCH="win64"
export WH_WINDOWS_VER="10" export WH_WINDOWS_VER="10"
export WINEPREFIX="tflex17" export WINEPREFIX="tflex17"
export WH_XDG_OPEN="log" export WH_XDG_OPEN="log"
export WH_USE_MESA_GL_OVERRIDE="1"
# используем общий whdb файл для подготовки префикса и сервисов # используем общий whdb файл для подготовки префикса и сервисов
# prepair_wine используется из файла настроек # prepair_wine используется из файла настроек

View File

@ -1,13 +1,16 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Просмотр, печать и аннотирование документов T-FLEX CAD # info_ru: Просмотр, печать и аннотирование документов T-FLEX CAD
######################################################################## ########################################################################
export PROG_URL="https://www.tflexcad.ru"
export PROG_NAME="T-FLEX Viewer 17" export PROG_NAME="T-FLEX Viewer 17"
export PROG_ICON="tflexcad" export PROG_ICON="tflexcad"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
export BASE_PFX="tflex17_pfx_x64_v02"
export WINEARCH="win64" export WINEARCH="win64"
export WH_WINDOWS_VER="10" export WH_WINDOWS_VER="10"
export WINEPREFIX="tflex17" export WINEPREFIX="tflex17"
export WH_XDG_OPEN="log" export WH_XDG_OPEN="log"
export WH_USE_MESA_GL_OVERRIDE="1"
# используем общий whdb файл для подготовки префикса и сервисов # используем общий whdb файл для подготовки префикса и сервисов
# prepair_wine используется из файла настроек # prepair_wine используется из файла настроек

View File

@ -1,6 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Программа проверки файлов на соответствие форматам представления в электронном виде налоговых деклараций, бухгалтерской отчетности. # info_ru: Программа проверки файлов на соответствие форматам представления в электронном виде налоговых деклараций, бухгалтерской отчетности.
######################################################################## ########################################################################
export PROG_URL="https://www.nalog.gov.ru"
export LAUNCH_PARAMETERS="/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-" export LAUNCH_PARAMETERS="/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-"
export AUTOINSTALL_EXE="${WH_TMP_DIR}/tester2269.exe" export AUTOINSTALL_EXE="${WH_TMP_DIR}/tester2269.exe"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"

View File

@ -1,9 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Электронный алфавитно-предметный указатель, предназначенный для быстрого и простого подбора для товара кода ТН ВЭД ЕАЭС. # info_ru: Электронный алфавитно-предметный указатель, предназначенный для быстрого и простого подбора для товара кода ТН ВЭД ЕАЭС.
######################################################################## ########################################################################
export PROG_URL="https://ctm.ru"
export PROG_NAME="ВЭД-Алфавит" export PROG_NAME="ВЭД-Алфавит"
export PROG_ICON="vedalf" export PROG_ICON="vedalf"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm" export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v05" export BASE_PFX="ved_ctm_pfx_x86_v05"

View File

@ -1,9 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Программа для проверки ДТ и ДТС до представления их в таможенные органы и для внесения изменений в электронный вид документов. # info_ru: Программа для проверки ДТ и ДТС до представления их в таможенные органы и для внесения изменений в электронный вид документов.
######################################################################## ########################################################################
export PROG_URL="https://ctm.ru"
export PROG_NAME="ВЭД-Контроль" export PROG_NAME="ВЭД-Контроль"
export PROG_ICON="vedcontrol" export PROG_ICON="vedcontrol"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm" export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v05" export BASE_PFX="ved_ctm_pfx_x86_v05"

View File

@ -1,9 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Программа для формирования полного комплекта документов для таможенного оформления. # info_ru: Программа для формирования полного комплекта документов для таможенного оформления.
######################################################################## ########################################################################
export PROG_URL="https://ctm.ru"
export PROG_NAME="ВЭД-Декларант" export PROG_NAME="ВЭД-Декларант"
export PROG_ICON="veddcl" export PROG_ICON="veddcl"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm" export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v05" export BASE_PFX="ved_ctm_pfx_x86_v05"

View File

@ -1,9 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Уникальный электронный справочник по таможенному законодательству государств-членов Евразийского экономического союза, содержащий актуальную нормативно-правовую базу в сфере регулирования внешнеэкономической деятельности. # info_ru: Уникальный электронный справочник по таможенному законодательству государств-членов Евразийского экономического союза, содержащий актуальную нормативно-правовую базу в сфере регулирования внешнеэкономической деятельности.
######################################################################## ########################################################################
export PROG_URL="https://ctm.ru"
export PROG_NAME="ВЭД-Инфо" export PROG_NAME="ВЭД-Инфо"
export PROG_ICON="vedinfo" export PROG_ICON="vedinfo"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm" export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v05" export BASE_PFX="ved_ctm_pfx_x86_v05"

View File

@ -1,9 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Программа для расчета таможенных платежей и стоимости товаров после «таможенной очистки» # info_ru: Программа для расчета таможенных платежей и стоимости товаров после «таможенной очистки»
######################################################################## ########################################################################
export PROG_URL="https://ctm.ru"
export PROG_NAME="ВЭД-Платежи" export PROG_NAME="ВЭД-Платежи"
export PROG_ICON="vedpayments" export PROG_ICON="vedpayments"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm" export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v05" export BASE_PFX="ved_ctm_pfx_x86_v05"

View File

@ -1,9 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: Программа для формирования полного комплекта документов для таможенного оформления. # info_ru: Программа для формирования полного комплекта документов для таможенного оформления.
######################################################################## ########################################################################
export PROG_URL="https://ctm.ru"
export PROG_NAME="ВЭД-Склад" export PROG_NAME="ВЭД-Склад"
export PROG_ICON="vedsts" export PROG_ICON="vedsts"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="ved_ctm" export WINEPREFIX="ved_ctm"
export BASE_PFX="ved_ctm_pfx_x86_v05" export BASE_PFX="ved_ctm_pfx_x86_v05"

View File

@ -1,6 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# info_ru: ZuluGIS 2021 Инженерные расчёты (Полный) 64-бит. Включает ZuluGIS, пакеты расчетов ZuluThermo, ZuluHydro, ZuluDrain, ZuluGaz, ZuluSteam, библиотеки ZuluXTools и ZuluNetTools. Дополнительно в состав пакета входит Microsoft SQL Server Express LocalDB 2012. # info_ru: ZuluGIS 2021 Инженерные расчёты (Полный) 64-бит. Включает ZuluGIS, пакеты расчетов ZuluThermo, ZuluHydro, ZuluDrain, ZuluGaz, ZuluSteam, библиотеки ZuluXTools и ZuluNetTools. Дополнительно в состав пакета входит Microsoft SQL Server Express LocalDB 2012.
######################################################################## ########################################################################
export PROG_URL="https://www.politerm.com"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export PROG_NAME="ZuluGIS 2021" export PROG_NAME="ZuluGIS 2021"
export WINEPREFIX="zulugis" export WINEPREFIX="zulugis"

View File

@ -2,67 +2,81 @@
# info_ru: Компоненты сервисов поддержки T-FLEX 17 # info_ru: Компоненты сервисов поддержки T-FLEX 17
######################################################################## ########################################################################
export WH_WINDOWS_VER="10" export WH_WINDOWS_VER="10"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
export BASE_PFX="tflex17_pfx_x64_v01" export BASE_PFX="tflex17_pfx_x64_v02"
export WINEARCH="win64" export WINEARCH="win64"
export WINEPREFIX="tflex17" export WINEPREFIX="tflex17"
export PROG_VERSION="" export PROG_VERSION=""
export WH_XDG_OPEN="log" export WH_XDG_OPEN="log"
export INSTALL_DLL="corefonts d3dcompiler_47 dotnet48 vcrun2022 ucrtbase2019 msxml6 fontsmooth=rgb baekmuk droid eufonts ipamona liberation lucida opensymbol sourcehansans tahoma takao uff unifont vlgothic wenquanyi wenquanyizenhei" export INSTALL_DLL="corefonts d3dcompiler_47 dotnet48 vcrun2022 ucrtbase2019 msxml6 fontsmooth=rgb baekmuk droid eufonts ipamona liberation lucida opensymbol sourcehansans tahoma takao uff unifont vlgothic wenquanyi wenquanyizenhei"
export WH_USE_MESA_GL_OVERRIDE="1"
# Компоненты поддержки 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"
prepair_wine prepair_wine
if [[ -d "$WINEPREFIX" ]] \ if [[ -d "$WINEPREFIX" ]] \
&& grep -q "t-flex-cad17-prepair" "$WINEPREFIX/winetricks.log" \ && grep -q "t-flex-cad" "$WINEPREFIX/winetricks.log" \
&& systemctl list-units --type service --state running | grep aksusbd \ && systemctl list-units --type service --state running | grep aksusbd \
&& systemctl list-units --type service --state running | grep hasplmd && systemctl list-units --type service --state running | grep hasplmd \
&& rpm -q grdcontrol | grep -q "$GRDCONTROL_VER"
then then
print_info "Префикс $PREFIX_NAME готов к установке ПО." print_info "Префикс $PREFIX_NAME готов к установке ПО."
print_info "Сервисы: aksusbd и hasplmd уже запущены." print_info "Сервисы: aksusbd и hasplmd уже запущены. grdcontrol-$GRDCONTROL_VER установлен."
else else
print_warning "Службы aksusbd и hasplmd не запущены, или префикс не подготовлен" print_warning "Службы aksusbd и hasplmd не запущены, или grdcontrol-$GRDCONTROL_VER не установлен."
print_info "Запускаем подготовку префикса скриптом: t-flex-cad17-prepair"
if [[ "$BASE_PFX" == "none" ]] \ if [[ "$BASE_PFX" == "none" ]] \
|| ! systemctl list-units --type service --state running | grep aksusbd \ || ! systemctl list-units --type service --state running | grep aksusbd \
|| ! systemctl list-units --type service --state running | grep hasplmd || ! systemctl list-units --type service --state running | grep hasplmd \
|| ! rpm -q grdcontrol | grep -q "$GRDCONTROL_VER"
then then
# Компоненты поддержки T-FLEX PLM 17 (Linux) # Компоненты поддержки T-FLEX PLM (Linux)
AUTOINSTALL_ZIP_LIN="${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux.zip" if try_download "https://www.tflex.ru/downloads/Prerequisites_T-FLEX_Linux.zip" "${AUTOINSTALL_ZIP_LIN}" ; then
AUTOINSTALL_DIR_LIN="${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux" unpack "$AUTOINSTALL_ZIP_LIN" "$AUTOINSTALL_DIR_LIN"
AUTOINSTALL_EXE_LIN1="${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/fake_hasp.reg" "$WINELOADER" regedit "$AUTOINSTALL_REG_LIN"
if try_download "https://www.tflex.ru/downloads/Prerequisites_T-FLEX_17_Linux.zip" "${AUTOINSTALL_ZIP_LIN}" ; then fi
unpack "${AUTOINSTALL_ZIP_LIN}" "${AUTOINSTALL_DIR_LIN}"
try_remove_file "$AUTOINSTALL_ZIP_LIN" if rpm -q grdcontrol | grep -q "$GRDCONTROL_VER"
"$WINELOADER" regedit "${AUTOINSTALL_EXE_LIN1}" then print_info "grdcontrol-$GRDCONTROL_VER уже установлен в системе."
else su_run rpm -iv "$AUTOINSTALL_DIR_LIN/Guardant_Linux/grdcontrol.x86_64.rpm"
fi fi
if [[ "$BASE_PFX" == "none" ]] ; then if [[ "$BASE_PFX" == "none" ]] ; then
# Компоненты поддержки T-FLEX PLM 17 (Windows) print_info "Запускаем подготовку префикса."
AUTOINSTALL_ZIP_WIN="${WH_TMP_DIR}/T-FLEX 17 Prerequisites.zip" # Компоненты поддержки T-FLEX PLM (Windows)
AUTOINSTALL_DIRWIN="${WH_TMP_DIR}"
AUTOINSTALL_EXE_WIN1="${WH_TMP_DIR}/Компоненты поддержки T-FLEX 17/Access Database Engine 2007/AccessDatabaseEngine.exe"
AUTOINSTALL_EXE_WIN_MSY="${WH_TMP_DIR}/Компоненты поддержки T-FLEX 17/Access Database Engine 2007"
AUTOINSTALL_EXE_WIN2="${WH_TMP_DIR}/Компоненты поддержки T-FLEX 17/TSC2/Setup_TSC2.msi"
if try_download "https://www.tflex.ru/downloads/T-FLEX%2017%20Prerequisites.zip" "${AUTOINSTALL_ZIP_WIN}" ; then if try_download "https://www.tflex.ru/downloads/T-FLEX%2017%20Prerequisites.zip" "${AUTOINSTALL_ZIP_WIN}" ; then
unpack "${AUTOINSTALL_ZIP_WIN}" "${AUTOINSTALL_DIRWIN}" unpack "$AUTOINSTALL_ZIP_WIN" "$WH_TMP_DIR"
try_remove_file "$AUTOINSTALL_ZIP_WIN" unpack "$AUTOINSTALL_EXE_WIN1" "$AUTOINSTALL_EXE_WIN_MSI"
unpack "${AUTOINSTALL_EXE_WIN1}" "${AUTOINSTALL_EXE_WIN_MSY}" wine_run_install "$AUTOINSTALL_EXE_WIN_MSI/AceRedist.msi" /q
try_remove_file "$AUTOINSTALL_EXE_WIN1" wine_run_install "$AUTOINSTALL_EXE_WIN2" /q
wine_run_install "${AUTOINSTALL_EXE_WIN_MSY}/AceRedist.msi" /q
wine_run_install "${AUTOINSTALL_EXE_WIN2}" /q
fi fi
rm -fR "$DRIVE_C/Program Files/Common Files/System" rm -fR "$DRIVE_C/Program Files/Common Files/System"
rm -fR "$DRIVE_C/Program Files (x86)/Common Files/System" rm -fR "$DRIVE_C/Program Files (x86)/Common Files/System"
cp -r "${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/Program Files/Common Files/System" "$DRIVE_C/Program Files/Common Files"
cp -r "${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/Program Files (x86)/Common Files/System" "$DRIVE_C/Program Files (x86)/Common Files"
mv -f "${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/Windows/System32/"*.dll "$DRIVE_C/windows/system32"
"$WINELOADER" regedit "${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/ado-32.reg" cp -r "$AUTOINSTALL_DIR_LIN/Components/Program Files/Common Files/System" \
"$WINELOADER"64 regedit "${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/ado-64.reg" "$DRIVE_C/Program Files/Common Files"
"$WINELOADER" regedit "${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/tflex.reg" cp -r "$AUTOINSTALL_DIR_LIN/Components/Program Files (x86)/Common Files/System" \
"$DRIVE_C/Program Files (x86)/Common Files"
mv -f "$AUTOINSTALL_DIR_LIN/Components/Windows/System32/"*.dll \
"$DRIVE_C/windows/system32"
"$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"
fi fi
if systemctl list-units --type service --state running | grep aksusbd \ if systemctl list-units --type service --state running | grep aksusbd \
@ -71,23 +85,27 @@ else
print_info "Службы aksusbd и hasplmd уже запущены. Пропускаем..." print_info "Службы aksusbd и hasplmd уже запущены. Пропускаем..."
else else
echo "#!/usr/bin/env bash echo "#!/usr/bin/env bash
cd \"${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/HASP_Linux/aksusbd/\" cd \"$AUTOINSTALL_DIR_LIN/HASP_Linux/aksusbd/\"
bash ./dinst bash ./dinst
mv -f \"${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/HASP_Linux/\"*.so /var/hasplm/ mv -f \"$AUTOINSTALL_DIR_LIN/HASP_Linux/\"*.so /var/hasplm/
systemctl restart hasplmd.service" > "${WH_TMP_DIR}/tflex17_aksusbd.sh" systemctl restart hasplmd.service" > "$WH_TMP_DIR/tflex_aksusbd.sh"
chmod +x ${WH_TMP_DIR}/tflex17_aksusbd.sh chmod +x "$WH_TMP_DIR/tflex_aksusbd.sh"
unset TFLEX_ERROR unset TFLEX_ERROR
su_run "${WH_TMP_DIR}/tflex17_aksusbd.sh" || TFLEX_ERROR=1 print_info "Будут установлены и запущены службы aksusbd и hasplmd."
try_remove_file "${WH_TMP_DIR}/tflex17_aksusbd.sh" su_run "$WH_TMP_DIR/tflex_aksusbd.sh" || TFLEX_ERROR=1
try_remove_file "$WH_TMP_DIR/tflex_aksusbd.sh"
fi fi
try_remove_dir "$AUTOINSTALL_DIR_LIN"
try_remove_dir "${WH_TMP_DIR}/Компоненты поддержки T-FLEX 17/"
fi fi
try_remove_dir "$AUTOINSTALL_DIR_LIN"
try_remove_dir "$AUTOINSTALL_DIR_WIN"
if [[ $TFLEX_ERROR == "1" ]] ; then if [[ $TFLEX_ERROR == "1" ]] ; then
fatal "Произошла ошибка во время подготовки префикса, или установки компонентов ПО." fatal "Произошла ошибка во время подготовки префикса, или установки компонентов ПО."
else else
echo "t-flex-cad17-prepair" >> "$WINEPREFIX/winetricks.log" echo "t-flex-cad-prepair" >> "$WINEPREFIX/winetricks.log"
try_remove_file "$AUTOINSTALL_ZIP_LIN"
try_remove_file "$AUTOINSTALL_ZIP_WIN"
print_info "Подготовка префикса и установка компонентов завершены." print_info "Подготовка префикса и установка компонентов завершены."
fi fi
fi fi

View File

@ -22,7 +22,7 @@ windows приложения. Подробнее по ссылке: https://www.
# fonts-ttf-ms # fonts-ttf-ms
apt-get install {i586-,}{glibc-core,libstdc++6,glibc-pthread,glibc-nss,\ apt-get install {i586-,}{glibc-core,libstdc++6,glibc-pthread,glibc-nss,\
libOSMesa,libnss-mdns,libunixODBC2,ocl-icd,libfreetype,libfontconfig1,\ libnss-mdns,libunixODBC2,ocl-icd,libfreetype,libfontconfig1,\
libgnutls30,libGL,libEGL,xorg-dri-swrast,xorg-dri-intel,xorg-dri-radeon,\ libgnutls30,libGL,libEGL,xorg-dri-swrast,xorg-dri-intel,xorg-dri-radeon,\
libvulkan1,libcups} || fatal "Не удалось установить зависимости." libvulkan1,libcups} || fatal "Не удалось установить зависимости."

BIN
image/ais_lpu_client.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 109 KiB

View File

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
height="16px"
viewBox="0 0 16 16"
width="16px"
version="1.1"
id="svg4"
sodipodi:docname="5-symbolic.svg"
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs4" />
<sodipodi:namedview
id="namedview4"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
inkscape:zoom="38.448931"
inkscape:cx="6.9702848"
inkscape:cy="8.8949156"
inkscape:window-width="1920"
inkscape:window-height="1128"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g3" />
<g
fill-rule="evenodd"
id="g3">
<path
d="m 0.800781 0 c -0.429687 0 -0.800781 0.371094 -0.800781 0.800781 v 5.078125 c 0 0.429688 0.371094 0.800782 0.800781 0.800782 h 1.996094 v -1.121094 h -1.675781 v -4.4375 h 4.4375 v 1.675781 h 1.121094 v -1.996094 c 0 -0.429687 -0.371094 -0.800781 -0.800782 -0.800781 z m 9.328125 0 c -0.425781 0 -0.800781 0.371094 -0.800781 0.800781 v 1.996094 h 1.121094 v -1.675781 h 4.441406 v 4.4375 h -1.675781 v 1.121094 h 1.992187 c 0.429688 0 0.804688 -0.375 0.804688 -0.800782 v -5.078125 c 0 -0.429687 -0.375 -0.800781 -0.804688 -0.800781 z m -9.328125 9.328125 c -0.429687 0 -0.800781 0.371094 -0.800781 0.800781 v 5.082032 c 0 0.425781 0.371094 0.800781 0.800781 0.800781 h 5.078125 c 0.429688 0 0.800782 -0.375 0.800782 -0.800781 v -1.996094 h -1.121094 v 1.675781 h -4.4375 v -4.441406 h 1.675781 v -1.121094 z m 12.414063 0 v 1.121094 h 1.675781 v 4.441406 h -4.441406 v -1.675781 h -1.121094 v 1.996094 c 0 0.425781 0.375 0.800781 0.800781 0.800781 h 5.078125 c 0.429688 0 0.804688 -0.375 0.804688 -0.800781 v -5.082032 c 0 -0.429687 -0.375 -0.800781 -0.804688 -0.800781 z m 0 0"
id="path1" />
<path
id="path2"
d="M 7.9277344 4.515625 C 7.8097448 4.5185061 7.6899414 4.527832 7.5703125 4.5429688 C 5.6601565 4.7812497 4.3007808 6.527344 4.5429688 8.4375 C 4.7812497 10.351562 6.527344 11.710938 8.4375 11.46875 C 10.351562 11.230469 11.710938 9.4843755 11.46875 7.5703125 C 11.245362 5.7795413 9.6975779 4.4724088 7.9277344 4.515625 z M 8.0039062 6.3535156 C 8.9197403 6.3535156 9.6542969 7.0918241 9.6542969 8.0039062 C 9.6542969 8.9205649 8.920565 9.6542969 8.0039062 9.6542969 C 7.0918241 9.6542969 6.3535156 8.9197403 6.3535156 8.0039062 C 6.3535156 7.0926517 7.0926517 6.3535156 8.0039062 6.3535156 z " />
<path
d="m 6.765625 3.570312 l 1.265625 -0.164062 l 0.410156 1.664062 l -1.601562 0.246094 z m -2.773437 2.175782 l 0.78125 -1.011719 l 1.464843 0.890625 l -0.957031 1.304688 z m -0.421876 3.496094 l -0.164062 -1.261719 l 1.664062 -0.410157 l 0.246094 1.601563 z m 2.175782 2.773437 l -1.011719 -0.777344 l 0.890625 -1.464843 l 1.304688 0.957031 z m 3.496094 0.425781 l -1.261719 0.164063 l -0.410157 -1.664063 l 1.601563 -0.246094 z m 2.773437 -2.175781 l -0.777344 1.011719 l -1.464843 -0.890625 l 0.957031 -1.304688 z m 0.425781 -3.5 l 0.164063 1.265625 l -1.664063 0.410156 l -0.246094 -1.601562 z m -2.175781 -2.773437 l 1.011719 0.78125 l -0.890625 1.464843 l -1.304688 -0.957031 z m 0 0"
id="path3" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

47
image/gui/winehelper.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 55 KiB

BIN
image/scadoffice.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
image/swnd.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@ -3,11 +3,13 @@
######################################################################## ########################################################################
export PROG_NAME="T-FLEX CAD 17" export PROG_NAME="T-FLEX CAD 17"
export PROG_ICON="tflexcad" export PROG_ICON="tflexcad"
export WH_WINE_USE="wine_x_tkg_10-0_amd64" export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
export BASE_PFX="tflex17_pfx_x64_v02"
export WINEARCH="win64" export WINEARCH="win64"
export WH_WINDOWS_VER="10" export WH_WINDOWS_VER="10"
export WINEPREFIX="tflex17" export WINEPREFIX="tflex17"
export WH_XDG_OPEN="log" export WH_XDG_OPEN="log"
export WH_USE_MESA_GL_OVERRIDE="1"
if [[ -f "$2" ]] ; then if [[ -f "$2" ]] ; then
# используем общий whdb файл для подготовки префикса и сервисов # используем общий whdb файл для подготовки префикса и сервисов

View File

@ -1,5 +1,6 @@
##### WINE ##### ##### WINE #####
009c95bfe2df3f9264c9c5092f3e30ea7a168dd7869046058a718a70739602d4 wine_wh_tflex_10-9_amd64.tar.xz
3571c40a787f0386e0160b5d471b1bf11fa2a235b497156cd38198b90bcb4a9f wine_x_tkg_10-0_i586.tar.xz 3571c40a787f0386e0160b5d471b1bf11fa2a235b497156cd38198b90bcb4a9f wine_x_tkg_10-0_i586.tar.xz
71d6fdfd23d7988471d345c68e81699b8af931352b03dd216424b398f63c7b12 wine_x_tkg_10-0_amd64.tar.xz 71d6fdfd23d7988471d345c68e81699b8af931352b03dd216424b398f63c7b12 wine_x_tkg_10-0_amd64.tar.xz
fb7fdfde96de10a1b3b051bdf2727b6a7c1768b878483726454dd6726e9e0193 wine-9.0.14-alt1-i586-spravkibk.tar.xz fb7fdfde96de10a1b3b051bdf2727b6a7c1768b878483726454dd6726e9e0193 wine-9.0.14-alt1-i586-spravkibk.tar.xz
@ -44,6 +45,10 @@ f4cb2f380ad8887f334c6eb3c272b343ae8de327764945266e9e74f8acbac69f tflex17_pfx_x6
# create with wine_x_tkg_10-0_amd64 (universal user: xuser) # create with wine_x_tkg_10-0_amd64 (universal user: xuser)
# winetricks 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 # winetricks isolate_home msxml6 ipamona opensymbol wenquanyi ucrtbase2019 uff unifont droid wenquanyizenhei remove_mono internal dotnet40 dotnet48 dotnet20sp2 eufonts takao d3dcompiler_47 fontsmooth=rgb vcrun2022 vlgothic andale arial comicsans courier georgia impact times trebuchet verdana webdings corefonts liberation sourcehansans baekmuk tahoma lucida
be09f25bb795c5f912fad2d122c68c8aed937821255f161c2d75a4773d11a044 tflex17_pfx_x64_v02.tar.xz
# create with wine_wh_tflex_10-9_amd64
# winetricks isolate_home msxml6 ipamona opensymbol wenquanyi ucrtbase2019 uff unifont droid wenquanyizenhei remove_mono internal dotnet40 dotnet48 dotnet20 eufonts takao d3dcompiler_47 fontsmooth=rgb vcrun2022 vlgothic andale arial comicsans courier georgia impact times trebuchet verdana webdings corefonts liberation sourcehansans baekmuk tahoma lucida
7edbd69b40b8ca3fb3594933c6cd37030180c494c08fd13cbd1a5b46565d65e6 ved_ctm_pfx_x86_v03.tar.xz 7edbd69b40b8ca3fb3594933c6cd37030180c494c08fd13cbd1a5b46565d65e6 ved_ctm_pfx_x86_v03.tar.xz
# create with wine_x_tkg_10-0_amd64 (universal user: xuser) # create with wine_x_tkg_10-0_amd64 (universal user: xuser)
# winetricks isolate_home msxml6 mdac27 wsh57 jet40 vb6run mdac28 vcrun2022 msxml3 arial dotnet40 dotnet48 art2k7min vcrun6 andale comicsans courier georgia impact times trebuchet verdana webdings corefonts msls31 ie8 # winetricks isolate_home msxml6 mdac27 wsh57 jet40 vb6run mdac28 vcrun2022 msxml3 arial dotnet40 dotnet48 art2k7min vcrun6 andale comicsans courier georgia impact times trebuchet verdana webdings corefonts msls31 ie8
@ -82,3 +87,7 @@ dfb44ce5e5af7dba1686932c63d6b05e5dd6919a21c78130a7d1d0271b93958e audiorecstatio
# winetricks dotnet48 gdiplus vcrun6sp6 vcrun2005 vcrun2019 d3dx11_42 d3dx11_43 d3dx9 d3dcompiler_42 d3dcompiler_43 d3dcompiler_46 d3dcompiler_47 richtx32 riched30 riched20 msxml6 dotnet20 # winetricks dotnet48 gdiplus vcrun6sp6 vcrun2005 vcrun2019 d3dx11_42 d3dx11_43 d3dx9 d3dcompiler_42 d3dcompiler_43 d3dcompiler_46 d3dcompiler_47 richtx32 riched30 riched20 msxml6 dotnet20
# + addons with ODBC, SSH, *.reg # + addons with ODBC, SSH, *.reg
0f4ef434df07bc338ae308af44330590eaa1d9c94b64850514e55b960642d0eb scadoffice_addons_v02.tar.xz 0f4ef434df07bc338ae308af44330590eaa1d9c94b64850514e55b960642d0eb scadoffice_addons_v02.tar.xz
ef7e8f1ba785d48e4ea287feed5b79bd630d423e59efadb43da9653adefef218 ais-lpu-client_pfx_x86_v01.tar.xz
# create with wine_x_tkg_10-0_i586 (universal user: xuser)
# winetricks vcrun2005 vcrun2008 dotnet20sp2 dotnet40 mfc42 7zip

View File

@ -0,0 +1,24 @@
#!/usr/bin/env bash
# info_ru: Автоматизация установки МИС Витакарта (AIS LPU Client).
########################################################################
export WH_WINE_USE="wine_x_tkg_10-0_i586"
export WINEPREFIX="ais-lpu-client"
export PROG_NAME="AIS LPU Client"
export PROG_ICON="ais_lpu_client"
export BASE_PFX="ais-lpu-client_pfx_x86_v01"
export WH_WINDOWS_VER="7"
export WINEARCH="win32"
export INSTALL_DLL="dotnet40 dotnet20sp2 7zip vcrun2005 vcrun2008 mfc42"
export WH_USE_EXTRA_FONTS="1"
if [[ -f "$2" ]] ; then
prepair_wine
wine_run_install "$2" # /q
WIN_FILE_EXEC="$DRIVE_C/Program Files/Vitacore/AIS LPU Client/Update/AKUZ.UpdateUtility.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
else
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
winehelper install $1 \"/путь/до/установочногоайла\""
fi

21
testinstall/swnd Normal file
View File

@ -0,0 +1,21 @@
#!/usr/bin/env bash
# info_ru: Программный комплекс СуперОкна для фабрик по изготовлению окон и дверей.
########################################################################
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="swnd"
export PROG_NAME="СуперОкна 8"
export PROG_ICON="swnd"
export WH_WINDOWS_VER="10"
export WINEARCH="win32"
# export INSTALL_DLL=""
AUTOINSTALL_EXE="${WH_TMP_DIR}/Swnd8_setup.exe"
prepair_wine
if try_download "https://kctsoft.ru/download/superokna8/Swnd8_setup.exe" "${AUTOINSTALL_EXE}" ; then
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
try_remove_file "$AUTOINSTALL_EXE"
WIN_FILE_EXEC="$DRIVE_C/Program Files/Kct/Swnd8/Swnd8.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
fi

21
testinstall/swnd_x Normal file
View File

@ -0,0 +1,21 @@
#!/usr/bin/env bash
# info_ru: Бесплатная версия программы СуперОкна для небольших предприятий.
########################################################################
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="swnd"
export PROG_NAME="СуперОкна 8 бесплатная"
export PROG_ICON="swnd"
export WH_WINDOWS_VER="10"
export WINEARCH="win32"
# export INSTALL_DLL=""
AUTOINSTALL_EXE="${WH_TMP_DIR}/Swnd8x_setup.exe"
prepair_wine
if try_download "https://kctsoft.ru/download/superokna8/Swnd8x_setup.exe" "${AUTOINSTALL_EXE}" ; then
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
try_remove_file "$AUTOINSTALL_EXE"
WIN_FILE_EXEC="$DRIVE_C/Program Files/Kct/Swnd8x/Swnd8x.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
fi

View File

@ -7,17 +7,25 @@ if [[ $(id -u) -eq 0 ]] ; then
fi fi
##### DEFAULT PATH ##### ##### DEFAULT PATH #####
export SCRIPT_NAME USER_WORK_PATH RUN_SCRIPT DATA_PATH CHANGELOG_FILE WH_ICON_PATH LICENSE_FILE
SCRIPT_NAME="$(basename "$0")" SCRIPT_NAME="$(basename "$0")"
if [[ "$(realpath "$0")" == "/usr/bin/$SCRIPT_NAME" ]] ; then if [[ "$(realpath "$0")" == "/usr/bin/$SCRIPT_NAME" ]] ; then
# переменные для установленного WineHelper в систему # переменные для установленного WineHelper в систему
USER_WORK_PATH="$HOME/.local/share/$SCRIPT_NAME" USER_WORK_PATH="$HOME/.local/share/$SCRIPT_NAME"
RUN_SCRIPT="/usr/bin/$SCRIPT_NAME" RUN_SCRIPT="/usr/bin/$SCRIPT_NAME"
DATA_PATH="/usr/share/$SCRIPT_NAME" DATA_PATH="/usr/share/$SCRIPT_NAME"
CHANGELOG_FILE="$(realpath "/usr/share/doc/winehelper"-*/CHANGELOG)"
WH_ICON_PATH="$DATA_PATH/image/gui/winehelper.svg"
LICENSE_FILE="$(realpath "/usr/share/doc/winehelper"-*/LICENSE)"
else else
# переменные для тестового запуска WineHelper из репозитория # переменные для тестового запуска WineHelper из репозитория
USER_WORK_PATH="$HOME/test-$SCRIPT_NAME" USER_WORK_PATH="$HOME/test-$SCRIPT_NAME"
RUN_SCRIPT="$(realpath "$0")" RUN_SCRIPT="$(realpath "$0")"
DATA_PATH="$(dirname "$RUN_SCRIPT")" DATA_PATH="$(dirname "$RUN_SCRIPT")"
CHANGELOG_FILE="$DATA_PATH/CHANGELOG"
WH_ICON_PATH="$DATA_PATH/image/gui/winehelper-devel.svg"
LICENSE_FILE="$DATA_PATH/LICENSE"
# минимальная проверка синтаксиса скриптов # минимальная проверка синтаксиса скриптов
for self_check_script in "$RUN_SCRIPT" \ for self_check_script in "$RUN_SCRIPT" \
@ -28,18 +36,43 @@ else
done done
fi fi
if [[ $1 == "gui" ]] ; then
export WH_USE_GUI="1"
/usr/bin/env python3 "$DATA_PATH/winehelper_gui.py" &
exit 0
fi
##### MESSAGES FUNCTIONS ##### ##### MESSAGES FUNCTIONS #####
print_error () { printf "\E[31m%s Ошибка: $@ %s\e[0m\n" ;} if [[ $WH_USE_GUI != "1" ]] ; then
print_warning () { printf "\E[33m%s Предупреждение: $@ %s\e[0m\n" ;} print_error () { printf "\E[31m%s Ошибка: $@ %s\e[0m\n" ;}
print_info () { printf "\E[36m%s Информация: \"$@\" %s\e[0m\n" ;} print_warning () { printf "\E[33m%s Предупреждение: $@ %s\e[0m\n" ;}
print_ok () { printf "\E[35m%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 "Успех: $@" ;}
fi
print_var () { for vp in $@ ; do echo "${vp}=${!vp}" ; done ;} print_var () { for vp in $@ ; do echo "${vp}=${!vp}" ; done ;}
fatal () { fatal () {
print_error "$@" print_error "$@"
[[ -n "$WINESERVER" ]] && "$WINESERVER" -w [[ -n "$WINESERVER" ]] && "$WINESERVER" -w
exit 1 exit 1
} }
print_confirmation () {
local answer
read -p "$@ (y/N): " answer
if [[ ! "$answer" =~ ^[Yy]$ ]] ; then
print_info "Отменено пользователем."
return 1
fi
return 0
}
##### CHECK VARIABLES ##### ##### CHECK VARIABLES #####
check_variables () { [[ -z ${!1} ]] && export $1="$2" ;} check_variables () { [[ -z ${!1} ]] && export $1="$2" ;}
@ -96,6 +129,7 @@ WH_MENU_CONFIG="$HOME/.config/menus/applications-merged/WineHelper.menu"
check_variables WINEESYNC "0" check_variables WINEESYNC "0"
check_variables WINEFSYNC "0" check_variables WINEFSYNC "0"
check_variables WINEUSERNAME "xuser"
check_variables WINEARCH "win64" # or "win32" check_variables WINEARCH "win64" # or "win32"
check_variables WH_WINE_USE "wine_x_tkg_10-0_amd64" # or system check_variables WH_WINE_USE "wine_x_tkg_10-0_amd64" # or system
@ -134,6 +168,11 @@ check_variables VKD3D_VER "1.1-2602"
export CLOUD_URL="https://cloud.linux-gaming.ru/portproton" export CLOUD_URL="https://cloud.linux-gaming.ru/portproton"
if env | grep license_agreement_file
then fatal "Обнаружена подмена переменной license_agreement_file!"
else readonly license_agreement_file="$(mktemp -d)/$((RANDOM % RANDOM))"
fi
##### CHECK NOEXEC FOR /HOME ##### ##### CHECK NOEXEC FOR /HOME #####
if mount -l | grep -E "[[:space:]]/home[[:space:]]" | grep -q "noexec" ; then if mount -l | grep -E "[[:space:]]/home[[:space:]]" | grep -q "noexec" ; then
fatal "/home примонтирован в /etc/fstab с аргументом noexec.\nЗапуск портативной версии wine не возможен из домашнего каталога." fatal "/home примонтирован в /etc/fstab с аргументом noexec.\nЗапуск портативной версии wine не возможен из домашнего каталога."
@ -141,14 +180,23 @@ fi
##### ROOT ##### ##### ROOT #####
su_run () { su_run () {
print_info "Для продолжения установки введите root пароль..." if [[ $WH_USE_GUI != "1" ]] ; then
su - -c "$@" local i="1"
while [[ $i -le "3" ]] ; do
print_info "Для продолжения установки введите root пароль (попытка $i из 3)..."
su - -c "$@" && return 0
((i++))
done
else
pkexec "$@" && return 0
fi
fatal "Не удалось установить необходимые компоненты!"
} }
##### CHECK DEPENDENCIES ##### ##### CHECK DEPENDENCIES #####
# fonts-ttf-ms # fonts-ttf-ms
if ! rpm -q {i586-,}{wine,glibc-core,libstdc++6,glibc-pthread,glibc-nss,libOSMesa,\ if ! rpm -q {i586-,}{wine,glibc-core,libstdc++6,glibc-pthread,glibc-nss,\
libnss-mdns,libunixODBC2,ocl-icd,libfreetype,libfontconfig1,libgnutls30,libGL,\ libnss-mdns,libunixODBC2,ocl-icd,libfreetype,libfontconfig1,libgnutls30,libGL,\
libEGL,xorg-dri-swrast,xorg-dri-intel,xorg-dri-radeon,libvulkan1,libcups} 1>/dev/null libEGL,xorg-dri-swrast,xorg-dri-intel,xorg-dri-radeon,libvulkan1,libcups} 1>/dev/null
then then
@ -259,11 +307,13 @@ unpack () {
esac esac
create_new_dir "$2" create_new_dir "$2"
if [[ $skip_xattr == "1" ]] \ if [[ $skip_xattr == "1" ]] \
&& $command "$1" ${outarg}"$2" 2>&1 | grep -v "xattr" && $command "$1" ${outarg}"$2" 2>&1 | sed "/xattr/d"
then print_ok "Файл $1 распакован." then print_ok "Файл $1 распакован."
elif $command "$1" ${outarg}"$2" elif $command "$1" ${outarg}"$2"
then print_ok "Файл $1 распакован." then print_ok "Файл $1 распакован."
else fatal "Распаковать файл $1 не удалось!" else
try_remove_file "$1"
fatal "Распаковать файл $1 не удалось!"
fi fi
return 0 return 0
} }
@ -290,7 +340,7 @@ read_page () {
try_remove_file "$OUT_PAGE_TMP" try_remove_file "$OUT_PAGE_TMP"
unset OUT_PAGE_TMP unset OUT_PAGE_TMP
else else
echo "Исользуй try_get_page перед read_page" echo "Используй try_get_page перед read_page"
fi fi
} }
@ -307,11 +357,50 @@ check_file_sum () {
return 0 return 0
else else
try_remove_file "$check_file_path" try_remove_file "$check_file_path"
fatal "Хэш-сумма файла $check_file_name не совподает!" fatal "Хэш-сумма файла $check_file_name не совпадает!\n Попробуйте перезапустить установку."
fi
}
print_license_agreement () {
if [[ -f "$license_agreement_file" ]] \
&& [[ "$(stat -c %a "$license_agreement_file" 2>/dev/null)" == "600" ]]
then return 0
fi
echo
print_warning "Лицензионные соглашения использования сторонних компонентов:
Некоторые компоненты, установленные в префикс и необходимые для запуска приложений, могут
быть защищены авторским правом или лицензионными соглашениями. Вы обязаны самостоятельно
убедиться в законности использования этих компонентов в вашей юрисдикции.
Мы не несём ответственности за нарушение лицензионных соглашений, связанное с использованием
подготовленного префикса, а так же за программное обеспечение поставляемого из сторонних источников.
Подтверждая продолжение установки, вы соглашаетесь что ознакомились с данным отказом от
ответственности и принимаете все риски, связанные с использованием программного обеспечения.
"
if print_confirmation "Подтвердите продолжение установки" ; then
touch "$license_agreement_file"
chmod 600 "$license_agreement_file"
cleanup_laf () {
local cleanup_laf_dir="$(dirname "$license_agreement_file")"
rm -r "$cleanup_laf_dir" || echo "Не удалось удалить каталог $cleanup_laf_dir"
}
trap "cleanup_laf" EXIT
return 0
else
exit 1
fi fi
} }
try_download () { try_download () {
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
local download_file_url output_file output_file_name local download_file_url output_file output_file_name
download_file_url="${1// /%20}" download_file_url="${1// /%20}"
output_file="$2" output_file="$2"
@ -356,9 +445,9 @@ try_copy_other_dll_to_pfx_32() {
try_copy_wine_dll_to_pfx_64 () { try_copy_wine_dll_to_pfx_64 () {
if [[ "$WINEARCH" == "win64" ]] ; then if [[ "$WINEARCH" == "win64" ]] ; then
if [[ -d "${WINEDIR}/lib64/wine/x86_64-windows" ]] if [[ -d "$WINEDIR/lib64/wine/x86_64-windows" ]]
then WINE_BUILD_DLL_64="${WINEDIR}/lib64/wine/x86_64-windows" then WINE_BUILD_DLL_64="$WINEDIR/lib64/wine/x86_64-windows"
else WINE_BUILD_DLL_64="${WINEDIR}/lib64/wine" else WINE_BUILD_DLL_64="$WINEDIR/lib64/wine"
fi fi
cmp -s "$WINE_BUILD_DLL_64/$1" "${WINEPREFIX}/drive_c/windows/system32/$(basename $1)" && return 0 cmp -s "$WINE_BUILD_DLL_64/$1" "${WINEPREFIX}/drive_c/windows/system32/$(basename $1)" && return 0
try_copy_file "$WINE_BUILD_DLL_64/$1" "${WINEPREFIX}/drive_c/windows/system32/" && return 0 || return 1 try_copy_file "$WINE_BUILD_DLL_64/$1" "${WINEPREFIX}/drive_c/windows/system32/" && return 0 || return 1
@ -366,9 +455,9 @@ try_copy_wine_dll_to_pfx_64 () {
} }
try_copy_wine_dll_to_pfx_32() { try_copy_wine_dll_to_pfx_32() {
if [[ -d "${WINEDIR}/lib/wine/i386-windows" ]] if [[ -d "$WINEDIR/lib/wine/i386-windows" ]]
then WINE_BUILD_DLL_32="${WINEDIR}/lib/wine/i386-windows" then WINE_BUILD_DLL_32="$WINEDIR/lib/wine/i386-windows"
else WINE_BUILD_DLL_32="${WINEDIR}/lib/wine" else WINE_BUILD_DLL_32="$WINEDIR/lib/wine"
fi fi
if [[ "$WINEARCH" == "win64" ]] ; then if [[ "$WINEARCH" == "win64" ]] ; then
cmp -s "$WINE_BUILD_DLL_32/$1" "${WINEPREFIX}/drive_c/windows/syswow64/$1" && return 0 cmp -s "$WINE_BUILD_DLL_32/$1" "${WINEPREFIX}/drive_c/windows/syswow64/$1" && return 0
@ -424,11 +513,49 @@ var_ld_library_path_update () {
return 0 return 0
} }
extract_icon() {
check_prefix_var
local exe_file="$1"
local ico_name="$(basename "$exe_file" .exe).ico"
local png_name="$(basename "$exe_file" .exe).png"
local tmp_ico_dir="$WH_TMP_DIR/icons"
local user_icons="$WINEPREFIX/icons"
create_new_dir "$tmp_ico_dir"
if ! wrestool -x -t 14 "$exe_file" -o "$tmp_ico_dir/$ico_name" ; then
print_warning "Не удалось извлечь иконку из $exe_file"
try_remove_file "$tmp_ico_dir"
return 1
fi
if ! icotool -x -i 1 "$tmp_ico_dir/$ico_name" -o "$tmp_ico_dir/$png_name" ; then
print_warning "Не удалось извлечь иконку из $ico_name"
try_remove_file "$tmp_ico_dir"
return 1
fi
create_new_dir "$user_icons"
if ! try_copy_file "$tmp_ico_dir/$png_name" "$user_icons" ; then
print_warning "Не удалось копировать иконку в префикс"
try_remove_file "$user_icons"
return 1
fi
try_remove_dir "$tmp_ico_dir"
print_ok "Иконка сохранена: $user_icons/$png_name"
return 0
}
create_desktop () { create_desktop () {
local name_desktop="$1" local name_desktop exe_file desktop_filename icon_file desktop_path
local exe_file="$2" name_desktop="$1"
local desktop_filename="$(basename "$exe_file" .exe | sed "s| |_|")" exe_file="$2"
local icon_file if [[ -n $4 ]] && [[ $4 != "nocopy" ]];
then desktop_filename="$4"
else desktop_filename="$(basename "$exe_file" .exe | sed "s| |_|")"
fi
if [[ "$RESTORE_FROM_BACKUP" == "1" ]] && [[ -f "$3" ]] if [[ "$RESTORE_FROM_BACKUP" == "1" ]] && [[ -f "$3" ]]
then icon_file="$3" then icon_file="$3"
elif [[ -f "$WH_IMAGE_PATH/$3.png" ]] elif [[ -f "$WH_IMAGE_PATH/$3.png" ]]
@ -485,7 +612,6 @@ create_desktop () {
echo "$name_desktop=${exe_file//$WINEPREFIX/}=$(basename "$icon_file")" >> "$WINEPREFIX/desktop.list" echo "$name_desktop=${exe_file//$WINEPREFIX/}=$(basename "$icon_file")" >> "$WINEPREFIX/desktop.list"
fi fi
# создаем файл категории для меню # создаем файл категории для меню
create_new_dir "$HOME/.local/share/desktop-directories" create_new_dir "$HOME/.local/share/desktop-directories"
if [[ ! -f "$WH_MENU_CATEGORY" ]] ; then if [[ ! -f "$WH_MENU_CATEGORY" ]] ; then
@ -520,14 +646,8 @@ EOF
update-desktop-database "$HOME/.local/share/applications" update-desktop-database "$HOME/.local/share/applications"
if [[ $4 != "nocopy" ]] ; then if [[ $4 != "nocopy" ]] ; then
if [[ -n $4 ]] ; then desktop_path="$(xdg-user-dir DESKTOP)"
local desktop_path="$(xdg-user-dir DESKTOP)/$4" print_info "В меню и на рабочем столе создан $desktop_filename.desktop"
create_new_dir "$desktop_path"
print_info "В меню создан $desktop_filename.desktop и скопирован на рабочий стол в каталог $4"
else
local desktop_path="$(xdg-user-dir DESKTOP)"
print_info "В меню и на рабочем столе создан $desktop_filename.desktop"
fi
cp -f "$USER_WORK_PATH/$desktop_filename.desktop" "$desktop_path" cp -f "$USER_WORK_PATH/$desktop_filename.desktop" "$desktop_path"
else else
print_info "В меню создан $desktop_filename.desktop" print_info "В меню создан $desktop_filename.desktop"
@ -581,7 +701,7 @@ check_installed_programs () {
print_info "Список установленных программ:" print_info "Список установленных программ:"
check_installed_programs check_installed_programs
exit 1 exit 1
elif [[ "$EXE_PATH" =~ ${2}$ ]] ; then elif [[ "$desktop_file" =~ ${2}.desktop ]] ; then
export EXE_PATH export EXE_PATH
return 0 return 0
fi fi
@ -589,7 +709,8 @@ check_installed_programs () {
*) *)
if [[ -f "$EXE_PATH.whdb" ]] ; then if [[ -f "$EXE_PATH.whdb" ]] ; then
WH_INFO_RU="$(grep "info_ru:" "$EXE_PATH.whdb" | awk -F"info_ru: " '{print $2}')" WH_INFO_RU="$(grep "info_ru:" "$EXE_PATH.whdb" | awk -F"info_ru: " '{print $2}')"
printf "\E[36m%s $SCRIPT_NAME run $(basename "$EXE_PATH") - $(basename "$desktop_file") %s\e[0m\n" WH_PROG_NAME="$(grep "PROG_NAME" "$EXE_PATH.whdb" | awk -F"=" '{print $2}')"
printf "\E[36m%s $SCRIPT_NAME run $(basename "$desktop_file" .desktop) %s\e[0m- $WH_PROG_NAME\n"
echo -e "$WH_INFO_RU\n" echo -e "$WH_INFO_RU\n"
fi fi
;; ;;
@ -694,53 +815,49 @@ init_wine_ver () {
export WINEDIR="$WH_DIST_DIR/$WH_WINE_USE" export WINEDIR="$WH_DIST_DIR/$WH_WINE_USE"
if [[ ! -d "$WINEDIR" ]] ; then if [[ ! -d "$WINEDIR" ]] ; then
WINE_URL="$CLOUD_URL/$WH_WINE_USE.tar.xz" local wine_package="$WH_TMP_DIR/$WH_WINE_USE.tar.xz"
local WINE_PACKAGE="$WH_TMP_DIR/${WH_WINE_USE}.tar.xz" try_download "$CLOUD_URL/$WH_WINE_USE.tar.xz" "$wine_package" check256sum
if try_download "$WINE_URL" "$WINE_PACKAGE" check256sum \ unpack "$wine_package" "$WH_DIST_DIR/"
&& unpack "$WINE_PACKAGE" "$WH_DIST_DIR/" try_remove_file "$wine_package"
then
echo "$WH_WINE_USE" > "$WH_DIST_DIR/$WH_WINE_USE/version"
try_remove_file "$WINE_PACKAGE"
fi
fi fi
export WINE="${WINEDIR}/bin/wine" [[ ! -f "$WINEDIR/version" ]] && echo "$WH_WINE_USE" > "$WINEDIR/version"
export WINELOADER="${WINEDIR}/bin/wine"
export WINESERVER="${WINEDIR}/bin/wineserver" export WINE="$WINEDIR/bin/wine"
export WINELOADER="$WINEDIR/bin/wine"
export WINESERVER="$WINEDIR/bin/wineserver"
if [[ -n "${PATH}" ]] if [[ -n "${PATH}" ]]
then export PATH="${WINEDIR}/bin:${PATH}" then export PATH="$WINEDIR/bin:${PATH}"
else export PATH="${WINEDIR}/bin" else export PATH="$WINEDIR/bin"
fi fi
if [[ -n "${LD_LIBRARY_PATH}" ]] var_ld_library_path_update "$WINEDIR/lib"
then export LD_LIBRARY_PATH="${WINEDIR}/lib:${LD_LIBRARY_PATH}" export WINEDLLPATH="$WINEDIR/lib/wine"
else export LD_LIBRARY_PATH="${WINEDIR}/lib"
if [[ ! -d "$WINEDIR/lib64/wine" ]] \
&& [[ -d "$WINEDIR/lib/wine/x86_64-unix" ]]
then
create_new_dir "$WINEDIR/lib64/"
try_force_link_dir "$WINEDIR/lib/wine/" "$WINEDIR/lib64/"
fi fi
export WINEDLLPATH="${WINEDIR}/lib/wine" if [[ -d "$WINEDIR/lib64" ]] \
&& [[ ! -L "$WINEDIR/lib64/wine" ]]
if [[ -d "${WINEDIR}/lib/gstreamer-1.0" ]] ; then then
export GST_PLUGIN_SYSTEM_PATH_1_0="${WINEDIR}/lib/gstreamer-1.0" var_ld_library_path_update "$WINEDIR/lib64"
export WINEDLLPATH+=":$WINEDIR/lib64/wine"
fi fi
[[ ! -f "${WINEDIR}/version" ]] && echo "${WH_WINE_USE}" > "${WINEDIR}/version" if [[ -d "$WINEDIR/lib/gstreamer-1.0" ]] ; then
export GST_PLUGIN_SYSTEM_PATH_1_0="$WINEDIR/lib/gstreamer-1.0"
if [[ ! -d "${WINEDIR}/lib64/wine" ]] && [[ -d "${WINEDIR}/lib/wine/x86_64-unix" ]] ; then if [[ -d "$WINEDIR/lib64/gstreamer-1.0" ]] ; then
create_new_dir "${WINEDIR}/lib64/" export GST_PLUGIN_SYSTEM_PATH_1_0+=":$WINEDIR/lib64/gstreamer-1.0"
try_force_link_dir "${WINEDIR}/lib/wine/" "${WINEDIR}/lib64/"
fi
if [[ -d "${WINEDIR}/lib64" ]] ; then
export LD_LIBRARY_PATH+=":${WINEDIR}/lib64"
export WINEDLLPATH+=":${WINEDIR}/lib64/wine"
if [[ -d "${WINEDIR}/lib64/gstreamer-1.0" ]] ; then
export GST_PLUGIN_SYSTEM_PATH_1_0+=":${WINEDIR}/lib64/gstreamer-1.0"
fi fi
fi fi
if [[ $WH_USE_CPCSP_PROXY == "1" ]] \ if [[ $WH_USE_CPCSP_PROXY == "1" ]] \
&& ! grep -q "$CPCSP_PROXY_VER" "${WINEDIR}/cpcsp_proxy.ver" && ! grep -q "$CPCSP_PROXY_VER" "$WINEDIR/cpcsp_proxy.ver"
then then
CPCSP_PROXY_NAME="wine-cpcsp_proxy-$CPCSP_PROXY_VER" CPCSP_PROXY_NAME="wine-cpcsp_proxy-$CPCSP_PROXY_VER"
CPCSP_PROXY_URL="$CLOUD_URL/$CPCSP_PROXY_NAME.tar.xz" CPCSP_PROXY_URL="$CLOUD_URL/$CPCSP_PROXY_NAME.tar.xz"
@ -748,16 +865,16 @@ init_wine_ver () {
try_download "$CPCSP_PROXY_URL" "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz" check256sum try_download "$CPCSP_PROXY_URL" "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz" check256sum
unpack "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz" "$WH_TMP_DIR" unpack "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz" "$WH_TMP_DIR"
cp -fr "$WH_TMP_DIR/$CPCSP_PROXY_NAME/"i386-* "${WINEDIR}/lib/wine/" cp -fr "$WH_TMP_DIR/$CPCSP_PROXY_NAME/"i386-* "$WINEDIR/lib/wine/"
if [[ -d "${WINEDIR}/lib64" ]] ; then if [[ -d "$WINEDIR/lib64" ]] ; then
cp -fr "$WH_TMP_DIR/$CPCSP_PROXY_NAME/"x86_64-* "${WINEDIR}/lib64/wine/" cp -fr "$WH_TMP_DIR/$CPCSP_PROXY_NAME/"x86_64-* "$WINEDIR/lib64/wine/"
fi fi
try_remove_dir "$WH_TMP_DIR/$CPCSP_PROXY_NAME" try_remove_dir "$WH_TMP_DIR/$CPCSP_PROXY_NAME"
echo "$CPCSP_PROXY_VER" > "${WINEDIR}/cpcsp_proxy.ver" echo "$CPCSP_PROXY_VER" > "$WINEDIR/cpcsp_proxy.ver"
fi fi
else else
# use system WINE # use system WINE
if ! rpm -q "wine" 1>/dev/null ; then if [[ ! -f "/usr/bin/wine" ]] ; then
fatal "system WINE - not found." fatal "system WINE - not found."
fi fi
export WINEDIR="/usr" export WINEDIR="/usr"
@ -894,25 +1011,33 @@ get_base_pfx () {
check_prefix_var () { check_prefix_var () {
if [[ -z "$WINEPREFIX" ]] ; then if [[ -z "$WINEPREFIX" ]] ; then
print_warning "Префикс не выбран."
local prefixes=() local prefixes=()
local count=1 local count=1
print_info "Доступные префиксы WineHelper:"
for prefix in "$WH_PREFIXES_DIR"/* ; do for prefix in "$WH_PREFIXES_DIR"/* ; do
if [[ -d "$prefix" ]]; then if [[ -d "$prefix" ]]; then
prefixes+=("$prefix") prefixes+=("$prefix")
echo "$count. $(basename "$prefix")"
((count++)) ((count++))
fi fi
done done
[[ ${#prefixes[@]} -eq 0 ]] && fatal "Не найдено ни одного префикса!" if [[ ${#prefixes[@]} -eq 0 ]]
then fatal "Не найдено ни одного префикса!"
else print_info "Доступные префиксы WineHelper:"
fi
echo "0 - Отмена"
for ((i=0; i<${#prefixes[@]}; i++)); do
echo "$((i+1)) - $(basename "${prefixes[$i]}")"
done
local max_choice=${#prefixes[@]} local max_choice=${#prefixes[@]}
read -p "Выберите префикс (1-$max_choice): " choice read -p "Выберите префикс (0-$max_choice): " choice
if [[ "$choice" -ge 1 && "$choice" -le "$max_choice" ]] ; then if [[ "$choice" == "0" ]]; then
print_info "Выбор префикса отменен."
exit 0
elif [[ "$choice" -ge 1 && "$choice" -le "$max_choice" ]] ; then
export WINEPREFIX="${prefixes[$choice-1]}" export WINEPREFIX="${prefixes[$choice-1]}"
else else
fatal "Неверный выбор." fatal "Неверный выбор."
@ -938,6 +1063,7 @@ init_wineprefix () {
fi fi
export DRIVE_C="$WINEPREFIX/drive_c" export DRIVE_C="$WINEPREFIX/drive_c"
export XUSER_PATH="$DRIVE_C/users/xuser"
if [[ ! -f "$WINEPREFIX/.firstboot" ]] ; then if [[ ! -f "$WINEPREFIX/.firstboot" ]] ; then
create_new_dir "$WINEPREFIX" create_new_dir "$WINEPREFIX"
@ -967,10 +1093,10 @@ init_wineprefix () {
print_info "Windows версия изменена на win${WH_WINDOWS_VER}" print_info "Windows версия изменена на win${WH_WINDOWS_VER}"
fi fi
if [[ -d "$DRIVE_C/users/xuser" ]] && [[ ! -d "$DRIVE_C/users/$USER" ]] if [[ -d "$XUSER_PATH" ]] && [[ ! -d "$DRIVE_C/users/$USER" ]]
then try_force_link_dir "$DRIVE_C/users/xuser" "$DRIVE_C/users/$USER" then try_force_link_dir "$XUSER_PATH" "$DRIVE_C/users/$USER"
elif [[ ! -d "$DRIVE_C/users/xuser" ]] && [[ -d "$DRIVE_C/users/$USER" ]] elif [[ ! -d "$XUSER_PATH" ]] && [[ -d "$DRIVE_C/users/$USER" ]]
then try_force_link_dir "$DRIVE_C/users/$USER" "$DRIVE_C/users/xuser" then try_force_link_dir "$DRIVE_C/users/$USER" "$XUSER_PATH"
fi fi
if [[ ! -f "$WINEPREFIX/.update-timestamp" ]] ; then if [[ ! -f "$WINEPREFIX/.update-timestamp" ]] ; then
@ -979,18 +1105,23 @@ init_wineprefix () {
wait_wineserver wait_wineserver
fi fi
if [[ -L "$XUSER_PATH/Desktop" ]]
then rm -f "$XUSER_PATH/Desktop"
fi
create_new_dir "$XUSER_PATH/Desktop"
if [[ ! -L "$WINEPREFIX/dosdevices/h:" ]] if [[ ! -L "$WINEPREFIX/dosdevices/h:" ]]
then try_force_link_dir "$HOME" "$WINEPREFIX/dosdevices/h:" then try_force_link_dir "$HOME" "$WINEPREFIX/dosdevices/h:"
fi fi
try_remove_file "$DRIVE_C/windows/system32/winemenubuilder.exe" if [[ $WH_USE_MESA_GL_OVERRIDE == "1" ]] \
&& ! lspci | grep -i nvidia > /dev/null ; then
export MESA_GL_VERSION_OVERRIDE="3.3"
export MESA_GLSL_VERSION_OVERRIDE="330"
fi
# хак для XRDP сессии # хак для XRDP сессии
if [[ $DISPLAY == *:10.0 ]] ; then if [[ $DISPLAY == *:10.0 ]] ; then
if ! lspci | grep -i nvidia > /dev/null ; then
export MESA_GL_VERSION_OVERRIDE="3.3"
export MESA_GLSL_VERSION_OVERRIDE="330"
fi
print_warning "Обнаружена сессия XRDP, настраиваем реестр:" print_warning "Обнаружена сессия XRDP, настраиваем реестр:"
get_and_set_reg_file --add 'Software\Wine\X11 Driver' 'UseXRandR' 'REG_SZ' "N" "user" get_and_set_reg_file --add 'Software\Wine\X11 Driver' 'UseXRandR' 'REG_SZ' "N" "user"
get_and_set_reg_file --add 'Software\Wine\X11 Driver' 'UseXVidMode' 'REG_SZ' "N" "user" get_and_set_reg_file --add 'Software\Wine\X11 Driver' 'UseXVidMode' 'REG_SZ' "N" "user"
@ -1092,7 +1223,7 @@ init_wineprefix () {
echo "# переменные последнего использования префикса:" > "$WINEPREFIX/last.conf" echo "# переменные последнего использования префикса:" > "$WINEPREFIX/last.conf"
for var in WH_WINE_USE BASE_PFX WINEARCH WH_WINDOWS_VER WINEESYNC WINEFSYNC \ for var in WH_WINE_USE BASE_PFX WINEARCH WH_WINDOWS_VER WINEESYNC WINEFSYNC \
STAGING_SHARED_MEMORY WINE_LARGE_ADDRESS_AWARE WH_USE_SHADER_CACHE WH_USE_WINE_DXGI \ STAGING_SHARED_MEMORY WINE_LARGE_ADDRESS_AWARE WH_USE_SHADER_CACHE WH_USE_WINE_DXGI \
WINE_CPU_TOPOLOGY USE_RENDERER DXVK_VER VKD3D_VER WINE_CPU_TOPOLOGY USE_RENDERER DXVK_VER VKD3D_VER WH_XDG_OPEN WH_USE_MESA_GL_OVERRIDE
do do
echo "export $var=\"${!var}\"" >> "$WINEPREFIX/last.conf" echo "export $var=\"${!var}\"" >> "$WINEPREFIX/last.conf"
done done
@ -1179,25 +1310,6 @@ init_database () {
} }
prepair_wine () { prepair_wine () {
if [[ -n "$INSTALL_SCRIPT_NAME" ]] \
&& [[ "$FORCE_INSTALL" != "1" ]]
then
print_warning "Лицензионные соглашения использования сторонних компонентов:
Некоторые компоненты, установленные в префикс и необходимые для запуска приложений, могут
быть защищены авторским правом или лицензионными соглашениями. Вы обязаны самостоятельно
убедиться в законности использования этих компонентов в вашей юрисдикции.
Мы не несём ответственности за нарушение лицензионных соглашений, связанное с использованием
подготовленного префикса.
Продолжая использовать данное ПО вы подтверждаете, что ознакомились с данным отказом от
ответственности и принимаете все риски, связанные с его использованием.
"
print_info "Для продолжения нажмите любую клавишу на клавиатуре."
read -s -n 1
fi
var_winedlloverride_update "winemenubuilder.exe=d" var_winedlloverride_update "winemenubuilder.exe=d"
if [[ -n "$INSTALL_SCRIPT_NAME" ]] if [[ -n "$INSTALL_SCRIPT_NAME" ]]
@ -1218,6 +1330,11 @@ prepair_wine () {
} }
wine_run () { wine_run () {
if [[ $WINEARCH == "win32" ]] \
&& file "$WIN_FILE_EXEC" | grep -q "x86-64"
then fatal "Нельзя запустить 64-битное приложение в 32-битном префиксе!"
fi
WIN_FILE_PATH="$(dirname "$WIN_FILE_EXEC")" WIN_FILE_PATH="$(dirname "$WIN_FILE_EXEC")"
[[ -d "$WIN_FILE_PATH" ]] && cd "$WIN_FILE_PATH" [[ -d "$WIN_FILE_PATH" ]] && cd "$WIN_FILE_PATH"
@ -1274,21 +1391,35 @@ run_autoinstall () {
export INSTALL_SCRIPT INSTALL_MODE export INSTALL_SCRIPT INSTALL_MODE
if [[ $INSTALL_SCRIPT_NAME == "list" ]] || [[ -z "$INSTALL_SCRIPT_NAME" ]] ; then if [[ $INSTALL_SCRIPT_NAME == "list" ]] || [[ -z "$INSTALL_SCRIPT_NAME" ]] ; then
print_info "Список программ с возможностью автоматической установки:"
for list in $(ls "$WH_AUTOINSTALL_DIR") ; do list_install_scripts() {
AI_INFO="$(grep "info_ru:" "$WH_AUTOINSTALL_DIR/$list" | awk -F"info_ru: " '{print $2}')" local dir="$1"
AI_PROGNAME="$(grep "PROG_NAME=" "$WH_AUTOINSTALL_DIR/$list" | awk -F"PROG_NAME=" '{print $2}')" local title="$2"
echo -e "\n$list - $AI_PROGNAME" [[ ! -d "$dir" ]] || [[ -z "$(ls -A "$dir" 2>/dev/null)" ]] && return
echo "$AI_INFO"
done print_info "$title"
awk '
FNR==1 {
if (progname) {
printf "\n%s - %s\n%s\n", filename, progname, info
}
progname=""; info=""; filename=FILENAME
sub(".*/", "", filename)
}
/info_ru:/ { sub(/.*info_ru: /, ""); info=$0 }
/PROG_NAME=/ { sub(/.*PROG_NAME=/, ""); progname=$0 }
END {
if (progname) {
printf "\n%s - %s\n%s\n", filename, progname, info
}
}
' "$dir"/*
}
list_install_scripts "$WH_AUTOINSTALL_DIR" "Список программ с возможностью автоматической установки:"
echo echo
print_info "Список программ с возможностью установки из существующего дистрибутива:" list_install_scripts "$WH_MANUALINSTALL_DIR" "Список программ с возможностью установки из существующего дистрибутива:"
for list in $(ls "$WH_MANUALINSTALL_DIR") ; do
AI_INFO="$(grep "info_ru:" "$WH_MANUALINSTALL_DIR/$list" | awk -F"info_ru: " '{print $2}')"
AI_PROGNAME="$(grep "PROG_NAME=" "$WH_MANUALINSTALL_DIR/$list" | awk -F"PROG_NAME=" '{print $2}')"
echo -e "\n$list - $AI_PROGNAME"
echo "$AI_INFO"
done
elif [[ "$INSTALL_SCRIPT" != "0" ]] ; then elif [[ "$INSTALL_SCRIPT" != "0" ]] ; then
source "$INSTALL_SCRIPT" "$@" source "$INSTALL_SCRIPT" "$@"
print_info "Завершена установка $INSTALL_SCRIPT_NAME" print_info "Завершена установка $INSTALL_SCRIPT_NAME"
@ -1301,7 +1432,7 @@ run_autoinstall () {
remove_prefix() { remove_prefix() {
export WINEPREFIX="$1" export WINEPREFIX="$1"
if [[ -z "$WINEPREFIX" ]] if [[ -z "$WINEPREFIX" ]]
then print_error "Не указано имя префикса для удаления!" then print_warning "Не указано имя префикса для удаления. Выберите из списка..."
fi fi
check_prefix_var check_prefix_var
if [[ ! -d "$WINEPREFIX" ]] if [[ ! -d "$WINEPREFIX" ]]
@ -1316,11 +1447,8 @@ remove_prefix() {
echo " - Удалению всех программ, установленных в этом префиксе" echo " - Удалению всех программ, установленных в этом префиксе"
echo " - Удалению связанных ярлыков из меню и рабочего стола" echo " - Удалению связанных ярлыков из меню и рабочего стола"
echo "======================================================" echo "======================================================"
read -p "Продолжить удаление? (y/N): " answer if ! print_confirmation "Продолжить удаление?"
then exit 1
if [[ ! "$answer" =~ ^[YyДд]$ ]]; then
print_info "Удаление префикса отменено."
return 0
fi fi
fi fi
@ -1353,60 +1481,54 @@ remove_winehelper () {
echo " - Все приложения/программы, установленные через WineHelper" echo " - Все приложения/программы, установленные через WineHelper"
echo " - Все ярлыки из меню и с рабочего стола созданные с помощью WineHelper" echo " - Все ярлыки из меню и с рабочего стола созданные с помощью WineHelper"
echo "======================================================" echo "======================================================"
echo "Продолжить? (y/N)" if print_confirmation "Продолжить?" ; then
read -r answer
if [[ "$answer" =~ ^[YyДд]$ ]] ; then
# Второе подтверждение
echo "----------------------------------------------" echo "----------------------------------------------"
print_warning " ВЫ ТОЧНО УВЕРЕНЫ?" print_warning " ВЫ ТОЧНО УВЕРЕНЫ?"
echo "----------------------------------------------" echo "----------------------------------------------"
echo "Продолжить? (y/N)" if ! print_confirmation "Продолжить?"
read -r answer then exit 1
fi
else else
print_info "Удаление отменено." exit 1
return 1
fi fi
fi fi
if [[ "$answer" =~ ^[YyДд]$ ]] ; then # Удаление рабочих каталогов
# Удаление рабочих каталогов try_remove_dir "$USER_WORK_PATH"
try_remove_dir "$USER_WORK_PATH"
# Удаление файлов меню # Удаление файлов меню
try_remove_dir "$WH_MENU_DIR" try_remove_dir "$WH_MENU_DIR"
try_remove_file "$WH_MENU_CATEGORY" try_remove_file "$WH_MENU_CATEGORY"
try_remove_file "$WH_MENU_CONFIG" try_remove_file "$WH_MENU_CONFIG"
# Удаление desktop-файлов # Удаление desktop-файлов
for desktop_file in "$(xdg-user-dir DESKTOP)"/*.desktop; do for desktop_file in "$(xdg-user-dir DESKTOP)"/*.desktop; do
if grep -q "Exec=env \"$RUN_SCRIPT\"" "$desktop_file"; then if grep -q "Exec=env \"$RUN_SCRIPT\"" "$desktop_file"; then
try_remove_file "$desktop_file" try_remove_file "$desktop_file"
fi fi
done done
# Обновление кэша desktop-файлов # Обновление кэша desktop-файлов
update-desktop-database "$HOME/.local/share/applications" update-desktop-database "$HOME/.local/share/applications"
# Удаление символических ссылок # Удаление символических ссылок
try_remove_file "$HOME/.winehelper" try_remove_file "$HOME/.winehelper"
print_info "WineHelper и все связанные данные успешно удалены." print_info "WineHelper и все связанные данные успешно удалены."
else
print_info "Удаление отменено."
fi
} }
create_base_pfx () { create_base_pfx () {
export WINEPREFIX="$1" export WINEPREFIX="$1"
check_prefix_var check_prefix_var
local prefix_dir="$WINEPREFIX" local prefix_dir drive_c_dir users_dir archive_path
local drive_c_dir="$prefix_dir/drive_c" prefix_dir="$WINEPREFIX"
local users_dir="$drive_c_dir/users" drive_c_dir="$prefix_dir/drive_c"
local archive_path="$WH_TMP_DIR/pfx/new_${PREFIX_NAME}.tar.xz" users_dir="$drive_c_dir/users"
archive_path="$WH_TMP_DIR/pfx/new_${PREFIX_NAME}.tar.xz"
try_copy_dir "$prefix_dir" "${prefix_dir}_bak" try_copy_dir "$prefix_dir" "${prefix_dir}_bak"
create_new_dir "$WH_TMP_DIR/pfx/"
for wtlog in workaround isolate internal winxp win2 win7 win10 for wtlog in workaround isolate internal winxp win2 win7 win10
do sed -i "/$wtlog/d" "$prefix_dir/winetricks.log" do sed -i "/$wtlog/d" "$prefix_dir/winetricks.log"
@ -1450,12 +1572,13 @@ backup_prefix() {
export WINEPREFIX="$1" export WINEPREFIX="$1"
check_prefix_var check_prefix_var
local backup_base_dir="$(xdg-user-dir DESKTOP)" local backup_base_dir backup_archive_name backup_dest_path temp_backup_dir temp_prefix_dir temp_users_dir
local backup_archive_name="backup_${PREFIX_NAME}_$(date +%Y.%m.%d).whpack" backup_base_dir="$(xdg-user-dir DESKTOP)"
local backup_dest_path="$backup_base_dir/$backup_archive_name" backup_archive_name="backup_${PREFIX_NAME}_$(date +%d.%m.%Y-%H.%M.%S).whpack"
local temp_backup_dir="$WH_TMP_DIR/backup_${PREFIX_NAME}_$(date +%Y.%m.%d)" backup_dest_path="$backup_base_dir/$backup_archive_name"
local temp_prefix_dir="$temp_backup_dir/prefixes/$PREFIX_NAME" temp_backup_dir="$WH_TMP_DIR/backup_${PREFIX_NAME}_$(date +%d.%m.%Y-%H.%M.%S)"
local temp_users_dir="$temp_prefix_dir/drive_c/users" temp_prefix_dir="$temp_backup_dir/prefixes/$PREFIX_NAME"
temp_users_dir="$temp_prefix_dir/drive_c/users"
print_info "Начало резервного копирования префикса: $PREFIX_NAME" print_info "Начало резервного копирования префикса: $PREFIX_NAME"
create_new_dir "$temp_backup_dir" create_new_dir "$temp_backup_dir"
@ -1499,9 +1622,11 @@ backup_prefix() {
fi fi
fi fi
# Сохраняем метаданные внутри временной директории
echo "$PREFIX_NAME" > "$temp_backup_dir/prefix_name.whmeta"
print_info "Создание squashfs архива..." print_info "Создание squashfs архива..."
if mksquashfs "$temp_backup_dir" "$backup_dest_path" -comp zstd ; then if mksquashfs "$temp_backup_dir" "$backup_dest_path" -comp zstd ; then
echo -e "\n# PREFIX_NAME=$PREFIX_NAME" >> "$backup_dest_path"
print_ok "Архив префикса $PREFIX_NAME успешно создан по пути:\n$backup_dest_path" print_ok "Архив префикса $PREFIX_NAME успешно создан по пути:\n$backup_dest_path"
else else
print_error "Не удалось создать архив префикса $PREFIX_NAME." print_error "Не удалось создать архив префикса $PREFIX_NAME."
@ -1533,15 +1658,7 @@ restore_prefix() {
print_info "Восстановление из резервной копии: $backup_archive_path" print_info "Восстановление из резервной копии: $backup_archive_path"
prefix_name="$(tail -n1 "$backup_archive_path" | sed -e 's/.*PREFIX_NAME=//')" temp_extract_dir="$WH_TMP_DIR/restore_$(basename "$backup_archive_path" .whpack)_$$"
if [[ -d "$WH_PREFIXES_DIR/$prefix_name" ]] ; then
fatal "Префикс $prefix_name уже существует!
Удалите его, если действительно желаете восстановить префикс заново.
Команда для удаления: $SCRIPT_NAME remove-prefix $prefix_name"
fi
temp_extract_dir="$WH_TMP_DIR/restore_$(basename "$backup_archive_path" .whpack)"
create_new_dir "$temp_extract_dir" create_new_dir "$temp_extract_dir"
print_info "Распаковка архива..." print_info "Распаковка архива..."
@ -1552,9 +1669,32 @@ restore_prefix() {
fatal "Не удалось распаковать архив." fatal "Не удалось распаковать архив."
fi fi
if [[ -d "$temp_extract_dir/prefixes" ]] ; then # Определяем имя префикса
local prefix_name if [[ -f "$temp_extract_dir/prefix_name.whmeta" ]]; then
prefix_name="$(ls -1 "$temp_extract_dir/prefixes")" prefix_name="$(cat "$temp_extract_dir/prefix_name.whmeta")"
try_remove_file "$temp_extract_dir/prefix_name.whmeta"
elif grep -q "PREFIX_NAME=" "$backup_archive_path" ; then
# Обратная совместимость со старыми бэкапами (с приписанной строкой)
prefix_name="$(tail -n1 "$backup_archive_path" | sed -e 's/.*PREFIX_NAME=//')"
elif [[ -d "$temp_extract_dir/prefixes" ]] && [[ $(find "$temp_extract_dir/prefixes" -mindepth 1 -maxdepth 1 -type d | wc -l) -eq 1 ]]; then
# Обратная совместимость со старыми бэкапами (по имени каталога)
prefix_name="$(basename "$(find "$temp_extract_dir/prefixes" -mindepth 1 -maxdepth 1 -type d)")"
else
try_remove_dir "$temp_extract_dir"
fatal "Не удалось определить имя префикса в архиве (метаданные не найдены)."
fi
if [[ -z "$prefix_name" ]]; then
try_remove_dir "$temp_extract_dir"
fatal "Не удалось определить имя префикса в архиве."
fi
if [[ -d "$WH_PREFIXES_DIR/$prefix_name" ]] ; then
try_remove_dir "$temp_extract_dir"
fatal "Префикс $prefix_name уже существует!\n Удалите его, если действительно желаете восстановить префикс заново.\n Команда для удаления: $SCRIPT_NAME remove-prefix $prefix_name"
fi
if [[ -d "$temp_extract_dir/prefixes/$prefix_name" ]] ; then
local prefix_dir="$temp_extract_dir/prefixes/$prefix_name" local prefix_dir="$temp_extract_dir/prefixes/$prefix_name"
print_info "Восстановление префикса: $prefix_name" print_info "Восстановление префикса: $prefix_name"
@ -1576,10 +1716,7 @@ restore_prefix() {
print_info "Восстановление ярлыков для префикса $prefix_name..." print_info "Восстановление ярлыков для префикса $prefix_name..."
export RESTORE_FROM_BACKUP="1" # Устанавливаем флаг восстановления export RESTORE_FROM_BACKUP="1" # Устанавливаем флаг восстановления
while IFS='=' read -r line; do while IFS='=' read -r name_desktop exe_path icon_name ; do
local name_desktop=$(echo "$line" | cut -d'=' -f1)
local exe_path=$(echo "$line" | cut -d'=' -f2)
local icon_name=$(echo "$line" | cut -d'=' -f3)
local full_exe_path="$WH_PREFIXES_DIR/$prefix_name${exe_path}" local full_exe_path="$WH_PREFIXES_DIR/$prefix_name${exe_path}"
local full_icon_path="$WH_PREFIXES_DIR/$prefix_name/icons/$icon_name" local full_icon_path="$WH_PREFIXES_DIR/$prefix_name/icons/$icon_name"
@ -1596,7 +1733,7 @@ restore_prefix() {
fi fi
else else
try_remove_dir "$temp_extract_dir" try_remove_dir "$temp_extract_dir"
fatal "Директория prefixes не найдена в архиве." fatal "Директория префикса '$prefix_name' не найдена в архиве."
fi fi
try_remove_dir "$temp_extract_dir" try_remove_dir "$temp_extract_dir"
@ -1613,15 +1750,16 @@ wh_info () {
install [скрипт] --clear-pfx не использовать готовый префикс для установки ПО install [скрипт] --clear-pfx не использовать готовый префикс для установки ПО
installed список установленных программ installed список установленных программ
run [программа.exe] запуск программы (отладка) run [программа] запуск программы (отладка)
remove-all удалить WineHelper и все связанные данные remove-all удалить WineHelper и все связанные данные
remove-prefix [имя_префикса] удалить префикс и все связанные данные remove-prefix [имя_префикса] удалить префикс и все связанные данные
backup-prefix [имя_префикса] создать резерную копию префикса backup-prefix [имя_префикса] создать резервную копию префикса
restore-prefix \"путь/до/whpack\" восстановить префикс из резервной копии restore-prefix \"путь/до/whpack\" восстановить префикс из резервной копии
Параметры: Параметры:
--help показать эту справку и выйти --help показать эту справку и выйти
--version показать информацию о пакете и его версии --version показать информацию о пакете и его версии
--changelog показать историю изменений
--debug [команда] включить режим логирования работы WINE --debug [команда] включить режим логирования работы WINE
" "
@ -1646,8 +1784,9 @@ else
fi fi
case "$arg1" in case "$arg1" in
--version) rpm -qi "$SCRIPT_NAME" ; exit 0 ;; --version|version) rpm -qi "$SCRIPT_NAME" ; exit 0 ;;
--help) wh_info ; exit 0 ;; --help|help) wh_info ; exit 0 ;;
--changelog|changelog) less "$CHANGELOG_FILE" ; exit 0 ;;
killall) kill_wine ;; killall) kill_wine ;;
winecfg) prepair_wine ; wine_run "winecfg" ;; winecfg) prepair_wine ; wine_run "winecfg" ;;
winereg|regedit) prepair_wine ; wine_run "regedit" ;; winereg|regedit) prepair_wine ; wine_run "regedit" ;;

10
winehelper.desktop Normal file
View File

@ -0,0 +1,10 @@
[Desktop Entry]
Name=WineHelper
Exec=winehelper gui %F
Comment=Launching the graphics interface for Winehelper
Comment[ru]=Запуск графического интерфейса WineHelper
Type=Application
Categories=WineHelper;Utility;Emulator;
StartupNotify=true
Path=/usr/bin/winehelper
Icon=winehelper

1530
winehelper_gui.py Normal file

File diff suppressed because it is too large Load Diff