diff --git a/core/updater.py b/core/updater.py index 874b440..b3a5ab2 100644 --- a/core/updater.py +++ b/core/updater.py @@ -269,6 +269,9 @@ class UpdateChecker: vbs_path = os.path.join(tmp_dir, "sm_update.vbs") pid = os.getpid() + # Clean up old PyInstaller _MEI dirs to avoid DLL conflicts + mei_dir = getattr(sys, '_MEIPASS', '') + bat_content = f"""@echo off :wait tasklist /fi "PID eq {pid}" 2>NUL | find "{pid}" >NUL @@ -276,11 +279,17 @@ if %ERRORLEVEL% == 0 ( timeout /t 1 /nobreak >NUL goto wait ) +timeout /t 2 /nobreak >NUL +if exist "{mei_dir}" rmdir /s /q "{mei_dir}" >NUL 2>NUL copy /Y "{new_exe}" "{current_exe}" >NUL if %ERRORLEVEL% NEQ 0 ( - exit /b 1 + timeout /t 3 /nobreak >NUL + copy /Y "{new_exe}" "{current_exe}" >NUL + if %ERRORLEVEL% NEQ 0 exit /b 1 ) +timeout /t 2 /nobreak >NUL start "" "{current_exe}" +del "{new_exe}" >NUL 2>NUL del "{bat_path}" del "%~f0" """ diff --git a/releases/ServerManager-v1.8.86-win-x64.exe b/releases/ServerManager-v1.8.86-win-x64.exe new file mode 100644 index 0000000..04f4d6d Binary files /dev/null and b/releases/ServerManager-v1.8.86-win-x64.exe differ diff --git a/version.py b/version.py index fefe4d5..0a44f1e 100755 --- a/version.py +++ b/version.py @@ -1,6 +1,6 @@ """Version info for ServerManager.""" -__version__ = "1.8.85" +__version__ = "1.8.86" __app_name__ = "ServerManager" __author__ = "aibot777" __description__ = "Desktop GUI for managing remote servers"