Compare commits
12 Commits
Author | SHA1 | Date | |
---|---|---|---|
b29e586137 | |||
ace00616ca | |||
5b6a05a09e | |||
3be6b8c4a1 | |||
b684afe1ad | |||
bda5a31205 | |||
e55bc209c1 | |||
33f12d5287 | |||
bb0ec33202 | |||
a4998d2f26 | |||
ca9e1d7f75 | |||
b4d36b15e8 |
@ -1,5 +1,12 @@
|
|||||||
История изменений:
|
История изменений:
|
||||||
|
|
||||||
|
0.3.9:
|
||||||
|
* обновлен скрипт установки scadoffice
|
||||||
|
* добавлена автоустановка:
|
||||||
|
winehelper easymnemo - "Easymnemo"
|
||||||
|
* winetricks поставляется с пакетом WineHelper, а не скачивается из GitHub
|
||||||
|
* добавлена возможность удаления префикса
|
||||||
|
|
||||||
0.3.8:
|
0.3.8:
|
||||||
* добавлена возможность ассоциации и запуска файлов из WINE в нативном Linux приложении
|
* добавлена возможность ассоциации и запуска файлов из WINE в нативном Linux приложении
|
||||||
* добавлен выбор префикса, если переменная WINEPREFIX не объявлена
|
* добавлен выбор префикса, если переменная WINEPREFIX не объявлена
|
||||||
|
27
autoinstall/easymnemo
Normal file
27
autoinstall/easymnemo
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# info_ru: Удобная программа для создания двухмерных схем и чертежей. Основной акцент сделан на проектировании систем тепло-, водо- и газоснабжения, водоочистки, автоматизированных систем управления технологическими процессами (АСУТП), а также планов эвакуации при пожаре и авариях.
|
||||||
|
########################################################################
|
||||||
|
export WH_WINE_USE="wine_x_tkg_10-0_i586"
|
||||||
|
export WINEPREFIX="easymnemo"
|
||||||
|
export PROG_NAME="Easymnemo"
|
||||||
|
export PROG_ICON="easymnemo"
|
||||||
|
export BASE_PFX="none"
|
||||||
|
export WH_WINDOWS_VER="10"
|
||||||
|
export WINEARCH="win32"
|
||||||
|
export INSTALL_DLL="dotnet35 mdac28 jet40"
|
||||||
|
|
||||||
|
AUTOINSTALL_EXE="${WH_TMP_DIR}/Easymnemo.zip"
|
||||||
|
AUTOINSTALL_UNPACK="${WH_TMP_DIR}/Easymnemo"
|
||||||
|
AUTOINSTALL_SETUP="${WH_TMP_DIR}/Easymnemo/EasyMnemo.msi"
|
||||||
|
|
||||||
|
prepair_wine
|
||||||
|
if try_download "https://s.siteapi.org/c6e311629e736a8.ru/docs/j3pdl4vxv5wkg0sg0ksks40k8ss0sc" "${AUTOINSTALL_EXE}" ; then
|
||||||
|
7z x -y "${AUTOINSTALL_EXE}" -o"${AUTOINSTALL_UNPACK}"
|
||||||
|
try_remove_file "$AUTOINSTALL_EXE"
|
||||||
|
|
||||||
|
wine_run_install "${AUTOINSTALL_SETUP}" /q
|
||||||
|
try_remove_dir "$AUTOINSTALL_UNPACK"
|
||||||
|
|
||||||
|
WIN_FILE_EXEC="$DRIVE_C/Program Files/Easymnemo/Easymnemo.exe"
|
||||||
|
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
|
||||||
|
fi
|
@ -3,13 +3,16 @@
|
|||||||
########################################################################
|
########################################################################
|
||||||
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 BASE_PFX="scadaoffice_pfx_x64_v01"
|
export BASE_PFX="scadaoffice_pfx_x64_v03"
|
||||||
export WH_WINDOWS_VER="10"
|
export WH_WINDOWS_VER="10"
|
||||||
export WINEARCH="win64"
|
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 dotnet20"
|
export INSTALL_DLL="dotnet20 dotnet472 dotnet48 gdiplus vcrun6sp6 vcrun2005 vcrun2019 d3dx11_42 d3dx11_43 d3dx9 d3dcompiler_42 d3dcompiler_43 d3dcompiler_46 d3dcompiler_47 richtx32 riched30 riched20 msxml6"
|
||||||
|
export WH_XDG_OPEN="rtf"
|
||||||
AUTOINSTALL_EXE="${WH_TMP_DIR}/SCADOffice_installer.exe"
|
AUTOINSTALL_EXE="${WH_TMP_DIR}/SCADOffice_installer.exe"
|
||||||
|
SCADOFFICE_ADDONS_URL="https://cloud.linux-gaming.ru/portproton/scadoffice_addons_v02.tar.xz"
|
||||||
|
|
||||||
prepair_wine
|
prepair_wine
|
||||||
|
|
||||||
DRIVE_C_SCADOFFICE="$DRIVE_C/SCAD Soft/SCADOffice/64"
|
DRIVE_C_SCADOFFICE="$DRIVE_C/SCAD Soft/SCADOffice/64"
|
||||||
|
|
||||||
if [[ -n $2 ]] ; then
|
if [[ -n $2 ]] ; then
|
||||||
@ -29,21 +32,16 @@ fi
|
|||||||
if [[ $BASE_PFX == "none" ]] ; then
|
if [[ $BASE_PFX == "none" ]] ; then
|
||||||
print_info "Установка дополнительных компонентов..."
|
print_info "Установка дополнительных компонентов..."
|
||||||
|
|
||||||
ADDONS_PACK="${WH_TMP_DIR}/scadoffice_addons_v01.tar.xz"
|
ADDONS_PACK="${WH_TMP_DIR}/$(basename "$SCADOFFICE_ADDONS_URL")"
|
||||||
ADDONS_PATH="${WH_TMP_DIR}/scadoffice_addons"
|
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_REG="${ADDONS_PATH}/REG"
|
||||||
ADDONS_PATH_MDAC="${ADDONS_PATH}/mdac64"
|
ADDONS_PATH_MDAC="${ADDONS_PATH}/mdac64"
|
||||||
ADDONS_PATH_OPENSSH="${ADDONS_PATH}/OpenSSH"
|
ADDONS_PATH_OPENSSH="${ADDONS_PATH}/OpenSSH"
|
||||||
|
|
||||||
if try_download "https://cloud.linux-gaming.ru/portproton/scadoffice_addons_v01.tar.xz" "${ADDONS_PACK}" ; then
|
if try_download "$SCADOFFICE_ADDONS_URL" "${ADDONS_PACK}" ; then
|
||||||
create_new_dir "${ADDONS_PATH}"
|
create_new_dir "${ADDONS_PATH}"
|
||||||
unpack "${ADDONS_PACK}" "${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
|
wine_run regedit "${ADDONS_PATH_REG}"/*.reg
|
||||||
|
|
||||||
# Установка ODBC
|
# Установка ODBC
|
||||||
@ -73,12 +71,8 @@ if try_download "https://scadhelp.ru/files/10/download" "${AUTOINSTALL_EXE}" ; t
|
|||||||
|
|
||||||
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 в каталог SCADOFFICE на рабочемм столе
|
# Цикл создания десктоп файлов для scad office
|
||||||
for i in "${!PROG_NAME[@]}"; do
|
for i in "${!PROG_NAME[@]}"; do
|
||||||
create_desktop "${PROG_NAME[i]}" "${WIN_FILE_EXEC[i]}" "${PROG_ICON[i]}" "nocopy"
|
create_desktop "${PROG_NAME[i]}" "${WIN_FILE_EXEC[i]}" "${PROG_ICON[i]}" "nocopy"
|
||||||
done
|
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
|
fi
|
||||||
|
BIN
image/easymnemo.png
Normal file
BIN
image/easymnemo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.1 KiB |
@ -64,7 +64,8 @@ dfb44ce5e5af7dba1686932c63d6b05e5dd6919a21c78130a7d1d0271b93958e audiorecstatio
|
|||||||
# create with wine_x_tkg_10-0_i586 (universal user: xuser)
|
# create with wine_x_tkg_10-0_i586 (universal user: xuser)
|
||||||
# winetricks arial dotnet7 dotnetdesktop7 renderer=gdi
|
# winetricks arial dotnet7 dotnetdesktop7 renderer=gdi
|
||||||
|
|
||||||
daaaef625f8f44688faf12f9ef4360ad1d35b377b23be634b45c1b8d43239686 scadaoffice_pfx_x64_v01.tar.xz
|
25e277c7afa4a9afc5f013cb05f872c12a7f381c4f0503a423dcacccca9a14c6 scadaoffice_pfx_x64_v03.tar.xz
|
||||||
# create with wine_x_tkg_10-0_i586 (universal user: xuser)
|
# 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
|
# 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
|
# + addons with ODBC, SSH, *.reg
|
||||||
|
0f4ef434df07bc338ae308af44330590eaa1d9c94b64850514e55b960642d0eb scadoffice_addons_v02.tar.xz
|
||||||
|
105
winehelper
105
winehelper
@ -29,6 +29,9 @@ else
|
|||||||
check_variables DEBUG "0"
|
check_variables DEBUG "0"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
##### WINETRICKS VERSION #####
|
||||||
|
WINETRICKS_VERSION="20250102"
|
||||||
|
|
||||||
##### DEFAULT VARIABLES #####
|
##### DEFAULT VARIABLES #####
|
||||||
SCRIPT_NAME="$(basename "$0")"
|
SCRIPT_NAME="$(basename "$0")"
|
||||||
if [[ "$(realpath "$0")" == "/usr/bin/$SCRIPT_NAME" ]] ; then
|
if [[ "$(realpath "$0")" == "/usr/bin/$SCRIPT_NAME" ]] ; then
|
||||||
@ -50,6 +53,7 @@ WH_IMAGE_PATH="$DATA_PATH/image"
|
|||||||
WH_DB_DIR="$DATA_PATH/database"
|
WH_DB_DIR="$DATA_PATH/database"
|
||||||
WH_AUTOINSTALL_DIR="$DATA_PATH/autoinstall"
|
WH_AUTOINSTALL_DIR="$DATA_PATH/autoinstall"
|
||||||
WH_MANUALINSTALL_DIR="$DATA_PATH/manualinstall"
|
WH_MANUALINSTALL_DIR="$DATA_PATH/manualinstall"
|
||||||
|
WH_WINETRICKS="$DATA_PATH/winetricks_$WINETRICKS_VERSION"
|
||||||
|
|
||||||
WH_MENU_DIR="$HOME/.local/share/applications/WineHelper"
|
WH_MENU_DIR="$HOME/.local/share/applications/WineHelper"
|
||||||
WH_MENU_CATEGORY="$HOME/.local/share/desktop-directories/WineHelper.directory"
|
WH_MENU_CATEGORY="$HOME/.local/share/desktop-directories/WineHelper.directory"
|
||||||
@ -405,7 +409,8 @@ create_desktop () {
|
|||||||
|
|
||||||
|
|
||||||
# добавляем информацию о приложении в "$WINEPREFIX/desktop.list"
|
# добавляем информацию о приложении в "$WINEPREFIX/desktop.list"
|
||||||
if grep -qe "^${name_desktop}=" "$WINEPREFIX/desktop.list"
|
if [[ -f "$WINEPREFIX/desktop.list" ]] \
|
||||||
|
&& grep -qe "^${name_desktop}=" "$WINEPREFIX/desktop.list"
|
||||||
then sed -i "/^$name_desktop=/d" "$WINEPREFIX/desktop.list"
|
then sed -i "/^$name_desktop=/d" "$WINEPREFIX/desktop.list"
|
||||||
fi
|
fi
|
||||||
echo "$name_desktop=${exe_file//$WINEPREFIX/}" >> "$WINEPREFIX/desktop.list"
|
echo "$name_desktop=${exe_file//$WINEPREFIX/}" >> "$WINEPREFIX/desktop.list"
|
||||||
@ -1010,25 +1015,6 @@ kill_autostart () {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
update_winetricks () {
|
|
||||||
W_TRX_URL="https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks"
|
|
||||||
W_TRX_EXT_VER="$(curl -s --list-only "$W_TRX_URL" | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')"
|
|
||||||
print_info "Актуальная версия winetricks: $W_TRX_EXT_VER"
|
|
||||||
if [[ -f "$WH_TMP_DIR/winetricks" ]] ; then
|
|
||||||
W_TRX_INT_VER="$(cat "$WH_TMP_DIR/winetricks" | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')"
|
|
||||||
print_info "Установленная портативная версия winetricks: $W_TRX_INT_VER"
|
|
||||||
fi
|
|
||||||
if [[ -n "$W_TRX_EXT_VER" ]] && [[ "$W_TRX_INT_VER" != "$W_TRX_EXT_VER" ]] ; then
|
|
||||||
if try_download "$W_TRX_URL" "$WH_TMP_DIR/winetricks_new" ; then
|
|
||||||
mv -f "$WH_TMP_DIR/winetricks_new" "$WH_TMP_DIR/winetricks"
|
|
||||||
W_TRX_INT_VER="$(cat "$WH_TMP_DIR/winetricks" | grep -i 'WINETRICKS_VERSION=' | sed 's/_VERSION=//')"
|
|
||||||
print_info "Портативная версия winetricks обновлена до (${W_TRX_INT_VER})"
|
|
||||||
chmod u+x "$WH_TMP_DIR/winetricks"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
export WINETRICKS="$WH_TMP_DIR/winetricks"
|
|
||||||
}
|
|
||||||
|
|
||||||
use_winetricks () {
|
use_winetricks () {
|
||||||
if [[ -n "$INSTALL_DLL" ]] ; then
|
if [[ -n "$INSTALL_DLL" ]] ; then
|
||||||
WH_DLL_INSTALL="$(echo "$INSTALL_DLL $WH_DLL_INSTALL" | awk '{ for(i=1;i<=NF;i++){a[$i]++} }END{ for(i in a){printf("%s ",i)} }' )"
|
WH_DLL_INSTALL="$(echo "$INSTALL_DLL $WH_DLL_INSTALL" | awk '{ for(i=1;i<=NF;i++){a[$i]++} }END{ for(i in a){printf("%s ",i)} }' )"
|
||||||
@ -1051,15 +1037,13 @@ use_winetricks () {
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
if [[ "$USE_WT_FROM_DB" == "1" ]] ; then
|
if [[ "$USE_WT_FROM_DB" == "1" ]] ; then
|
||||||
if update_winetricks ; then
|
print_info "Пробуем установить компоненты: ${WH_DLL_NEED_INSTALL}"
|
||||||
print_info "Пробуем установить библиотеки: ${WH_DLL_NEED_INSTALL}"
|
|
||||||
print_info "Запускаем WINETRICKS..."
|
print_info "Запускаем WINETRICKS..."
|
||||||
export WINETRICKS_DOWNLOADER="curl"
|
export WINETRICKS_DOWNLOADER="curl"
|
||||||
env WINEDLLOVERRIDES="winegstreamer=" "$WH_TMP_DIR/winetricks" -q ${WH_DLL_NEED_INSTALL}
|
env WINEDLLOVERRIDES="winegstreamer=" "$WH_WINETRICKS" -q ${WH_DLL_NEED_INSTALL}
|
||||||
wait_wineserver
|
wait_wineserver
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
kill_wine () {
|
kill_wine () {
|
||||||
@ -1215,10 +1199,64 @@ run_autoinstall () {
|
|||||||
echo
|
echo
|
||||||
}
|
}
|
||||||
|
|
||||||
|
##### REMOVE PREFIX #####
|
||||||
|
remove_prefix() {
|
||||||
|
local prefix_name="$1"
|
||||||
|
local prefix_path="$WH_PREFIXES_DIR/$prefix_name"
|
||||||
|
|
||||||
|
if [[ -z "$prefix_name" ]]; then
|
||||||
|
print_error "Не указано имя префикса для удаления."
|
||||||
|
echo "Использование: $SCRIPT_NAME remove-prefix [имя_префикса]"
|
||||||
|
echo "Доступные префиксы:"
|
||||||
|
ls -1 "$WH_PREFIXES_DIR"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! -d "$prefix_path" ]]; then
|
||||||
|
print_error "Префикс "$prefix_name" не найден."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! $2 =~ --force|-y ]] ; then
|
||||||
|
echo "======================================================"
|
||||||
|
print_warning "Вы собираетесь удалить префикс "$prefix_name"."
|
||||||
|
echo "Это приведёт к:"
|
||||||
|
echo " - Полному удалению всех данных префикса"
|
||||||
|
echo " - Удалению всех программ, установленных в этом префиксе"
|
||||||
|
echo " - Удалению связанных ярлыков из меню и рабочего стола"
|
||||||
|
echo "======================================================"
|
||||||
|
read -p "Продолжить удаление? (y/N): " answer
|
||||||
|
|
||||||
|
if [[ ! "$answer" =~ ^[YyДд]$ ]]; then
|
||||||
|
print_info "Удаление префикса отменено."
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
try_remove_dir "$prefix_path"
|
||||||
|
|
||||||
|
if [[ $? -eq 0 ]]; then
|
||||||
|
print_ok "Префикс "$prefix_name" успешно удален."
|
||||||
|
|
||||||
|
for desktop_file in "$WH_MENU_DIR"/*.desktop; do
|
||||||
|
if grep -q "$prefix_path" "$desktop_file"; then
|
||||||
|
desktop_name=$(basename "$desktop_file")
|
||||||
|
remove_desktop "${desktop_name%.*}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
print_error "Не удалось удалить префикс "$prefix_name"."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
##### REMOVE WINEHELPER #####
|
##### REMOVE WINEHELPER #####
|
||||||
remove_winehelper () {
|
remove_winehelper () {
|
||||||
local answer
|
local answer
|
||||||
|
if [[ $1 =~ --force|-y ]] ; then
|
||||||
|
answer="y"
|
||||||
|
else
|
||||||
echo "======================================================"
|
echo "======================================================"
|
||||||
print_warning "Вы собираетесь удалить WineHelper и все связанные с ним данные."
|
print_warning "Вы собираетесь удалить WineHelper и все связанные с ним данные."
|
||||||
echo " Это удалит:"
|
echo " Это удалит:"
|
||||||
@ -1236,9 +1274,13 @@ remove_winehelper () {
|
|||||||
echo "----------------------------------------------"
|
echo "----------------------------------------------"
|
||||||
echo "Продолжить? (y/N)"
|
echo "Продолжить? (y/N)"
|
||||||
read -r answer
|
read -r answer
|
||||||
|
else
|
||||||
|
print_info "Удаление отменено."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ "$answer" =~ ^[YyДд]$ ]] ; then
|
if [[ "$answer" =~ ^[YyДд]$ ]] ; then
|
||||||
|
|
||||||
# Удаление рабочих каталогов
|
# Удаление рабочих каталогов
|
||||||
try_remove_dir "$USER_WORK_PATH"
|
try_remove_dir "$USER_WORK_PATH"
|
||||||
|
|
||||||
@ -1266,9 +1308,6 @@ remove_winehelper () {
|
|||||||
else
|
else
|
||||||
print_info "Удаление отменено."
|
print_info "Удаление отменено."
|
||||||
fi
|
fi
|
||||||
else
|
|
||||||
print_info "Удаление отменено."
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
wh_info () {
|
wh_info () {
|
||||||
@ -1281,7 +1320,8 @@ wh_info () {
|
|||||||
|
|
||||||
installed список установленных программ
|
installed список установленных программ
|
||||||
run [программа.exe] запуск программы (отладка)
|
run [программа.exe] запуск программы (отладка)
|
||||||
remove удалить WineHelper и все связанные данные
|
remove-all удалить WineHelper и все связанные данные
|
||||||
|
remove-prefix [имя_префикса] удалить префикс и все связанные данные
|
||||||
|
|
||||||
Параметры:
|
Параметры:
|
||||||
--help показать эту справку и выйти
|
--help показать эту справку и выйти
|
||||||
@ -1310,12 +1350,13 @@ case "${1,,}" in
|
|||||||
winereg|regedit) prepair_wine ; wine_run "regedit" ;;
|
winereg|regedit) prepair_wine ; wine_run "regedit" ;;
|
||||||
winefile|explorer) prepair_wine ; wine_run "winefile" ;;
|
winefile|explorer) prepair_wine ; wine_run "winefile" ;;
|
||||||
wineconsole|cmd) prepair_wine ; wine_run "wineconsole" ;;
|
wineconsole|cmd) prepair_wine ; wine_run "wineconsole" ;;
|
||||||
winetricks) shift ; update_winetricks ; prepair_wine ; "$WINETRICKS" -q "$@" ;;
|
winetricks) shift ; prepair_wine ; "$WINETRICKS" -q "$@" ;;
|
||||||
desktop) shift ; create_desktop "$@" ; exit 0 ;;
|
desktop) shift ; create_desktop "$@" ; exit 0 ;;
|
||||||
install|-i) shift ; run_autoinstall "$@" ;;
|
install|-i) shift ; run_autoinstall "$@" ;;
|
||||||
installed) shift ; check_installed_programs "$1" ;;
|
installed) shift ; check_installed_programs "$1" ;;
|
||||||
run|-r) shift ; run_installed_programs "$1" ;;
|
run|-r) shift ; run_installed_programs "$1" ;;
|
||||||
remove|--remove) remove_winehelper ;;
|
remove-all) shift ; remove_winehelper "$@ ";;
|
||||||
|
remove-prefix) shift ; remove_prefix "$@" ;;
|
||||||
*)
|
*)
|
||||||
if [[ -f "$1" ]] ; then
|
if [[ -f "$1" ]] ; then
|
||||||
WIN_FILE_EXEC="$(readlink -f "$1")"
|
WIN_FILE_EXEC="$(readlink -f "$1")"
|
||||||
|
19204
winetricks_20250102
Executable file
19204
winetricks_20250102
Executable file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user