Compare commits

...

13 Commits
0.8.4 ... 0.8.6

Author SHA1 Message Date
Mikhail Tergoev
bcf53c361c updated ksamu (test without cades) 2025-12-23 14:34:53 +03:00
Mikhail Tergoev
5b38f2c10d added variables for enable/disable decorated 2025-12-23 14:31:44 +03:00
Mikhail Tergoev
aec21eda1e added wine-10.18.1-alt1-wow64 2025-12-23 12:18:07 +03:00
Mikhail Tergoev
f8ce14d725 added new default variables 2025-12-22 14:35:49 +03:00
Mikhail Tergoev
ce1fb05fc7 install win cades if WH_USE_CPCSP_CADES=1 2025-12-22 14:24:18 +03:00
Mikhail Tergoev
659b0b1f5b added more 32-bit dependencies 2025-12-19 12:42:01 +03:00
Mikhail Tergoev
3732f71b7b added version WH to log 2025-12-18 20:36:01 +03:00
Mikhail Tergoev
d4f2d367b5 Merge branch 'minergenon-devel' 2025-12-18 12:31:35 +03:00
Mikhail Tergoev
a75e6c4f83 added sorting for variables in log file 2025-12-18 12:31:14 +03:00
Sergey Palcheh
fd2759f52b horizontal scrollbar disabled:
- the Installed tab in the Wine version selection dialog
- download bookmarks (WINE AMD64, WINE WOW64, WINE I586)
- dialog for selecting the component version (DXVK/VKD3D)
- tabs of the main window: Automatic installation, Manual installation, Installed
2025-12-18 11:28:38 +06:00
Mikhail Tergoev
06f3cbaf68 dropped force WINE_D3D_CONFIG for wayland 2025-12-17 22:40:43 +03:00
Mikhail Tergoev
cf375cc5c4 updated CPCSP_PROXY_WOW64_VER to 0.7.7-alt1-wow64 2025-12-17 22:28:55 +03:00
Mikhail Tergoev
681d80f0d8 ppdgr2: temporary printing fix 2025-12-17 22:10:10 +03:00
6 changed files with 88 additions and 41 deletions

View File

@@ -22,8 +22,8 @@ windows приложения. Подробнее по ссылке: https://www.
# fonts-ttf-ms
apt-get install {i586-,}{glibc-core,libstdc++6,glibc-pthread,glibc-nss,\
libnss-mdns,libunixODBC2,ocl-icd,libfreetype,libfontconfig1,\
libgnutls30,libGL,libEGL,xorg-dri-swrast,xorg-dri-intel,xorg-dri-radeon,\
libvulkan1,libcups} || fatal "Не удалось установить зависимости."
libnm,libnss,libnss-mdns,libnsl1,libunwind,libunixODBC2,ocl-icd,libfreetype,\
libcups,libfontconfig1,libgnutls30,libGL,libEGL,libvulkan1,xorg-dri-swrast,\
xorg-dri-intel,xorg-dri-radeon} || fatal "Не удалось установить зависимости."
apt-get install {i586-,}wine

View File

@@ -1,6 +1,7 @@
##### WINE WOW64 #####
e9a8b79dfe12cad1304dca573d73aefe109e3d69b6fff739c8dbb8b2d3c271c6 wine-10.12.1-alt1-wow64.tar.xz
a862761c432f8619caf8100589678a1cbb523787259120ccd4388089d81e3b17 wine-10.18.1-tflex-alt2-wow64.tar.xz
349c707148a23e667970309248bbbf97b4e2a0db59c548e73d9fe9c3f585872c wine-10.18.1-alt1-wow64.tar.xz
##### WINE AMD64 #####
009c95bfe2df3f9264c9c5092f3e30ea7a168dd7869046058a718a70739602d4 wine_wh_tflex_10-9_amd64.tar.xz
@@ -114,6 +115,7 @@ edf16d2b37bc77d121d5d81b06b60d3f694e0060c6606e729ceab30de3d27466 vkd3d-proton-s
##### CPCSP_PROXY #####
3153088ff28d6af415c3504a421e5382554dbb305f38d5a87dd84df90d680421 wine-cpcsp_proxy-0.6.1-alt1.tar.xz
fbe72bfe3c2c307363782ce2d37589e142b44111f269657b0e516a6b2d6ab8a9 wine-cpcsp_proxy-0.7.3-alt5-wow64.tar.xz
6f43427148c6f424cd49a406328669e4ec4f21df7bc86f1a6aad2b5c16b50e39 wine-cpcsp_proxy-0.7.7-alt1-wow64.tar.xz
##### FONTS #####
405bfe3b7c7f80034837c05656535053305727ee4bf1d993521b67b71d08ebc6 extra_fonts_v01.tar.xz

View File

@@ -2,7 +2,7 @@
# info_ru: “КСАМУ” - Комплексная система автоматизации медицинского учреждения.
########################################################################
export PROG_URL="https://docs.medicine-it.ru/"
export WH_WINE_USE="wine-10.12.1-alt1-wow64"
export WH_WINE_USE="wine-10.18.1-alt1-wow64"
export WINEPREFIX="ksamu"
export PROG_NAME="КСАМУ"
export PROG_ICON="ksamu"
@@ -13,6 +13,10 @@ export INSTALL_DLL="richtx32 riched20 riched30 msls31 msftedit msxml6 msxml4 msx
export WH_USE_EXTRA_FONTS="1"
export WH_WINDOWS_VER="7"
export WH_USE_CPCSP_PROXY="1"
export WH_USE_CPCSP_CADES="0"
export WINE_D3D_CONFIG="renderer=gdi"
export WH_MAIN_DECORATED="1"
export WH_MC_DECORATED="1"
prepair_wine
create_desktop "$PROG_NAME" "$DRIVE_C/KSAMU/KSAMU.exe" "$PROG_ICON"

View File

@@ -10,7 +10,8 @@ export BASE_PFX="defpfx_dn48_x86_v01"
export WINEARCH="win32"
export INSTALL_DLL="dotnet48 msxml3 msxml4 msxml6 corefonts lucida wsh57 vcrun6 jet40 gdiplus"
export WH_WINDOWS_VER="10"
var_winedlloverride_update "msxml4=b,wininet=b"
export WH_USE_EXTRA_FONTS="1"
var_winedlloverride_update "gdiplus,msxml3,wininet=b;msxml4=n"
try_get_page "https://www.nalog.gov.ru/rn77/program/5961277/"
VER_MSI_SLASH=$(read_page | grep -oP 'href="\K[^"]*.msi[^"]*' | awk -F'/' '{print $(NF-1)}' | head -n 1)

View File

@@ -143,10 +143,13 @@ check_variables WH_WINE_USE "wine_x_tkg_10-0_amd64" # or system
check_variables WH_USE_CPCSP_PROXY "0"
check_variables CPCSP_PROXY_X86_64_VER "0.6.1-alt1"
check_variables CPCSP_PROXY_WOW64_VER "0.7.3-alt5-wow64"
check_variables CPCSP_PROXY_WOW64_VER "0.7.7-alt1-wow64"
check_variables WH_USE_CPCSP_CADES "0"
check_variables WH_USE_EXTRA_FONTS "0"
check_variables EXTRA_FONTS_VER "01"
check_variables WH_FONT_MSS_REPLACE "0"
check_variables WH_FONT_SMOOTHING "0"
check_variables STAGING_SHARED_MEMORY "1"
check_variables WINE_LARGE_ADDRESS_AWARE "1"
@@ -162,6 +165,8 @@ check_variables WH_USE_SHADER_CACHE "1"
check_variables WH_USE_MESA_GL_OVERRIDE "0"
check_variables WH_USE_WINE_DXGI "0"
check_variables WH_DLL_INSTALL ""
check_variables WH_MAIN_DECORATED "default"
check_variables WH_MC_DECORATED "default"
check_variables WINE_WIN_START "start /wait /high /unix"
@@ -205,8 +210,9 @@ su_run () {
# fonts-ttf-ms
if ! rpm -q {i586-,}{wine,glibc-core,libstdc++6,glibc-pthread,glibc-nss,\
libnss-mdns,libunixODBC2,ocl-icd,libfreetype,libfontconfig1,libgnutls30,libGL,\
libEGL,xorg-dri-swrast,xorg-dri-intel,xorg-dri-radeon,libvulkan1,libcups} 1>/dev/null
libnm,libnss,libnss-mdns,libnsl1,libunwind,libunixODBC2,ocl-icd,libfreetype,\
libcups,libfontconfig1,libgnutls30,libGL,libEGL,libvulkan1,xorg-dri-swrast,\
xorg-dri-intel,xorg-dri-radeon} 1>/dev/null
then
if su_run "$DATA_PATH/dependencies.sh"
then print_info "Зависимости успешно установлены. Продолжаем работу $SCRIPT_NAME"
@@ -1211,13 +1217,6 @@ init_wineprefix () {
unset WINE_WAYLAND_HACKS
get_and_set_reg_file --delete 'Software\Wine\Drivers' 'Graphics'
fi
# исправляем некорректное отображение выпадающих окон под wayland
if [[ $DXVK_VER == "none" ]] \
|| [[ $VKD3D_VER == "none" ]]
then
check_variables WINE_D3D_CONFIG "renderer=vulkan"
fi
fi
# хак для XRDP сессии
@@ -1230,20 +1229,29 @@ init_wineprefix () {
get_and_set_reg_file --delete 'Software\Wine\X11 Driver' 'UseXVidMode'
fi
if [[ $WH_MC_NO_DECORATED = "1" ]] ; then
# отключаем декоратор для maincontroller.exe
# заменяет патч: https://git.altlinux.org/gears/w/wine.git?p=wine.git;a=blob;f=patches/0009-wine.inf.in-disable-decorated-window-for-maincontrol.patch;h=887a5e90e130cddeefdead831ef7a78a32588f11;hb=d097f4e4b64873c82ec31542c6f49f70829ab2b4
get_and_set_reg_file --add 'Software\Wine\AppDefaults\maincontroller.exe\X11 Driver' 'Decorated' 'REG_SZ' "N" "user"
# управляем декоратором для ПО по умолчанию
if [[ $WH_MAIN_DECORATED = "0" ]] ; then
get_and_set_reg_file --add 'Software\Wine\X11 Driver' 'Decorated' 'REG_SZ' "N" "user"
elif [[ $WH_MAIN_DECORATED = "1" ]] ; then
get_and_set_reg_file --add 'Software\Wine\X11 Driver' 'Decorated' 'REG_SZ' "Y" "user"
fi
# управляем декоратором для maincontroller.exe
if [[ $WH_MC_DECORATED = "0" ]] ; then
# заменяет патч: https://git.altlinux.org/gears/w/wine.git?p=wine.git;a=blob;f=patches/0009-wine.inf.in-disable-decorated-window-for-maincontrol.patch;h=887a5e90e130cddeefdead831ef7a78a32588f11;hb=d097f4e4b64873c82ec31542c6f49f70829ab2b4
get_and_set_reg_file --add 'Software\Wine\AppDefaults\maincontroller.exe\X11 Driver' 'Decorated' 'REG_SZ' "N" "user"
elif [[ $WH_MC_DECORATED = "1" ]] ; then
get_and_set_reg_file --add 'Software\Wine\AppDefaults\maincontroller.exe\X11 Driver' 'Decorated' 'REG_SZ' "Y" "user"
fi
# заменям шрифт Microsoft Sans Serif на Tahoma
if [[ $WH_FONT_MSS_REPLACE = "1" ]] ; then
# заменям шрифт Microsoft Sans Serif на Tahoma
# заменяет патч: https://git.altlinux.org/gears/w/wine.git?p=wine.git;a=blob;f=patches/0003-wine.inf-Add-the-font-replacement-for-Microsoft-Sans.patch;h=26b8ae2192d94a2b8ddd8565b90b62a2c2b0ed52;hb=d097f4e4b64873c82ec31542c6f49f70829ab2b4
get_and_set_reg_file --add 'Software\Wine\Fonts\Replacements' 'Microsoft Sans Serif' 'REG_SZ' "Tahoma" "user"
fi
# добавляем сглаживание шрифтов
if [[ $WH_FONT_SMOOTHING = "1" ]] ; then
# добавляем сглаживание шрифтов
# заменяет патч: https://git.altlinux.org/gears/w/wine.git?p=wine.git;a=blob;f=patches/0002-Add-font-smoothing.patch;h=d7c252899499e9ee0e1a93f7c02548cc79025358;hb=d097f4e4b64873c82ec31542c6f49f70829ab2b4
get_and_set_reg_file --add 'Control Panel\Desktop' 'FontSmoothing' 'REG_SZ' "2" "user"
get_and_set_reg_file --add 'Control Panel\Desktop' 'FontSmoothingGamma' 'REG_DWORD' "0x00000578" "user"
@@ -1298,24 +1306,26 @@ init_wineprefix () {
# настраиваем префикс для работы с cpcsp_proxy
if [[ $WH_USE_CPCSP_PROXY == "1" ]] ; then
local cades_ver="release_2_0_14892"
local url_cades_dll="https://cryptopro.ru/sites/default/files/products/cades/$cades_ver"
if [[ $WH_USE_CPCSP_CADES == "1" ]] ; then
local cades_ver="release_2_0_14892"
local url_cades_dll="https://cryptopro.ru/sites/default/files/products/cades/$cades_ver"
if [[ ! -d "$DRIVE_C/Program Files (x86)/Common Files/Crypto Pro/Shared/" ]]
then
local msi_cades32="cades-win32.msi"
try_download cloud "$url_cades_dll/$msi_cades32" "$WH_TMP_DIR/$msi_cades32"
print_info "Установка КриптоПро ЭЦП Runtime ($msi_cades32)"
WINEDLLOVERRIDES="msxml3=b" wine_run "$WH_TMP_DIR/$msi_cades32" /q
fi
if [[ ! -d "$DRIVE_C/Program Files (x86)/Common Files/Crypto Pro/Shared/" ]]
then
local msi_cades32="cades-win32.msi"
try_download cloud "$url_cades_dll/$msi_cades32" "$WH_TMP_DIR/$msi_cades32"
print_info "Установка КриптоПро ЭЦП Runtime ($msi_cades32)"
WINEDLLOVERRIDES="msxml3=b" wine_run "$WH_TMP_DIR/$msi_cades32" /q
fi
if [[ "$WINEARCH" == "win64" ]] \
&& [[ ! -d "$DRIVE_C/Program Files/Common Files/Crypto Pro/Shared" ]]
then
local msi_cades64="cades-x64.msi"
try_download cloud "$url_cades_dll/$msi_cades64" "$WH_TMP_DIR/$msi_cades64"
print_info "Установка КриптоПро ЭЦП Runtime ($msi_cades64)"
WINEDLLOVERRIDES="msxml3=b" wine_run "$WH_TMP_DIR/$msi_cades64" /q
if [[ "$WINEARCH" == "win64" ]] \
&& [[ ! -d "$DRIVE_C/Program Files/Common Files/Crypto Pro/Shared" ]]
then
local msi_cades64="cades-x64.msi"
try_download cloud "$url_cades_dll/$msi_cades64" "$WH_TMP_DIR/$msi_cades64"
print_info "Установка КриптоПро ЭЦП Runtime ($msi_cades64)"
WINEDLLOVERRIDES="msxml3=b" wine_run "$WH_TMP_DIR/$msi_cades64" /q
fi
fi
if ! grep -q "cpcsp_proxy.dll" "$WINEPREFIX/system.reg" ; then
@@ -1326,11 +1336,15 @@ init_wineprefix () {
try_copy_wine_dll_to_pfx_32 "cpcsp_proxy.dll"
if [[ $WH_WINE_WOW64 == "1" ]] ; then
print_info "Запускаем регистрацию 64-битного cpcsp_proxy.dll..."
env WINEDEBUG="fixme-all" "$WINE" "C:\\windows\\system32\\regsvr32.exe" \
/s /n /i cpcsp_proxy.dll 2>&1 | tee "$WINEPREFIX/cpcsp_setup.log"
wait_wineserver
print_info "Запускаем регистрацию 32-битного cpcsp_proxy.dll..."
env WINEDEBUG="fixme-all" "$WINE" "C:\\windows\\syswow64\\regsvr32.exe" \
/s /n /i cpcsp_proxy.dll 2>&1 | tee -a "$WINEPREFIX/cpcsp_setup.log"
wait_wineserver
else
try_copy_wine_dll_to_pfx_64 "cpcsp_proxy_setup.exe"
try_copy_wine_dll_to_pfx_32 "cpcsp_proxy_setup.exe"
@@ -1356,7 +1370,6 @@ init_wineprefix () {
fi
try_remove_file "$WINEPREFIX/cpcsp_setup.log"
wait_wineserver
if [[ $CPCSP_PROXY_OK == "1" ]]
then print_info "Настройка cpcsp_proxy успешно завершена."
else fatal "Ошибка во время настройки cpcsp_proxy."
@@ -1549,13 +1562,17 @@ wine_run () {
create_new_dir "$log_dir"
date > "$log_file"
echo -e "\n##### Версия установленного WineHelper #####" | tee -a "$log_file"
rpm -q winehelper | tee -a "$log_file"
print_warning "Включен режим логирования работы WINE."
print_warning "Лог будет сохранен по пути: $log_file"
echo "##### Основные переменные #####" | tee -a "$log_file"
env | grep -e "WH_" -e "WINE" -e "DXVK" -e "VKD3D" | tee -a "$log_file"
echo "##### Лог WINE #####" | tee -a "$log_file"
echo -e "\n##### Основные переменные #####" | tee -a "$log_file"
env | grep -e "WH_" -e "WINE" -e "DXVK" -e "VKD3D" -e "LD_" \
| grep -v "ICON" | sort | tee -a "$log_file"
echo -e "\n##### Лог WINE #####" | tee -a "$log_file"
$MANGOHUD_RUN "$WINELOADER" $wh_add_args "$win_file_exec" "$@" $LAUNCH_PARAMETERS 2>&1 | tee -a "$log_file"
else
$MANGOHUD_RUN "$WINELOADER" $wh_add_args "$win_file_exec" "$@" $LAUNCH_PARAMETERS

View File

@@ -1224,6 +1224,7 @@ class WineVersionSelectionDialog(QDialog):
installed_layout = QVBoxLayout(installed_tab)
installed_scroll_area = QScrollArea()
installed_scroll_area.setWidgetResizable(True)
installed_scroll_area.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
installed_layout.addWidget(installed_scroll_area)
installed_content = QWidget()
installed_scroll_area.setWidget(installed_content)
@@ -1296,6 +1297,7 @@ class WineVersionSelectionDialog(QDialog):
scroll_area = QScrollArea()
scroll_area.setWidgetResizable(True)
scroll_area.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
tab_layout.addWidget(scroll_area)
scroll_content = QWidget()
@@ -1724,6 +1726,7 @@ class ComponentVersionSelectionDialog(QDialog):
self.scroll_area = QScrollArea()
self.scroll_area.setWidgetResizable(True)
self.scroll_area.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
main_layout.addWidget(self.scroll_area)
scroll_content = QWidget()
@@ -2399,7 +2402,27 @@ class WineHelperGUI(QMainWindow):
scroll_area = QScrollArea()
scroll_area.setWidgetResizable(True)
scroll_area.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
scroll_area.setContentsMargins(0, 0, 0, 0)
# Уменьшаем ширину вертикального скроллбара
scroll_area.setStyleSheet("""
QScrollBar:vertical {
width: 10px;
background: transparent;
margin: 0px;
}
QScrollBar::handle:vertical {
background: #555;
min-height: 20px;
border-radius: 5px;
}
QScrollBar::handle:vertical:hover {
background: #666;
}
QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical {
height: 0px;
}
""")
layout.addWidget(scroll_area)
scroll_content_widget = QWidget()