Compare commits

...

8 Commits

Author SHA1 Message Date
Mikhail Tergoev
4aebb722ca changed icon for menu directory 2025-09-17 13:48:40 +03:00
Mikhail Tergoev
4672dcd4e1 disabled winebth.sys by default 2025-09-17 13:37:42 +03:00
Mikhail Tergoev
e174b034df fixed info for arm-kt-med 2025-09-17 12:38:26 +03:00
Mikhail Tergoev
3100475b1e added StartupWMClass for desktop files 2025-09-17 12:36:27 +03:00
Mikhail Tergoev
148a7dbfce force disabled winemenubuilder.exe 2025-09-17 12:28:29 +03:00
Mikhail Tergoev
5c01220382 added ARM-KT-* programs 2025-09-16 19:20:41 +03:00
Mikhail Tergoev
b74fe77bad Merge branch 'minergenon-devel' 2025-09-16 13:22:37 +03:00
Sergey Palcheh
3a442f6288 updated the creation of a list of prefixes 2025-09-12 17:49:58 +06:00
11 changed files with 291 additions and 13 deletions

39
autoinstall/arm-kt-att Normal file
View File

@@ -0,0 +1,39 @@
#!/usr/bin/env bash
# info_ru: Программа “АРМ КТ ПРОФ АТТЕСТАТ” для документов об основном общем, среднем общем образовании.
########################################################################
export PROG_URL="https://armregistr.ru/programmnoe-obespechenie/licenziya-na-programmnoe-obespechenie-dlya-zapolneniya-blank-4"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="arm-kt"
export PROG_NAME="АРМ КТ ПРОФ АТТЕСТАТ"
export PROG_ICON="armkt"
export BASE_PFX="none"
export WINEARCH="win64"
export INSTALL_DLL=""
export WH_WINDOWS_VER="7"
AUTOINSTALL_URL=$(curl -s "$PROG_URL" | grep "setup.zip" | awk -F'"' '{print $2}')
SHORT_NAME=$(echo $AUTOINSTALL_URL | awk -F'/' '{print $5}')
VER_EXE=$(echo $AUTOINSTALL_URL | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')
AUTOINSTALL_ZIP="${WH_TMP_DIR}/$SHORT_NAME-$VER_EXE-setup.zip"
AUTOINSTALL_EXE="${WH_TMP_DIR}/$SHORT_NAME-$VER_EXE-setup.exe"
if [[ -z $VER_EXE ]]
then fatal "Не удалось получить версию ПО со страницы на сайте!"
else print_info "Устанавливаем $PROG_NAME версии $VER_EXE"
fi
prepair_wine
if try_download "$AUTOINSTALL_URL" "$AUTOINSTALL_ZIP" ; then
unpack "$AUTOINSTALL_ZIP" "${WH_TMP_DIR}"
try_remove_file "$AUTOINSTALL_ZIP"
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT
try_remove_file "${AUTOINSTALL_EXE}"
create_desktop "$PROG_NAME" \
"$DRIVE_C/Program Files/KtSoftware/$SHORT_NAME/$SHORT_NAME.exe" "$PROG_ICON"
create_desktop "Регистрация $PROG_NAME" \
"$DRIVE_C/Program Files/KtSoftware/$SHORT_NAME/${SHORT_NAME}Reg.exe" "$PROG_ICON"
fi

39
autoinstall/arm-kt-dpp Normal file
View File

@@ -0,0 +1,39 @@
#!/usr/bin/env bash
# info_ru: Программа “АРМ КТ ПРОФ ДПП” для заполнения бланков документов о повышении квалификации и профессиональной переподготовке.
########################################################################
export PROG_URL="https://armregistr.ru/programmnoe-obespechenie/licenziya-na-programmnoe-obespechenie-dlya-zapolneniya-blank"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="arm-kt"
export PROG_NAME="АРМ КТ ПРОФ ДПП"
export PROG_ICON="armkt"
export BASE_PFX="none"
export WINEARCH="win64"
export INSTALL_DLL=""
export WH_WINDOWS_VER="7"
AUTOINSTALL_URL=$(curl -s "$PROG_URL" | grep "setup.zip" | awk -F'"' '{print $2}')
SHORT_NAME=$(echo $AUTOINSTALL_URL | awk -F'/' '{print $5}')
VER_EXE=$(echo $AUTOINSTALL_URL | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')
AUTOINSTALL_ZIP="${WH_TMP_DIR}/$SHORT_NAME-$VER_EXE-setup.zip"
AUTOINSTALL_EXE="${WH_TMP_DIR}/$SHORT_NAME-$VER_EXE-setup.exe"
if [[ -z $VER_EXE ]]
then fatal "Не удалось получить версию ПО со страницы на сайте!"
else print_info "Устанавливаем $PROG_NAME версии $VER_EXE"
fi
prepair_wine
if try_download "$AUTOINSTALL_URL" "$AUTOINSTALL_ZIP" ; then
unpack "$AUTOINSTALL_ZIP" "${WH_TMP_DIR}"
try_remove_file "$AUTOINSTALL_ZIP"
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT
try_remove_file "${AUTOINSTALL_EXE}"
create_desktop "$PROG_NAME" \
"$DRIVE_C/Program Files/KtSoftware/$SHORT_NAME/$SHORT_NAME.exe" "$PROG_ICON"
create_desktop "Регистрация $PROG_NAME" \
"$DRIVE_C/Program Files/KtSoftware/$SHORT_NAME/${SHORT_NAME}Reg.exe" "$PROG_ICON"
fi

35
autoinstall/arm-kt-es Normal file
View File

@@ -0,0 +1,35 @@
#!/usr/bin/env bash
# info_ru: Программа “АРМ КТ ПРОФ НШ” для заполнения бланков документов об окончании начальной школы.
########################################################################
export PROG_URL="https://armregistr.ru/programmnoe-obespechenie/licenziya-na-programmnoe-obespechenie-dlya-zapolneniya-blank-1"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="arm-kt"
export PROG_NAME="АРМ КТ ПРОФ НШ"
export PROG_ICON="armkt"
export BASE_PFX="none"
export WINEARCH="win64"
export INSTALL_DLL=""
export WH_WINDOWS_VER="7"
AUTOINSTALL_URL=$(curl -s "$PROG_URL" | grep "setup.exe" | awk -F'"' '{print $2}')
SHORT_NAME=$(echo $AUTOINSTALL_URL | awk -F'/' '{print $5}')
VER_EXE=$(echo $AUTOINSTALL_URL | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')
AUTOINSTALL_EXE="${WH_TMP_DIR}/$SHORT_NAME-$VER_EXE-setup.exe"
if [[ -z $VER_EXE ]]
then fatal "Не удалось получить версию ПО со страницы на сайте!"
else print_info "Устанавливаем $PROG_NAME версии $VER_EXE"
fi
prepair_wine
if try_download "$AUTOINSTALL_URL" "$AUTOINSTALL_EXE" ; then
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT
try_remove_file "${AUTOINSTALL_EXE}"
create_desktop "$PROG_NAME" \
"$DRIVE_C/Program Files/KtSoftware/$SHORT_NAME/$SHORT_NAME.exe" "$PROG_ICON"
create_desktop "Регистрация $PROG_NAME" \
"$DRIVE_C/Program Files/KtSoftware/$SHORT_NAME/${SHORT_NAME}Reg.exe" "$PROG_ICON"
fi

39
autoinstall/arm-kt-med Normal file
View File

@@ -0,0 +1,39 @@
#!/usr/bin/env bash
# info_ru: Программа “АРМ КТ ПРОФ МЕД” для заполнения бланков документов о послевузовском профессиональном образовании и сертификатов специалиста.
######################################################
export PROG_URL="https://armregistr.ru/programmnoe-obespechenie/licenziya-na-programmnoe-obespechenie-dlya-zapolneniya-blank-3"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="arm-kt"
export PROG_NAME="АРМ КТ ПРОФ МЕД"
export PROG_ICON="armkt"
export BASE_PFX="none"
export WINEARCH="win64"
export INSTALL_DLL=""
export WH_WINDOWS_VER="7"
AUTOINSTALL_URL=$(curl -s "$PROG_URL" | grep "setup.zip" | awk -F'"' '{print $2}')
SHORT_NAME=$(echo $AUTOINSTALL_URL | awk -F'/' '{print $5}')
VER_EXE=$(echo $AUTOINSTALL_URL | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')
AUTOINSTALL_ZIP="${WH_TMP_DIR}/$SHORT_NAME-$VER_EXE-setup.zip"
AUTOINSTALL_EXE="${WH_TMP_DIR}/$SHORT_NAME-$VER_EXE-setup.exe"
if [[ -z $VER_EXE ]]
then fatal "Не удалось получить версию ПО со страницы на сайте!"
else print_info "Устанавливаем $PROG_NAME версии $VER_EXE"
fi
prepair_wine
if try_download "$AUTOINSTALL_URL" "$AUTOINSTALL_ZIP" ; then
unpack "$AUTOINSTALL_ZIP" "${WH_TMP_DIR}"
try_remove_file "$AUTOINSTALL_ZIP"
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT
try_remove_file "${AUTOINSTALL_EXE}"
create_desktop "$PROG_NAME" \
"$DRIVE_C/Program Files/KtSoftware/$SHORT_NAME/$SHORT_NAME.exe" "$PROG_ICON"
create_desktop "Регистрация $PROG_NAME" \
"$DRIVE_C/Program Files/KtSoftware/$SHORT_NAME/${SHORT_NAME}Reg.exe" "$PROG_ICON"
fi

39
autoinstall/arm-kt-prof Normal file
View File

@@ -0,0 +1,39 @@
#!/usr/bin/env bash
# info_ru: Программа “АРМ КТ ПРОФ ПРОФЕССИЯ” для заполнения бланков документов профессионального обучения.
########################################################################
export PROG_URL="https://armregistr.ru/programmnoe-obespechenie/licenziya-na-programmnoe-obespechenie-dlya-zapolneniya-blank-5"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="arm-kt"
export PROG_NAME="АРМ КТ ПРОФ ПРОФЕССИЯ"
export PROG_ICON="armkt"
export BASE_PFX="none"
export WINEARCH="win64"
export INSTALL_DLL=""
export WH_WINDOWS_VER="7"
AUTOINSTALL_URL=$(curl -s "$PROG_URL" | grep "setup.zip" | awk -F'"' '{print $2}')
SHORT_NAME=$(echo $AUTOINSTALL_URL | awk -F'/' '{print $5}')
VER_EXE=$(echo $AUTOINSTALL_URL | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')
AUTOINSTALL_ZIP="${WH_TMP_DIR}/$SHORT_NAME-$VER_EXE-setup.zip"
AUTOINSTALL_EXE="${WH_TMP_DIR}/$SHORT_NAME-$VER_EXE-setup.exe"
if [[ -z $VER_EXE ]]
then fatal "Не удалось получить версию ПО со страницы на сайте!"
else print_info "Устанавливаем $PROG_NAME версии $VER_EXE"
fi
prepair_wine
if try_download "$AUTOINSTALL_URL" "$AUTOINSTALL_ZIP" ; then
unpack "$AUTOINSTALL_ZIP" "${WH_TMP_DIR}"
try_remove_file "$AUTOINSTALL_ZIP"
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT
try_remove_file "${AUTOINSTALL_EXE}"
create_desktop "$PROG_NAME" \
"$DRIVE_C/Program Files/KtSoftware/$SHORT_NAME/$SHORT_NAME.exe" "$PROG_ICON"
create_desktop "Регистрация $PROG_NAME" \
"$DRIVE_C/Program Files/KtSoftware/$SHORT_NAME/${SHORT_NAME}Reg.exe" "$PROG_ICON"
fi

39
autoinstall/arm-kt-spo Normal file
View File

@@ -0,0 +1,39 @@
#!/usr/bin/env bash
# info_ru: Программа “АРМ КТ ПРОФ СПО” для заполнения бланков документов о среднем профессиональном образовании.
########################################################################
export PROG_URL="https://armregistr.ru/programmnoe-obespechenie/licenziya-na-programmnoe-obespechenie-dlya-zapolneniya-blank-2"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="arm-kt"
export PROG_NAME="АРМ КТ ПРОФ СПО"
export PROG_ICON="armkt"
export BASE_PFX="none"
export WINEARCH="win64"
export INSTALL_DLL=""
export WH_WINDOWS_VER="7"
AUTOINSTALL_URL=$(curl -s "$PROG_URL" | grep "setup.zip" | awk -F'"' '{print $2}')
SHORT_NAME=$(echo $AUTOINSTALL_URL | awk -F'/' '{print $5}')
VER_EXE=$(echo $AUTOINSTALL_URL | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')
AUTOINSTALL_ZIP="${WH_TMP_DIR}/$SHORT_NAME-$VER_EXE-setup.zip"
AUTOINSTALL_EXE="${WH_TMP_DIR}/$SHORT_NAME-$VER_EXE-setup.exe"
if [[ -z $VER_EXE ]]
then fatal "Не удалось получить версию ПО со страницы на сайте!"
else print_info "Устанавливаем $PROG_NAME версии $VER_EXE"
fi
prepair_wine
if try_download "$AUTOINSTALL_URL" "$AUTOINSTALL_ZIP" ; then
unpack "$AUTOINSTALL_ZIP" "${WH_TMP_DIR}"
try_remove_file "$AUTOINSTALL_ZIP"
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT
try_remove_file "${AUTOINSTALL_EXE}"
create_desktop "$PROG_NAME" \
"$DRIVE_C/Program Files/KtSoftware/$SHORT_NAME/$SHORT_NAME.exe" "$PROG_ICON"
create_desktop "Регистрация $PROG_NAME" \
"$DRIVE_C/Program Files/KtSoftware/$SHORT_NAME/${SHORT_NAME}Reg.exe" "$PROG_ICON"
fi

39
autoinstall/arm-kt-vuz Normal file
View File

@@ -0,0 +1,39 @@
#!/usr/bin/env bash
# info_ru: Программа “АРМ КТ ПРОФ ВУЗ” для заполнения бланков документов о высшем образовании.
########################################################################
export PROG_URL="https://armregistr.ru/programmnoe-obespechenie/licenziya-na-programmnoe-obespechenie-dlya-zapolneniya-blank-6"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="arm-kt"
export PROG_NAME="АРМ КТ ПРОФ ВУЗ"
export PROG_ICON="armkt"
export BASE_PFX="none"
export WINEARCH="win64"
export INSTALL_DLL=""
export WH_WINDOWS_VER="7"
AUTOINSTALL_URL=$(curl -s "$PROG_URL" | grep "setup.zip" | awk -F'"' '{print $2}')
SHORT_NAME=$(echo $AUTOINSTALL_URL | awk -F'/' '{print $5}')
VER_EXE=$(echo $AUTOINSTALL_URL | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')
AUTOINSTALL_ZIP="${WH_TMP_DIR}/$SHORT_NAME-$VER_EXE-setup.zip"
AUTOINSTALL_EXE="${WH_TMP_DIR}/$SHORT_NAME-$VER_EXE-setup.exe"
if [[ -z $VER_EXE ]]
then fatal "Не удалось получить версию ПО со страницы на сайте!"
else print_info "Устанавливаем $PROG_NAME версии $VER_EXE"
fi
prepair_wine
if try_download "$AUTOINSTALL_URL" "$AUTOINSTALL_ZIP" ; then
unpack "$AUTOINSTALL_ZIP" "${WH_TMP_DIR}"
try_remove_file "$AUTOINSTALL_ZIP"
wine_run_install "${AUTOINSTALL_EXE}" /VERYSILENT
try_remove_file "${AUTOINSTALL_EXE}"
create_desktop "$PROG_NAME" \
"$DRIVE_C/Program Files/KtSoftware/$SHORT_NAME/$SHORT_NAME.exe" "$PROG_ICON"
create_desktop "Регистрация $PROG_NAME" \
"$DRIVE_C/Program Files/KtSoftware/$SHORT_NAME/${SHORT_NAME}Reg.exe" "$PROG_ICON"
fi

BIN
image/armkt.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@@ -617,6 +617,7 @@ create_desktop () {
echo "StartupNotify=true"
echo "Path=$DATA_PATH"
echo "Icon=$icon_file"
echo "StartupWMClass=$(basename "$exe_file")"
} > "$USER_WORK_PATH/$desktop_filename.desktop"
chmod +x "$USER_WORK_PATH/$desktop_filename.desktop"
@@ -652,7 +653,7 @@ create_desktop () {
[Desktop Entry]
Type=Directory
Name=WineHelper
Icon=wine
Icon=winehelper
EOF
fi
@@ -1355,8 +1356,6 @@ init_database () {
}
prepair_wine () {
var_winedlloverride_update "winemenubuilder.exe=d"
if [[ -n "$INSTALL_SCRIPT_NAME" ]]
then print_info "Используются настройки из скрипта установки: $INSTALL_SCRIPT_NAME"
else init_database
@@ -2243,6 +2242,10 @@ else
arg1="--help"
fi
# отключаем создание .desktop файлов средствами wine
# и отключаем winebth, так как может сломать winedevice.exe
var_winedlloverride_update "winemenubuilder.exe,winebth.sys=d"
case "$arg1" in
--version|version) rpm -qi "$SCRIPT_NAME" ; exit 0 ;;
--help|help) wh_info ; exit 0 ;;

View File

@@ -1,3 +1,4 @@
#!/usr/bin/env xdg-open
[Desktop Entry]
Name=WineHelper
Exec=winehelper gui %F
@@ -7,3 +8,4 @@ Type=Application
Categories=WineHelper;Utility;Emulator;
StartupNotify=true
Icon=winehelper
StartupWMClass=winehelper

View File

@@ -1571,6 +1571,12 @@ class WineHelperGUI(QMainWindow):
# Загружаем состояние после создания всех виджетов
self._load_created_prefixes()
# После загрузки выбираем первый элемент, если он доступен
if self.created_prefix_selector.count() > 0:
self.created_prefix_selector.setCurrentIndex(0)
else:
# Если список пуст, сбрасываем панель управления
self.on_created_prefix_selected(-1)
# Инициализируем состояние, которое будет использоваться для логов
self._reset_log_state()
@@ -2212,7 +2218,7 @@ class WineHelperGUI(QMainWindow):
self.created_prefix_selector.removeItem(index_to_remove)
def _load_created_prefixes(self):
"""Загружает список созданных префиксов, сканируя файловую систему, и восстанавливает последнее выбранное состояние."""
"""Загружает и обновляет список созданных префиксов в выпадающем списке."""
prefixes_root_path = os.path.join(Var.USER_WORK_PATH, "prefixes")
if not os.path.isdir(prefixes_root_path):
self.management_container_groupbox.setVisible(False)
@@ -2240,13 +2246,6 @@ class WineHelperGUI(QMainWindow):
self.management_container_groupbox.setVisible(True)
# По умолчанию выбираем первый элемент в списке, если он есть.
if self.created_prefix_selector.count() > 0:
self.created_prefix_selector.setCurrentIndex(0)
else:
# Если список пуст, убедимся, что панель управления сброшена.
self.on_created_prefix_selected(-1)
def on_created_prefix_selected(self, index):
"""Обрабатывает выбор префикса из выпадающего списка."""
if index == -1:
@@ -4111,13 +4110,18 @@ class WineHelperGUI(QMainWindow):
self._load_created_prefixes()
new_prefix_name = None
selected_new = False
if new_prefixes:
# Обычно создается один префикс, берем первый из найденных
# Обычно создается один префикс, берем первый из найденных.
new_prefix_name = new_prefixes.pop()
# Находим и выбираем его в выпадающем списке
# Находим и выбираем его в выпадающем списке.
index = self.created_prefix_selector.findText(new_prefix_name)
if index != -1:
self.created_prefix_selector.setCurrentIndex(index)
selected_new = True
if not selected_new and self.created_prefix_selector.count() > 0:
self.created_prefix_selector.setCurrentIndex(0)
# --- Конец обновления списка префиксов ---
# Создаем кастомный диалог, чтобы кнопка была на русском