Compare commits
22 Commits
minergenon
...
master
Author | SHA1 | Date | |
---|---|---|---|
|
cd619bb9cc | ||
|
b319f4146c | ||
|
70b577dce5 | ||
|
997612c98d | ||
|
8892f29a33 | ||
|
5c0a62ff02 | ||
|
20f2f6d112 | ||
|
0d4faa3224 | ||
|
388293e929 | ||
|
cd966cc4f8 | ||
|
a6722fb4fd | ||
|
3502dd8bfd | ||
|
52ebfab570 | ||
|
d6da611647 | ||
|
5298f16514 | ||
|
ecfab64e45 | ||
|
472c29d876 | ||
|
7e94f3617b | ||
|
b9bb948738 | ||
|
b43ca4d712 | ||
|
86040f5efd | ||
|
e6dc01efc1 |
25
CHANGELOG
25
CHANGELOG
@ -1,5 +1,30 @@
|
||||
История изменений:
|
||||
|
||||
0.3.7:
|
||||
* обновлены функции создания desktop файлов (ярлыков) и категория WineHelper в меню
|
||||
* обновлен скрипт установки scadoffice
|
||||
* добавлена автоустановка:
|
||||
winehelper install zulugis - ZuluGIS 2021 Инженерные расчёты
|
||||
* добавлена функция полного удаления WineHelper
|
||||
* обновлена проверка на наличие noexec для /home (ALT bug: 54095)
|
||||
|
||||
0.3.6:
|
||||
* добавлена категория WineHelper для desktop файлов (ярлыков) в меню
|
||||
|
||||
0.3.5:
|
||||
* обновлены скрипты установок daobit
|
||||
* добавлен вывод списка программ с возможностью установки из существующего дистрибутива
|
||||
|
||||
0.3.4:
|
||||
* добавлены скрипты установки специализированных программных решений для железнодорожной логистики daobit:
|
||||
winehelper install daobit-cservice "/путь/до/установочного_файла" - "Сервис обновления ПО"
|
||||
winehelper install daobit-ratlas "/путь/до/установочного_файла" - "R-Атлас"
|
||||
winehelper install daobit-rinfo "/путь/до/установочного_файла" - "R-Инфо"
|
||||
winehelper install daobit-rtariff "/путь/до/установочного_файла" - "R-Тариф"
|
||||
* добавлена автоустановка:
|
||||
winehelper install scadoffice - "Программный комплекс для расчёта строительных конструкций"
|
||||
* добавлена возможность запуска приложений в сессии XRDP
|
||||
|
||||
0.3.3:
|
||||
* добавлены скрипты установки:
|
||||
winehelper install is-record-station "/путь/до/установочного_файла"
|
||||
|
@ -3,10 +3,31 @@
|
||||
########################################################################
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WINEPREFIX="scadoffice"
|
||||
export BASE_PFX="none"
|
||||
export BASE_PFX="scadaoffice_pfx_x64_v01"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEARCH="win64"
|
||||
export INSTALL_DLL="dotnet48 gdiplus vcrun6sp6 vcrun2005 vcrun2019 d3dx11_42 d3dx11_43 d3dx9 d3dcompiler_42 d3dcompiler_43 d3dcompiler_46 d3dcompiler_47 richtx32 riched30 riched20 msxml6"
|
||||
export INSTALL_DLL="dotnet48 gdiplus vcrun6sp6 vcrun2005 vcrun2019 d3dx11_42 d3dx11_43 d3dx9 d3dcompiler_42 d3dcompiler_43 d3dcompiler_46 d3dcompiler_47 richtx32 riched30 riched20 msxml6 dotnet20"
|
||||
AUTOINSTALL_EXE="${WH_TMP_DIR}/SCADOffice_installer.exe"
|
||||
|
||||
prepair_wine
|
||||
DRIVE_C_SCADOFFICE="$DRIVE_C/SCAD Soft/SCADOffice/64"
|
||||
|
||||
if [[ -n $2 ]] ; then
|
||||
if [[ ! -d "$DRIVE_C_SCADOFFICE" ]] ; then
|
||||
fatal "Перезапустите скрипт без дополнительных аргументов для установки SCAD Office:
|
||||
winehelper install scadoffice"
|
||||
elif [[ ! -f "$2" ]] ; then
|
||||
fatal "Перезапустите скрипт с правильным путем до файла лицензии SCAD Office:
|
||||
winehelper install scadoffice \"/путь/до/файла.exe\""
|
||||
else
|
||||
print_info "Устанавливаем файл лицензии $2"
|
||||
wine_run "$2"
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ $BASE_PFX == "none" ]] ; then
|
||||
print_info "Установка дополнительных компонентов..."
|
||||
|
||||
ADDONS_PACK="${WH_TMP_DIR}/scadoffice_addons_v01.tar.xz"
|
||||
ADDONS_PATH="${WH_TMP_DIR}/scadoffice_addons"
|
||||
@ -16,29 +37,6 @@ AUTOINSTALL_SETUP="${ADDONS_PATH}/OpenOffice/setup.exe"
|
||||
ADDONS_PATH_REG="${ADDONS_PATH}/REG"
|
||||
ADDONS_PATH_MDAC="${ADDONS_PATH}/mdac64"
|
||||
ADDONS_PATH_OPENSSH="${ADDONS_PATH}/OpenSSH"
|
||||
AUTOINSTALL_EXE="${WH_TMP_DIR}/SCADOffice_11.exe"
|
||||
DRIVE_C_SCADOFFICE="$DRIVE_C/SCAD Soft/SCADOffice/64"
|
||||
|
||||
prepair_wine
|
||||
if try_download "https://scadhelp.ru/files/10/download" "${AUTOINSTALL_EXE}" ; then
|
||||
create_new_dir "$DRIVE_C/SDATA"
|
||||
create_new_dir "$DRIVE_C/SWORK"
|
||||
wine_run_install "${AUTOINSTALL_EXE}" /auto /hide
|
||||
|
||||
# Определение всех программ, значков и исполняемых файлов
|
||||
declare -a PROG_NAME=("Арбат" "Вест" "Глобальные настройки" "Декор" "Дискретная арматура" "Запрос" "Камин" "КоКон" "Комета" "Конструктор сечений" "Консул" "Конфигуратор лицензий" "Кристалл" "Кросс" "Куст" "Магнум" "Монолит" "Откос" "Пастернак" "Преобразование ед. измерений" "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 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")
|
||||
|
||||
# Цикл для создания десктопных файлов
|
||||
for i in "${!PROG_NAME[@]}"; do
|
||||
create_desktop "${PROG_NAME[i]}" "${WIN_FILE_EXEC[i]}" "${PROG_ICON[i]}"
|
||||
done
|
||||
fi
|
||||
|
||||
print_info "Установка дополнительных компонентов..."
|
||||
|
||||
if try_download "https://cloud.linux-gaming.ru/portproton/scadoffice_addons_v01.tar.xz" "${ADDONS_PACK}" ; then
|
||||
create_new_dir "${ADDONS_PATH}"
|
||||
@ -57,12 +55,30 @@ if try_download "https://cloud.linux-gaming.ru/portproton/scadoffice_addons_v01.
|
||||
# Установка SSH
|
||||
cp -r "${ADDONS_PATH_OPENSSH}" "$DRIVE_C/windows/system32/"
|
||||
|
||||
export PROG_NAME1="OpenOffice"
|
||||
export PROG_ICON1="openoffice"
|
||||
|
||||
WIN_FILE_EXEC1="$DRIVE_C/Program Files (x86)/OpenOffice 4/program/soffice.exe"
|
||||
create_desktop "$PROG_NAME1" "$WIN_FILE_EXEC1" "$PROG_ICON1"
|
||||
try_remove_dir "$ADDONS_PATH"
|
||||
try_remove_file "$ADDONS_PACK"
|
||||
try_remove_file "$AUTOINSTALL_EXE"
|
||||
fi
|
||||
fi
|
||||
|
||||
if try_download "https://scadhelp.ru/files/10/download" "${AUTOINSTALL_EXE}" ; then
|
||||
create_new_dir "$DRIVE_C/SDATA"
|
||||
create_new_dir "$DRIVE_C/SWORK"
|
||||
wine_run_install "${AUTOINSTALL_EXE}" /auto /hide
|
||||
try_remove_file "$AUTOINSTALL_EXE"
|
||||
|
||||
# Определение всех программ, значков и исполняемых файлов
|
||||
declare -a PROG_NAME=("Арбат" "Вест" "Глобальные настройки" "Декор" "Дискретная арматура" "Запрос" "Камин" "КоКон" "Комета" "Конструктор сечений" "Консул" "Конфигуратор лицензий" "Кристалл" "Кросс" "Куст" "Магнум" "Монолит" "Откос" "Пастернак" "Преобразование ед. измерений" "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 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 в каталог SCADOFFICE на рабочемм столе
|
||||
for i in "${!PROG_NAME[@]}"; do
|
||||
create_desktop "${PROG_NAME[i]}" "${WIN_FILE_EXEC[i]}" "${PROG_ICON[i]}" "nocopy"
|
||||
done
|
||||
|
||||
# Cоздание десктоп файла для openoffice
|
||||
WIN_FILE_EXEC1="$DRIVE_C/Program Files (x86)/OpenOffice 4/program/soffice.exe"
|
||||
create_desktop "OpenOffice" "$WIN_FILE_EXEC1" "openoffice" "nocopy"
|
||||
fi
|
||||
|
96
autoinstall/t-flex-cad-edu17
Normal file
96
autoinstall/t-flex-cad-edu17
Normal file
@ -0,0 +1,96 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Учебная версия. САПР, объединяющая в себе мощные параметрические возможности 2D и 3D-моделирования со средствами создания и оформления чертежей и конструкторской документации по ЕСКД.
|
||||
########################################################################
|
||||
export PROG_NAME="T-FLEX CAD Учебная Версия 17"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v01"
|
||||
export WINEARCH="win64"
|
||||
export WINEPREFIX="tflex17"
|
||||
export PROG_VERSION=""
|
||||
export PROG_ICON="tflexcad"
|
||||
export INSTALL_DLL="corefonts d3dcompiler_47 dotnet48 vcrun2019 ucrtbase2019 msxml6 fontsmooth=rgb baekmuk droid eufonts ipamona liberation lucida opensymbol sourcehansans tahoma takao uff unifont vlgothic wenquanyi wenquanyizenhei"
|
||||
|
||||
prepair_wine
|
||||
if [[ "$BASE_PFX" == "none" ]] \
|
||||
|| ! systemctl list-units --type service --state running | grep aksusbd \
|
||||
|| ! systemctl list-units --type service --state running | grep hasplmd
|
||||
then
|
||||
# Компоненты поддержки T-FLEX PLM 17 (Linux)
|
||||
AUTOINSTALL_ZIP_LIN="${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux.zip"
|
||||
AUTOINSTALL_DIR_LIN="${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux"
|
||||
AUTOINSTALL_EXE_LIN1="${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/fake_hasp.reg"
|
||||
if try_download "https://www.tflex.ru/downloads/Prerequisites_T-FLEX_17_Linux.zip" "${AUTOINSTALL_ZIP_LIN}" ; then
|
||||
7z x -y "${AUTOINSTALL_ZIP_LIN}" -o"${AUTOINSTALL_DIR_LIN}"
|
||||
try_remove_file "$AUTOINSTALL_ZIP_LIN"
|
||||
"$WINELOADER" regedit "${AUTOINSTALL_EXE_LIN1}"
|
||||
fi
|
||||
|
||||
if [[ "$BASE_PFX" == "none" ]] ; then
|
||||
# Компоненты поддержки T-FLEX PLM 17 (Windows)
|
||||
AUTOINSTALL_ZIP_WIN="${WH_TMP_DIR}/T-FLEX 17 Prerequisites.zip"
|
||||
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
|
||||
7z x -y "${AUTOINSTALL_ZIP_WIN}" -o"${AUTOINSTALL_DIRWIN}"
|
||||
try_remove_file "$AUTOINSTALL_ZIP_WIN"
|
||||
|
||||
7z x -y "${AUTOINSTALL_EXE_WIN1}" -o"${AUTOINSTALL_EXE_WIN_MSY}"
|
||||
try_remove_file "$AUTOINSTALL_EXE_WIN1"
|
||||
|
||||
wine_run_install "${AUTOINSTALL_EXE_WIN_MSY}/AceRedist.msi" /q
|
||||
wine_run_install "${AUTOINSTALL_EXE_WIN2}" /q
|
||||
fi
|
||||
rm -fR "$DRIVE_C/Program Files/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"
|
||||
"$WINELOADER"64 regedit "${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/ado-64.reg"
|
||||
"$WINELOADER" regedit "${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/tflex.reg"
|
||||
fi
|
||||
|
||||
if systemctl list-units --type service --state running | grep aksusbd \
|
||||
&& systemctl list-units --type service --state running | grep hasplmd
|
||||
then
|
||||
print_info "Службы aksusbd и hasplmd уже запущены. Пропускаем..."
|
||||
else
|
||||
echo "#!/usr/bin/env bash
|
||||
cd \"${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/HASP_Linux/aksusbd/\"
|
||||
bash ./dinst
|
||||
mv -f \"${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/HASP_Linux/\"*.so /var/hasplm/
|
||||
systemctl restart hasplmd.service" > "${WH_TMP_DIR}/tflex17_aksusbd.sh"
|
||||
chmod +x ${WH_TMP_DIR}/tflex17_aksusbd.sh
|
||||
su_run "${WH_TMP_DIR}/tflex17_aksusbd.sh"
|
||||
try_remove_file "${WH_TMP_DIR}/tflex17_aksusbd.sh"
|
||||
fi
|
||||
try_remove_dir "$AUTOINSTALL_DIR_LIN"
|
||||
try_remove_dir "${WH_TMP_DIR}/Компоненты поддержки T-FLEX 17/"
|
||||
fi
|
||||
|
||||
# Программа T-FLEX CAD Учебная Версия
|
||||
export AUTOINSTALL_ZIP="${WH_TMP_DIR}/TFCAD_ST_17x64_PACK.zip"
|
||||
export AUTOINSTALL_DIR="${WH_TMP_DIR}"
|
||||
export AUTOINSTALL_EDUCATION="${WH_TMP_DIR}/T-FLEX CAD Учебная Версия 17/T-FLEX CAD Учебная Версия 17.msi"
|
||||
export AUTOINSTALL_COMPONENTS="${WH_TMP_DIR}/Компоненты поддержки T-FLEX 17/Setup.exe"
|
||||
export AUTOINSTALL_ELEMENTS="${WH_TMP_DIR}/Стандартные элементы 17/Стандартные элементы 17.msi"
|
||||
|
||||
if try_download "https://www.tflexcad.ru/download/t-flex-cad-free/files/TFCAD_ST_17x64_PACK.zip" "${AUTOINSTALL_ZIP}" ; then
|
||||
7z x -y "${AUTOINSTALL_ZIP}" -o"${AUTOINSTALL_DIR}"
|
||||
try_remove_file "${AUTOINSTALL_ZIP}"
|
||||
|
||||
wine_run_install "${AUTOINSTALL_EDUCATION}" /q
|
||||
wine_run_install "${AUTOINSTALL_COMPONENTS}" /q
|
||||
wine_run_install "${AUTOINSTALL_ELEMENTS}" /q
|
||||
try_remove_file "${WH_TMP_DIR}/Setup.exe"
|
||||
try_remove_dir "${WH_TMP_DIR}/T-FLEX CAD Учебная Версия 17"
|
||||
try_remove_dir "${WH_TMP_DIR}/Компоненты поддержки T-FLEX 17"
|
||||
try_remove_dir "${WH_TMP_DIR}/Стандартные элементы 17"
|
||||
|
||||
WIN_FILE_EXEC="$DRIVE_C/Program Files/T-FLEX CAD Учебная Версия 17/Program/TFlexCad.exe"
|
||||
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
|
||||
fi
|
89
autoinstall/t-flex-cad2d+17
Normal file
89
autoinstall/t-flex-cad2d+17
Normal file
@ -0,0 +1,89 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Профессиональная САПР, объединяющая в себе мощные параметрические возможности 2D и 3D-моделирования со средствами создания и оформления чертежей и конструкторской документации по ЕСКД.
|
||||
########################################################################
|
||||
export PROG_NAME="T-FLEX CAD 2D+ 17"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v01"
|
||||
export WINEARCH="win64"
|
||||
export WINEPREFIX="tflex17"
|
||||
export PROG_VERSION=""
|
||||
export PROG_ICON="tflexcad"
|
||||
export INSTALL_DLL="corefonts d3dcompiler_47 dotnet48 vcrun2019 ucrtbase2019 msxml6 fontsmooth=rgb baekmuk droid eufonts ipamona liberation lucida opensymbol sourcehansans tahoma takao uff unifont vlgothic wenquanyi wenquanyizenhei"
|
||||
|
||||
prepair_wine
|
||||
if [[ "$BASE_PFX" == "none" ]] \
|
||||
|| ! systemctl list-units --type service --state running | grep aksusbd \
|
||||
|| ! systemctl list-units --type service --state running | grep hasplmd
|
||||
then
|
||||
# Компоненты поддержки T-FLEX PLM 17 (Linux)
|
||||
AUTOINSTALL_ZIP_LIN="${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux.zip"
|
||||
AUTOINSTALL_DIR_LIN="${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux"
|
||||
AUTOINSTALL_EXE_LIN1="${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/fake_hasp.reg"
|
||||
if try_download "https://www.tflex.ru/downloads/Prerequisites_T-FLEX_17_Linux.zip" "${AUTOINSTALL_ZIP_LIN}" ; then
|
||||
7z x -y "${AUTOINSTALL_ZIP_LIN}" -o"${AUTOINSTALL_DIR_LIN}"
|
||||
try_remove_file "$AUTOINSTALL_ZIP_LIN"
|
||||
"$WINELOADER" regedit "${AUTOINSTALL_EXE_LIN1}"
|
||||
fi
|
||||
|
||||
if [[ "$BASE_PFX" == "none" ]] ; then
|
||||
# Компоненты поддержки T-FLEX PLM 17 (Windows)
|
||||
AUTOINSTALL_ZIP_WIN="${WH_TMP_DIR}/T-FLEX 17 Prerequisites.zip"
|
||||
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
|
||||
7z x -y "${AUTOINSTALL_ZIP_WIN}" -o"${AUTOINSTALL_DIRWIN}"
|
||||
try_remove_file "$AUTOINSTALL_ZIP_WIN"
|
||||
|
||||
7z x -y "${AUTOINSTALL_EXE_WIN1}" -o"${AUTOINSTALL_EXE_WIN_MSY}"
|
||||
try_remove_file "$AUTOINSTALL_EXE_WIN1"
|
||||
|
||||
wine_run_install "${AUTOINSTALL_EXE_WIN_MSY}/AceRedist.msi" /q
|
||||
wine_run_install "${AUTOINSTALL_EXE_WIN2}" /q
|
||||
fi
|
||||
rm -fR "$DRIVE_C/Program Files/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"
|
||||
"$WINELOADER"64 regedit "${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/ado-64.reg"
|
||||
"$WINELOADER" regedit "${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/tflex.reg"
|
||||
fi
|
||||
|
||||
if systemctl list-units --type service --state running | grep aksusbd \
|
||||
&& systemctl list-units --type service --state running | grep hasplmd
|
||||
then
|
||||
print_info "Службы aksusbd и hasplmd уже запущены. Пропускаем..."
|
||||
else
|
||||
echo "#!/usr/bin/env bash
|
||||
cd \"${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/HASP_Linux/aksusbd/\"
|
||||
bash ./dinst
|
||||
mv -f \"${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/HASP_Linux/\"*.so /var/hasplm/
|
||||
systemctl restart hasplmd.service" > "${WH_TMP_DIR}/tflex17_aksusbd.sh"
|
||||
chmod +x ${WH_TMP_DIR}/tflex17_aksusbd.sh
|
||||
su_run "${WH_TMP_DIR}/tflex17_aksusbd.sh"
|
||||
try_remove_file "${WH_TMP_DIR}/tflex17_aksusbd.sh"
|
||||
fi
|
||||
try_remove_dir "$AUTOINSTALL_DIR_LIN"
|
||||
try_remove_dir "${WH_TMP_DIR}/Компоненты поддержки T-FLEX 17/"
|
||||
fi
|
||||
|
||||
# Программа T-FLEX CAD 2D+ 17
|
||||
export AUTOINSTALL_ZIP="${WH_TMP_DIR}/T-FLEX CAD 2D+ 17.zip"
|
||||
export AUTOINSTALL_DIR="${WH_TMP_DIR}"
|
||||
export AUTOINSTALL_EXE="${WH_TMP_DIR}/T-FLEX CAD 2D+ 17/T-FLEX CAD 2D+ 17.msi"
|
||||
|
||||
if try_download "https://www.tflex.ru/downloads/T-FLEX%20CAD%202D+%2017.zip" "${AUTOINSTALL_ZIP}" ; then
|
||||
7z x -y "${AUTOINSTALL_ZIP}" -o"${AUTOINSTALL_DIR}"
|
||||
try_remove_file "${AUTOINSTALL_ZIP}"
|
||||
|
||||
wine_run_install "${AUTOINSTALL_EXE}" /q
|
||||
try_remove_file "${AUTOINSTALL_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"
|
||||
fi
|
89
autoinstall/t-flex-viewer17
Normal file
89
autoinstall/t-flex-viewer17
Normal file
@ -0,0 +1,89 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Просмотр, печать и аннотирование документов T-FLEX CAD
|
||||
########################################################################
|
||||
export PROG_NAME="T-FLEX Viewer 17"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export BASE_PFX="tflex17_pfx_x64_v01"
|
||||
export WINEARCH="win64"
|
||||
export WINEPREFIX="tflex17"
|
||||
export PROG_VERSION=""
|
||||
export PROG_ICON="tflexcad"
|
||||
export INSTALL_DLL="corefonts d3dcompiler_47 dotnet48 vcrun2019 ucrtbase2019 msxml6 fontsmooth=rgb baekmuk droid eufonts ipamona liberation lucida opensymbol sourcehansans tahoma takao uff unifont vlgothic wenquanyi wenquanyizenhei"
|
||||
|
||||
prepair_wine
|
||||
if [[ "$BASE_PFX" == "none" ]] \
|
||||
|| ! systemctl list-units --type service --state running | grep aksusbd \
|
||||
|| ! systemctl list-units --type service --state running | grep hasplmd
|
||||
then
|
||||
# Компоненты поддержки T-FLEX PLM 17 (Linux)
|
||||
AUTOINSTALL_ZIP_LIN="${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux.zip"
|
||||
AUTOINSTALL_DIR_LIN="${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux"
|
||||
AUTOINSTALL_EXE_LIN1="${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/fake_hasp.reg"
|
||||
if try_download "https://www.tflex.ru/downloads/Prerequisites_T-FLEX_17_Linux.zip" "${AUTOINSTALL_ZIP_LIN}" ; then
|
||||
7z x -y "${AUTOINSTALL_ZIP_LIN}" -o"${AUTOINSTALL_DIR_LIN}"
|
||||
try_remove_file "$AUTOINSTALL_ZIP_LIN"
|
||||
"$WINELOADER" regedit "${AUTOINSTALL_EXE_LIN1}"
|
||||
fi
|
||||
|
||||
if [[ "$BASE_PFX" == "none" ]] ; then
|
||||
# Компоненты поддержки T-FLEX PLM 17 (Windows)
|
||||
AUTOINSTALL_ZIP_WIN="${WH_TMP_DIR}/T-FLEX 17 Prerequisites.zip"
|
||||
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
|
||||
7z x -y "${AUTOINSTALL_ZIP_WIN}" -o"${AUTOINSTALL_DIRWIN}"
|
||||
try_remove_file "$AUTOINSTALL_ZIP_WIN"
|
||||
|
||||
7z x -y "${AUTOINSTALL_EXE_WIN1}" -o"${AUTOINSTALL_EXE_WIN_MSY}"
|
||||
try_remove_file "$AUTOINSTALL_EXE_WIN1"
|
||||
|
||||
wine_run_install "${AUTOINSTALL_EXE_WIN_MSY}/AceRedist.msi" /q
|
||||
wine_run_install "${AUTOINSTALL_EXE_WIN2}" /q
|
||||
fi
|
||||
rm -fR "$DRIVE_C/Program Files/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"
|
||||
"$WINELOADER"64 regedit "${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/ado-64.reg"
|
||||
"$WINELOADER" regedit "${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/Components/tflex.reg"
|
||||
fi
|
||||
|
||||
if systemctl list-units --type service --state running | grep aksusbd \
|
||||
&& systemctl list-units --type service --state running | grep hasplmd
|
||||
then
|
||||
print_info "Службы aksusbd и hasplmd уже запущены. Пропускаем..."
|
||||
else
|
||||
echo "#!/usr/bin/env bash
|
||||
cd \"${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/HASP_Linux/aksusbd/\"
|
||||
bash ./dinst
|
||||
mv -f \"${WH_TMP_DIR}/Prerequisites_T-FLEX_17_Linux/HASP_Linux/\"*.so /var/hasplm/
|
||||
systemctl restart hasplmd.service" > "${WH_TMP_DIR}/tflex17_aksusbd.sh"
|
||||
chmod +x ${WH_TMP_DIR}/tflex17_aksusbd.sh
|
||||
su_run "${WH_TMP_DIR}/tflex17_aksusbd.sh"
|
||||
try_remove_file "${WH_TMP_DIR}/tflex17_aksusbd.sh"
|
||||
fi
|
||||
try_remove_dir "$AUTOINSTALL_DIR_LIN"
|
||||
try_remove_dir "${WH_TMP_DIR}/Компоненты поддержки T-FLEX 17/"
|
||||
fi
|
||||
|
||||
# Программа T-FLEX Viewer
|
||||
export AUTOINSTALL_ZIP="${WH_TMP_DIR}/T-FLEX Viewer 17.zip"
|
||||
export AUTOINSTALL_DIR="${WH_TMP_DIR}"
|
||||
export AUTOINSTALL_EXE="${WH_TMP_DIR}/T-FLEX Viewer 17/T-FLEX Viewer 17.msi"
|
||||
|
||||
if try_download "https://www.tflex.ru/downloads/T-FLEX%20Viewer%2017.zip" "${AUTOINSTALL_ZIP}" ; then
|
||||
7z x -y "${AUTOINSTALL_ZIP}" -o"${AUTOINSTALL_DIR}"
|
||||
try_remove_file "${AUTOINSTALL_ZIP}"
|
||||
|
||||
wine_run_install "${AUTOINSTALL_EXE}" /q
|
||||
try_remove_file "${AUTOINSTALL_EXE}"
|
||||
|
||||
WIN_FILE_EXEC="$DRIVE_C/Program Files/T-FLEX Viewer 17/Program/TFlexViewer.exe"
|
||||
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
|
||||
fi
|
21
autoinstall/zulugis
Normal file
21
autoinstall/zulugis
Normal file
@ -0,0 +1,21 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: ZuluGIS 2021 Инженерные расчёты (Полный) 64-бит. Включает ZuluGIS, пакеты расчетов ZuluThermo, ZuluHydro, ZuluDrain, ZuluGaz, ZuluSteam, библиотеки ZuluXTools и ZuluNetTools. Дополнительно в состав пакета входит Microsoft SQL Server Express LocalDB 2012.
|
||||
########################################################################
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export PROG_NAME="ZuluGIS 2021"
|
||||
export WINEPREFIX="zulugis"
|
||||
export PROG_ICON="zulugis"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export BASE_PFX="none"
|
||||
export WINEARCH="win64"
|
||||
# export INSTALL_DLL="gdiplus"
|
||||
export AUTOINSTALL_EXE="${WH_TMP_DIR}/Zulu2021_x64_ru.exe"
|
||||
|
||||
prepair_wine
|
||||
if try_download "https://www.politerm.com/download/zulu/Zulu2021_x64_ru.exe" "${AUTOINSTALL_EXE}" ; then
|
||||
wine_run_install "${AUTOINSTALL_EXE}" /quiet /norestart
|
||||
try_remove_file "${AUTOINSTALL_EXE}"
|
||||
|
||||
WIN_FILE_EXEC="$DRIVE_C/Program Files/ZuluGIS/Zulu.exe"
|
||||
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
|
||||
fi
|
BIN
image/daobitcservice.png
Normal file
BIN
image/daobitcservice.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 20 KiB |
BIN
image/daobitratlas.png
Normal file
BIN
image/daobitratlas.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
BIN
image/daobitrinfo.png
Normal file
BIN
image/daobitrinfo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 19 KiB |
BIN
image/daobitrtariff.png
Normal file
BIN
image/daobitrtariff.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
BIN
image/zulugis.png
Normal file
BIN
image/zulugis.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 27 KiB |
28
manualinstall/daobit-cservice
Normal file
28
manualinstall/daobit-cservice
Normal file
@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Сервис обновления ПО
|
||||
########################################################################
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_i586" # wine-9.0.9-alt1-i586"
|
||||
export WINEPREFIX="daobit"
|
||||
export PROG_NAME="Сервис обновления ПО"
|
||||
export PROG_ICON="daobitcservice"
|
||||
export BASE_PFX="daobit_pfx_x86_v01"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEARCH="win32"
|
||||
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
|
||||
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_cs"
|
||||
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
|
||||
|
||||
7z x -y "$2" -o"${AUTOINSTALL_UNPACK}"
|
||||
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"
|
||||
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
|
||||
try_remove_dir "$AUTOINSTALL_UNPACK"
|
||||
else
|
||||
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
|
||||
winehelper install $1 \"/путь/до/$EXE_SETUP_NAME\""
|
||||
fi
|
28
manualinstall/daobit-ratlas
Normal file
28
manualinstall/daobit-ratlas
Normal file
@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Построение маршрутов железнодорожных грузоперевозок
|
||||
########################################################################
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_i586" # wine-9.0.9-alt1-i586"
|
||||
export WINEPREFIX="daobit"
|
||||
export PROG_NAME="R-Атлас"
|
||||
export PROG_ICON="daobitratlas"
|
||||
export BASE_PFX="daobit_pfx_x86_v01"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEARCH="win32"
|
||||
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
|
||||
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_rk"
|
||||
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
|
||||
|
||||
7z x -y "$2" -o"${AUTOINSTALL_UNPACK}"
|
||||
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"
|
||||
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
|
||||
try_remove_dir "$AUTOINSTALL_UNPACK"
|
||||
else
|
||||
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
|
||||
winehelper install $1 \"/путь/до/$EXE_SETUP_NAME\""
|
||||
fi
|
28
manualinstall/daobit-rinfo
Normal file
28
manualinstall/daobit-rinfo
Normal file
@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Специализированная информация для организации железнодорожных перевозок
|
||||
########################################################################
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_i586" # wine-9.0.9-alt1-i586"
|
||||
export WINEPREFIX="daobit"
|
||||
export PROG_NAME="R-Инфо"
|
||||
export PROG_ICON="daobitrinfo"
|
||||
export BASE_PFX="daobit_pfx_x86_v01"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEARCH="win32"
|
||||
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
|
||||
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_ri"
|
||||
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
|
||||
|
||||
7z x -y "$2" -o"${AUTOINSTALL_UNPACK}"
|
||||
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"
|
||||
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
|
||||
try_remove_dir "$AUTOINSTALL_UNPACK"
|
||||
else
|
||||
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
|
||||
winehelper install $1 \"/путь/до/$EXE_SETUP_NAME\""
|
||||
fi
|
28
manualinstall/daobit-rtariff
Normal file
28
manualinstall/daobit-rtariff
Normal file
@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Расчёт размера провозной платы и дополнительных сборов за грузовые перевозки по железной дороге
|
||||
########################################################################
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_i586" # wine-9.0.9-alt1-i586"
|
||||
export WINEPREFIX="daobit"
|
||||
export PROG_NAME="R-Тариф"
|
||||
export PROG_ICON="daobitrtariff"
|
||||
export BASE_PFX="daobit_pfx_x86_v01"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEARCH="win32"
|
||||
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
|
||||
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_rt"
|
||||
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
|
||||
|
||||
7z x -y "$2" -o"${AUTOINSTALL_UNPACK}"
|
||||
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"
|
||||
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
|
||||
try_remove_dir "$AUTOINSTALL_UNPACK"
|
||||
else
|
||||
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
|
||||
winehelper install $1 \"/путь/до/$EXE_SETUP_NAME\""
|
||||
fi
|
@ -59,3 +59,12 @@ d026d799f8d3893c64c749661240d76896d45fd14fdb6665bf0f875a4a05bcdb spravkibk_pfx_
|
||||
dfb44ce5e5af7dba1686932c63d6b05e5dd6919a21c78130a7d1d0271b93958e audiorecstation_pfx_v01.tar.xz
|
||||
# create with wine_x_tkg_10-0_i586 (universal user: xuser)
|
||||
# winetricks gdiplus vcrun2022 xact winhttp dotnet40 dotnet48 andale arial comicsans courier georgia impact times trebuchet verdana webdings corefonts dsound
|
||||
|
||||
00516ef51079d68ad0f9621c8270e0f86318539b63ebf1085d0faba36896e4ac daobit_pfx_x86_v01.tar.xz
|
||||
# create with wine_x_tkg_10-0_i586 (universal user: xuser)
|
||||
# winetricks arial dotnet7 dotnetdesktop7 renderer=gdi
|
||||
|
||||
daaaef625f8f44688faf12f9ef4360ad1d35b377b23be634b45c1b8d43239686 scadaoffice_pfx_x64_v01.tar.xz
|
||||
# create with wine_x_tkg_10-0_i586 (universal user: xuser)
|
||||
# winetricks dotnet48 gdiplus vcrun6sp6 vcrun2005 vcrun2019 d3dx11_42 d3dx11_43 d3dx9 d3dcompiler_42 d3dcompiler_43 d3dcompiler_46 d3dcompiler_47 richtx32 riched30 riched20 msxml6 dotnet20
|
||||
# + addons with openoffice, ODBC, SSH, *.reg
|
||||
|
288
winehelper
288
winehelper
@ -51,6 +51,10 @@ WH_DB_DIR="$DATA_PATH/database"
|
||||
WH_AUTOINSTALL_DIR="$DATA_PATH/autoinstall"
|
||||
WH_MANUALINSTALL_DIR="$DATA_PATH/manualinstall"
|
||||
|
||||
WH_MENU_DIR="$HOME/.local/share/applications/WineHelper"
|
||||
WH_MENU_CATEGORY="$HOME/.local/share/desktop-directories/WineHelper.directory"
|
||||
WH_MENU_CONFIG="$HOME/.config/menus/applications-merged/WineHelper.menu"
|
||||
|
||||
# export WINEDLLOVERRIDES=mshtml,mscoree="
|
||||
|
||||
check_variables WINEESYNC "0"
|
||||
@ -86,18 +90,10 @@ check_variables VKD3D_VER "1.1-2602"
|
||||
# check_variables VKD3D_LIMIT_TESS_FACTORS 64
|
||||
# check_variables VKD3D_FEATURE_LEVEL "12_0"
|
||||
|
||||
if [[ "$WINEARCH" == "win32" ]] ;then
|
||||
check_variables BASE_PFX "defpfx_x86_v01"
|
||||
check_variables WINEPREFIX "default_x86"
|
||||
else
|
||||
check_variables BASE_PFX "defpfx_x64_v01"
|
||||
check_variables WINEPREFIX "default_x64"
|
||||
fi
|
||||
|
||||
export CLOUD_URL="https://cloud.linux-gaming.ru/portproton"
|
||||
|
||||
##### CHECK NOEXEC FOR /HOME #####
|
||||
if grep "/home" /etc/fstab | grep -q "noexec" ; then
|
||||
if grep -E "/home[[:space:]]" /etc/fstab | grep -q "noexec" ; then
|
||||
fatal "/home примонтирован в /etc/fstab с аргументом noexec.\nЗапуск портативной версии wine не возможен из домашнего каталога."
|
||||
fi
|
||||
|
||||
@ -365,6 +361,7 @@ var_ld_library_path_update () {
|
||||
create_desktop () {
|
||||
local name_desktop="$1"
|
||||
local exe_file="$2"
|
||||
local desktop_filename="$(basename "$exe_file" .exe | sed "s| |_|")"
|
||||
local icon_file="$WH_IMAGE_PATH/$3.png"
|
||||
|
||||
if [[ -z "$name_desktop" ]] || [[ -z "$exe_file" ]] ; then
|
||||
@ -387,24 +384,77 @@ create_desktop () {
|
||||
fi
|
||||
fi
|
||||
|
||||
create_new_dir "$WH_MENU_DIR"
|
||||
|
||||
[[ ! -f "$icon_file" ]] && icon_file=wine
|
||||
|
||||
# Создаем .desktop файл
|
||||
{
|
||||
echo "[Desktop Entry]"
|
||||
echo "Name=$name_desktop"
|
||||
echo "Exec=env \"$RUN_SCRIPT\" \"$exe_file\" %F"
|
||||
echo "Type=Application"
|
||||
echo "Categories=Other;"
|
||||
echo "Categories=WineHelper;"
|
||||
echo "StartupNotify=true"
|
||||
echo "Path=$DATA_PATH"
|
||||
echo "Icon=$icon_file"
|
||||
} > "$USER_WORK_PATH/$name_desktop.desktop"
|
||||
chmod +x "$USER_WORK_PATH/$name_desktop.desktop"
|
||||
} > "$USER_WORK_PATH/$desktop_filename.desktop"
|
||||
chmod +x "$USER_WORK_PATH/$desktop_filename.desktop"
|
||||
|
||||
create_new_dir "$HOME/.local/share/applications/"
|
||||
# cp -f "$USER_WORK_PATH/$name_desktop.desktop" "$HOME/.local/share/applications/"
|
||||
cp -f "$USER_WORK_PATH/$name_desktop.desktop" "$(xdg-user-dir DESKTOP)"
|
||||
print_info "На рабочем столе создан $name_desktop.desktop"
|
||||
cp -f "$USER_WORK_PATH/$desktop_filename.desktop" "$WH_MENU_DIR/"
|
||||
|
||||
# Создаем файл категории для меню
|
||||
create_new_dir "$HOME/.local/share/desktop-directories"
|
||||
if [[ ! -f "$WH_MENU_CATEGORY" ]] ; then
|
||||
cat > "$WH_MENU_CATEGORY" <<EOF
|
||||
[Desktop Entry]
|
||||
Type=Directory
|
||||
Name=WineHelper
|
||||
Icon=wine
|
||||
EOF
|
||||
fi
|
||||
|
||||
# Создаем файл меню для всех приложений
|
||||
create_new_dir "$HOME/.config/menus/applications-merged"
|
||||
if [[ ! -f "$WH_MENU_CONFIG" ]] ; then
|
||||
cat > "$WH_MENU_CONFIG" <<EOF
|
||||
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
|
||||
"http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
|
||||
<Menu>
|
||||
<Name>Applications</Name>
|
||||
<Menu>
|
||||
<Name>WineHelper</Name>
|
||||
<Directory>WineHelper.directory</Directory>
|
||||
<Include>
|
||||
<Category>WineHelper</Category>
|
||||
</Include>
|
||||
</Menu>
|
||||
</Menu>
|
||||
EOF
|
||||
# Обновляем меню
|
||||
if check_command update-menus ; then
|
||||
update-menus
|
||||
fi
|
||||
fi
|
||||
|
||||
# Обновляем кэш desktop файлов
|
||||
if check_command update-desktop-database ; then
|
||||
update-desktop-database "$HOME/.local/share/applications"
|
||||
fi
|
||||
|
||||
if [[ $4 != "nocopy" ]] ; then
|
||||
if [[ -n $4 ]] ; then
|
||||
local desktop_path="$(xdg-user-dir DESKTOP)/$4"
|
||||
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"
|
||||
else
|
||||
print_info "В меню создан $desktop_filename.desktop"
|
||||
fi
|
||||
|
||||
if [[ -n "$INSTALL_SCRIPT_NAME" ]] \
|
||||
&& [[ -f "$exe_file" ]]
|
||||
@ -424,9 +474,26 @@ create_desktop () {
|
||||
remove_desktop () {
|
||||
if [[ -n "$1" ]] ; then
|
||||
try_remove_file "$USER_WORK_PATH/$1.desktop"
|
||||
try_remove_file "$WH_MENU_DIR/$1.desktop"
|
||||
try_remove_file "$HOME/.local/share/applications/$1.desktop"
|
||||
try_remove_file "$(xdg-user-dir DESKTOP)/$1.desktop"
|
||||
fi
|
||||
|
||||
# Удаляем категорию если она пуста
|
||||
if [[ -d "$WH_MENU_DIR" ]] && [[ -z "$(ls -A "$WH_MENU_DIR")" ]]; then
|
||||
try_remove_dir "$WH_MENU_DIR"
|
||||
try_remove_file "$WH_MENU_CATEGORY"
|
||||
try_remove_file "$WH_MENU_CONFIG"
|
||||
# Обновляем меню
|
||||
if check_command update-menus ; then
|
||||
update-menus
|
||||
fi
|
||||
fi
|
||||
|
||||
# Обновляем кэш desktop файлов
|
||||
if check_command update-desktop-database ; then
|
||||
update-desktop-database "$HOME/.local/share/applications"
|
||||
fi
|
||||
}
|
||||
|
||||
##### INSTALLED PROGRAMS #####
|
||||
@ -647,6 +714,105 @@ init_wine_ver () {
|
||||
}
|
||||
|
||||
##### INITIAL WINEPREFIX SETTINGS #####
|
||||
get_and_set_reg_file () {
|
||||
|
||||
convert_dec_and_hex () {
|
||||
local type=$1
|
||||
local num=$2
|
||||
|
||||
case "$type" in
|
||||
--dec)
|
||||
# Преобразование из десятичного в шестнадцатеричный
|
||||
echo -n "$(printf "%08x" "$num")" ;;
|
||||
--hex)
|
||||
# Преобразование из шестнадцатеричного в десятичный
|
||||
echo $(( 0x$num )) ;;
|
||||
*)
|
||||
echo "Неверный тип преобразования. Используйте --dec или --hex." ;;
|
||||
esac
|
||||
}
|
||||
|
||||
local name_block name_for_find find_block find_file find_line count name_for_new_block name_for_find_old
|
||||
local line_reg find_number_line find_check_file name_for_set name_type_reg name_fatal name_add_or_del
|
||||
name_add_or_del=$1
|
||||
name_block=$2
|
||||
name_for_find=$3
|
||||
name_type_reg=$4
|
||||
name_for_set=$5
|
||||
name_for_new_block=$6
|
||||
name_for_find_old=$name_for_find
|
||||
name_fatal="$name_block $name_for_find"
|
||||
|
||||
case $name_type_reg in
|
||||
REG_DWORD)
|
||||
name_for_find="\"$name_for_find\"=dword:"
|
||||
name_for_set=$(convert_dec_and_hex --dec "$name_for_set") ;;
|
||||
REG_SZ)
|
||||
name_for_find="\"$name_for_find\"="
|
||||
name_for_set="\"$name_for_set\"" ;;
|
||||
*)
|
||||
if [[ $name_add_or_del == --delete ]] ; then
|
||||
name_for_find="\"$name_for_find\""
|
||||
else
|
||||
print_error "не задан тип ветки реестра: $name_fatal"
|
||||
return 1
|
||||
fi ;;
|
||||
esac
|
||||
name_block=${name_block//\\/\\\\\\\\}
|
||||
if [[ -n $name_for_new_block ]] ; then
|
||||
find_block=$(grep -n "\[$name_block\]" "$WINEPREFIX/$name_for_new_block.reg")
|
||||
else
|
||||
find_block=$(grep -n "\[$name_block\]" "$WINEPREFIX/"*.reg)
|
||||
fi
|
||||
if [[ -n $find_block ]] ; then
|
||||
if [[ -n $name_for_new_block ]] ; then
|
||||
find_file="$WINEPREFIX/$name_for_new_block.reg"
|
||||
find_line=${find_block//:*/}
|
||||
else
|
||||
find_file=${find_block//:*/}
|
||||
find_line=${find_block//$find_file:/}
|
||||
find_line=${find_line//:*/}
|
||||
fi
|
||||
count=-1
|
||||
while read -r line_reg ; do
|
||||
((count++))
|
||||
if [[ $line_reg =~ $name_for_find ]] ; then
|
||||
if [[ $line_reg == $name_for_find$name_for_set ]] ; then
|
||||
return 0
|
||||
fi
|
||||
find_number_line=$(( count + find_line ))
|
||||
find_check_file=1
|
||||
break
|
||||
fi
|
||||
[[ -z $line_reg ]] && break
|
||||
done <<< "$(sed -n "$find_line"',$p' "$find_file")"
|
||||
fi
|
||||
if [[ $name_add_or_del == --add ]] ; then
|
||||
if [[ -z $find_block ]] ; then
|
||||
if [[ -n $name_for_new_block ]] ; then
|
||||
sed -i '$a\\n'\["$name_block"\] "$WINEPREFIX/$name_for_new_block.reg"
|
||||
find_file="$WINEPREFIX/$name_for_new_block.reg"
|
||||
find_line=$(wc -l "$find_file" | awk -F" " '{print $1}')
|
||||
find_line=$(( find_line - 1 ))
|
||||
else
|
||||
print_error "$name_fatal не найден в файле реестра"
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
if [[ $find_check_file == 1 ]] ; then
|
||||
print_info "Меняем $name_for_find_old в файле реестра"
|
||||
sed -i "${find_number_line}s|$name_for_find.*|$name_for_find$name_for_set|" "$find_file"
|
||||
else
|
||||
print_info "Добавляем $name_for_find_old в файл реестра"
|
||||
sed -i "$(( find_line + 1 ))a$name_for_find$name_for_set" "$find_file"
|
||||
fi
|
||||
elif [[ $name_add_or_del == --delete ]] ; then
|
||||
[[ $find_check_file != 1 ]] && return 0
|
||||
print_info "Удаляем $name_for_find_old из файла реестра"
|
||||
sed -i "${find_number_line}d" "$find_file"
|
||||
fi
|
||||
}
|
||||
|
||||
wait_wineserver () {
|
||||
# while [[ -n "$(ls -l /proc/*/exe 2>/dev/null | grep -ie portproton | grep -E 'wine(64)?-preloader|wineserver' | awk -F/ '{print $3}')" ]] ; do
|
||||
# sleep 1
|
||||
@ -677,15 +843,23 @@ get_base_pfx () {
|
||||
|
||||
init_wineprefix () {
|
||||
if [[ -z "$WINEPREFIX" ]] ; then
|
||||
export WINEPREFIX="$WH_PREFIXES_DIR/default"
|
||||
print_warning "Префикс не выбран, используйте пееременную: WINEPREFIX=имя_префикса"
|
||||
print_info "Список существующих префиксов:"
|
||||
ls -1 "$WH_PREFIXES_DIR"
|
||||
echo
|
||||
exit 1
|
||||
else
|
||||
if echo "$WINEPREFIX" | grep -v '/' ; then
|
||||
export WINEPREFIX="$WH_PREFIXES_DIR/$WINEPREFIX"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "$WINEARCH" == "win32" ]]
|
||||
then check_variables BASE_PFX "defpfx_x86_v01"
|
||||
else check_variables BASE_PFX "defpfx_x64_v01"
|
||||
fi
|
||||
|
||||
export DRIVE_C="$WINEPREFIX/drive_c"
|
||||
# export WINEDLLPATH+=":$DRIVE_C/widows/system32:$DRIVE_C/windows/syswow64"
|
||||
|
||||
if [[ ! -f "$WINEPREFIX/.firstboot" ]] ; then
|
||||
create_new_dir "$WINEPREFIX"
|
||||
@ -726,6 +900,16 @@ init_wineprefix () {
|
||||
fi
|
||||
|
||||
try_remove_file "$DRIVE_C/windows/system32/winemenubuilder.exe"
|
||||
|
||||
# хак для XRDP сессии
|
||||
if [[ $DISPLAY == *:10.0 ]] ; then
|
||||
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' 'UseXVidMode' 'REG_SZ' "N" "user"
|
||||
else
|
||||
get_and_set_reg_file --delete 'Software\Wine\X11 Driver' 'UseXRandR'
|
||||
get_and_set_reg_file --delete 'Software\Wine\X11 Driver' 'UseXVidMode'
|
||||
fi
|
||||
}
|
||||
|
||||
##### KILL AUTOSTART AFTER INSTALLING #####
|
||||
@ -919,7 +1103,7 @@ run_autoinstall () {
|
||||
export INSTALL_SCRIPT INSTALL_MODE
|
||||
|
||||
if [[ $INSTALL_SCRIPT_NAME == "list" ]] || [[ -z "$INSTALL_SCRIPT_NAME" ]] ; then
|
||||
echo "Список программ с возможностью автоматической установки:"
|
||||
print_info "Список программ с возможностью автоматической установки:"
|
||||
for list in $(ls "$WH_AUTOINSTALL_DIR") ; do
|
||||
AI_INFO="$(grep "info_ru:" "$WH_AUTOINSTALL_DIR/$list" | awk -F"info_ru: " '{print $2}')"
|
||||
AI_PROGNAME="$(grep "PROG_NAME=" "$WH_AUTOINSTALL_DIR/$list" | awk -F"PROG_NAME=" '{print $2}')"
|
||||
@ -927,12 +1111,76 @@ run_autoinstall () {
|
||||
echo "$AI_INFO"
|
||||
done
|
||||
echo
|
||||
print_info "Список программ с возможностью установки из существующего дистрибутива:"
|
||||
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
|
||||
source "$INSTALL_SCRIPT" "$@"
|
||||
print_info "Завершена установка $INSTALL_SCRIPT_NAME"
|
||||
else
|
||||
fatal "Скрипт автоматической установки для $INSTALL_SCRIPT_NAME не найден!"
|
||||
fi
|
||||
echo
|
||||
}
|
||||
|
||||
##### REMOVE WINEHELPER #####
|
||||
remove_winehelper () {
|
||||
local answer
|
||||
|
||||
echo "======================================================"
|
||||
print_warning "Вы собираетесь удалить WineHelper и все связанные с ним данные."
|
||||
echo " Это удалит:"
|
||||
echo " - Все настройки WineHelper"
|
||||
echo " - Все приложения/программы, установленные через WineHelper"
|
||||
echo " - Все ярлыки из меню и с рабочего стола созданные с помощью WineHelper"
|
||||
echo "======================================================"
|
||||
echo "Продолжить? (y/N)"
|
||||
read -r answer
|
||||
|
||||
if [[ "$answer" =~ ^[YyДд]$ ]]; then
|
||||
# Второе подтверждение
|
||||
echo "----------------------------------------------"
|
||||
print_warning " ВЫ ТОЧНО УВЕРЕНЫ?"
|
||||
echo "----------------------------------------------"
|
||||
echo "Продолжить? (y/N)"
|
||||
read -r answer
|
||||
|
||||
if [[ "$answer" =~ ^[YyДд]$ ]]; then
|
||||
|
||||
# Удаление рабочих каталогов
|
||||
try_remove_dir "$USER_WORK_PATH"
|
||||
|
||||
# Удаление файлов меню
|
||||
try_remove_dir "$WH_MENU_DIR"
|
||||
try_remove_file "$WH_MENU_CATEGORY"
|
||||
try_remove_file "$WH_MENU_CONFIG"
|
||||
|
||||
# Удаление desktop-файлов
|
||||
for desktop_file in "$(xdg-user-dir DESKTOP)"/*.desktop; do
|
||||
if grep -q "Exec=env \"$RUN_SCRIPT\"" "$desktop_file"; then
|
||||
try_remove_file "$desktop_file"
|
||||
fi
|
||||
done
|
||||
|
||||
# Обновление кэша desktop-файлов
|
||||
if check_command update-desktop-database; then
|
||||
update-desktop-database "$HOME/.local/share/applications"
|
||||
fi
|
||||
|
||||
# Удаление символических ссылок
|
||||
try_remove_file "$HOME/.winehelper"
|
||||
|
||||
print_info "WineHelper и все связанные данные успешно удалены."
|
||||
else
|
||||
print_info "Удаление отменено."
|
||||
fi
|
||||
else
|
||||
print_info "Удаление отменено."
|
||||
fi
|
||||
}
|
||||
|
||||
wh_info () {
|
||||
@ -945,6 +1193,7 @@ wh_info () {
|
||||
|
||||
installed список установленных программ
|
||||
run [программа.exe] запуск программы (отладка)
|
||||
remove удалить WineHelper и все связанные данные
|
||||
|
||||
Параметры:
|
||||
--help показать эту справку и выйти
|
||||
@ -978,6 +1227,7 @@ case "${1,,}" in
|
||||
install|-i) shift ; run_autoinstall "$@" ;;
|
||||
installed) shift ; check_installed_programs "$1" ;;
|
||||
run|-r) shift ; run_installed_programs "$1" ;;
|
||||
remove|--remove) remove_winehelper ;;
|
||||
*)
|
||||
if [[ -f "$1" ]] ; then
|
||||
WIN_FILE_EXEC="$(readlink -f "$1")"
|
||||
|
Loading…
Reference in New Issue
Block a user