Compare commits
3 Commits
3d13137677
...
b9bb948738
Author | SHA1 | Date | |
---|---|---|---|
|
b9bb948738 | ||
|
b43ca4d712 | ||
|
e6dc01efc1 |
BIN
image/daobitcservice.png
Normal file
BIN
image/daobitcservice.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 20 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 |
24
manualinstall/daobit-cservice
Normal file
24
manualinstall/daobit-cservice
Normal file
@ -0,0 +1,24 @@
|
||||
#!/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"
|
||||
|
||||
if [[ -f "$2" ]] ; then
|
||||
prepair_wine
|
||||
|
||||
wine_run_install "$2" /auto /hide
|
||||
|
||||
WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/CSERVICE/daoservc.exe"
|
||||
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
|
||||
else
|
||||
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
|
||||
winehelper install $1 \"/путь/до/установочного_файла\""
|
||||
fi
|
24
manualinstall/daobit-ratlas
Normal file
24
manualinstall/daobit-ratlas
Normal file
@ -0,0 +1,24 @@
|
||||
#!/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"
|
||||
|
||||
if [[ -f "$2" ]] ; then
|
||||
prepair_wine
|
||||
|
||||
wine_run_install "$2" /auto /hide
|
||||
|
||||
WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/RAtlas/ratlas.exe"
|
||||
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
|
||||
else
|
||||
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
|
||||
winehelper install $1 \"/путь/до/установочного_файла\""
|
||||
fi
|
24
manualinstall/daobit-rinfo
Normal file
24
manualinstall/daobit-rinfo
Normal file
@ -0,0 +1,24 @@
|
||||
#!/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"
|
||||
|
||||
if [[ -f "$2" ]] ; then
|
||||
prepair_wine
|
||||
|
||||
wine_run_install "$2" /auto /hide
|
||||
|
||||
WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/RInfo/rinfo.exe"
|
||||
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
|
||||
else
|
||||
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
|
||||
winehelper install $1 \"/путь/до/установочного_файла\""
|
||||
fi
|
24
manualinstall/daobit-rtariff
Normal file
24
manualinstall/daobit-rtariff
Normal file
@ -0,0 +1,24 @@
|
||||
#!/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"
|
||||
|
||||
if [[ -f "$2" ]] ; then
|
||||
prepair_wine
|
||||
|
||||
wine_run_install "$2" /auto /hide
|
||||
|
||||
WIN_FILE_EXEC="$DRIVE_C/Program Files/DAO/RTariff/Tariff.exe"
|
||||
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
|
||||
else
|
||||
fatal "Не найден файл установки для $PROG_NAME. Перезапустите по примеру:
|
||||
winehelper install $1 \"/путь/до/установочного_файла\""
|
||||
fi
|
109
winehelper
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 #####
|
||||
|
Loading…
Reference in New Issue
Block a user