Compare commits
7 Commits
minergenon
...
minergenon
Author | SHA1 | Date | |
---|---|---|---|
ecfab64e45 | |||
472c29d876 | |||
7e94f3617b | |||
b9bb948738 | |||
b43ca4d712 | |||
e6dc01efc1 | |||
b1b2b22fda |
68
autoinstall/scadoffice
Normal file
@ -0,0 +1,68 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: SCAD Office — это программный комплекс для расчёта строительных конструкций, с дополнением Apache OpenOffice. Apache OpenOffice - пакет офисного программного обеспечения для обработки текстов, электронных таблиц, презентаций, графики, баз данных и многого другого.
|
||||
########################################################################
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WINEPREFIX="scadoffice"
|
||||
export BASE_PFX="none"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEARCH="win64"
|
||||
export INSTALL_DLL="dotnet48 gdiplus vcrun6sp6 vcrun2005 vcrun2019 d3dx11_42 d3dx11_43 d3dx9 d3dcompiler_42 d3dcompiler_43 d3dcompiler_46 d3dcompiler_47 richtx32 riched30 riched20 msxml6"
|
||||
|
||||
ADDONS_PACK="${WH_TMP_DIR}/scadoffice_addons_v01.tar.xz"
|
||||
ADDONS_PATH="${WH_TMP_DIR}/scadoffice_addons"
|
||||
OFFICE_EXE="${ADDONS_PATH}/OpenOffice.exe"
|
||||
OFFICE_PACK="${ADDONS_PATH}/OpenOffice"
|
||||
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}"
|
||||
unpack "${ADDONS_PACK}" "${ADDONS_PATH}"
|
||||
7z x -y "${OFFICE_EXE}" -o"${OFFICE_PACK}"
|
||||
wine_run_install "${AUTOINSTALL_SETUP}" /qn
|
||||
|
||||
wine_run regedit "${ADDONS_PATH_REG}"/*.reg
|
||||
|
||||
# Установка ODBC
|
||||
rm -fR "$DRIVE_C/Program Files (x86)/Common Files/System"
|
||||
cp -r "${ADDONS_PATH_MDAC}/System" "$DRIVE_C/Program Files (x86)/Common Files/System"
|
||||
cp -r "${ADDONS_PATH_MDAC}"/*.* "$DRIVE_C/windows/system32/"
|
||||
wine_run regedit "${ADDONS_PATH_MDAC}"/*.reg
|
||||
|
||||
# Установка SSH
|
||||
cp -r "${ADDONS_PATH_OPENSSH}" "$DRIVE_C/windows/system32/"
|
||||
|
||||
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
|
BIN
image/acceledit.png
Normal file
After Width: | Height: | Size: 5.2 KiB |
BIN
image/arbat.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
image/betaedit.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
image/cocon.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
image/comein.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
image/comet.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
image/configprotection.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
image/consul.png
Normal file
After Width: | Height: | Size: 6.1 KiB |
BIN
image/cross.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
image/daobitcservice.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
image/daobitrinfo.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
image/daobitrtariff.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
image/decor.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
image/globalsettings.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
image/kristall.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
image/kust.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
image/magnum.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
image/materialsedit.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
image/monolit.png
Normal file
After Width: | Height: | Size: 9.7 KiB |
BIN
image/openoffice.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
image/pasternak.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
image/rebar.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
image/scadx.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
image/scalc.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
image/section.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
image/sezam.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
image/slope.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
image/tonus.png
Normal file
After Width: | Height: | Size: 8.4 KiB |
BIN
image/ucalc.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
image/underground.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
image/viewprof.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
image/west.png
Normal file
After Width: | Height: | Size: 16 KiB |
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="none"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEARCH="win32"
|
||||
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
|
||||
# export USE_RENDERER="proton"
|
||||
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_cs"
|
||||
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_cs/SETUP.EXE"
|
||||
|
||||
if [[ -f "$2" ]] ; 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/daoservc.exe"
|
||||
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
|
||||
try_remove_dir "$AUTOINSTALL_UNPACK"
|
||||
else
|
||||
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
|
||||
winehelper install $1 \"/путь/до/установочного_файла\""
|
||||
fi
|
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="none"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEARCH="win32"
|
||||
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
|
||||
# export USE_RENDERER="proton"
|
||||
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_rk"
|
||||
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_rk/setup.exe"
|
||||
|
||||
if [[ -f "$2" ]] ; 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 \"/путь/до/установочного_файла\""
|
||||
fi
|
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="none"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEARCH="win32"
|
||||
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
|
||||
# export USE_RENDERER="proton"
|
||||
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_ri"
|
||||
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_ri/setup.exe"
|
||||
|
||||
if [[ -f "$2" ]] ; 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 \"/путь/до/установочного_файла\""
|
||||
fi
|
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="none"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEARCH="win32"
|
||||
export INSTALL_DLL="dotnet7 dotnetdesktop7 arial renderer=gdi"
|
||||
# export USE_RENDERER="proton"
|
||||
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/setup_rt"
|
||||
AUTOINSTALL_SETUP="${WH_TMP_DIR}/setup_rt/setup.exe"
|
||||
|
||||
if [[ -f "$2" ]] ; 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 \"/путь/до/установочного_файла\""
|
||||
fi
|
109
winehelper
@ -647,6 +647,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
|
||||
@ -726,6 +825,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 #####
|
||||
|