From 28f0886b32ffdf7c5bdd80830f1eb9a8d5455b0d Mon Sep 17 00:00:00 2001 From: Exest Date: Fri, 31 Jul 2026 13:48:56 +0300 Subject: [PATCH] Fix auto-update exit crash after download (Application.Exit from async). Co-authored-by: Cursor --- src/ElectronicPharmacy/Form1.cs | 3 ++- src/ElectronicPharmacy/HelpForms/HF_UpdateAvailable.cs | 4 +++- src/ElectronicPharmacy/Properties/AssemblyInfo.cs | 4 ++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/ElectronicPharmacy/Form1.cs b/src/ElectronicPharmacy/Form1.cs index 1bde269..c40055e 100644 --- a/src/ElectronicPharmacy/Form1.cs +++ b/src/ElectronicPharmacy/Form1.cs @@ -80,7 +80,8 @@ namespace Электронная_Фармация dlg.ShowDialog(this); } - Application.Exit(); + // Жёстко завершаем процесс, чтобы updater смог заменить exe. + Environment.Exit(0); return; } } diff --git a/src/ElectronicPharmacy/HelpForms/HF_UpdateAvailable.cs b/src/ElectronicPharmacy/HelpForms/HF_UpdateAvailable.cs index 06c7b89..b92533f 100644 --- a/src/ElectronicPharmacy/HelpForms/HF_UpdateAvailable.cs +++ b/src/ElectronicPharmacy/HelpForms/HF_UpdateAvailable.cs @@ -53,8 +53,10 @@ namespace Электронная_Фармация.HelpForms { await AutoUpdater.ApplyUpdateAsync(_result, progress); lblMessage.Text = "Обновление скачано. Перезапуск..."; + // Нельзя звать Application.Exit() из async continuation — падает + // «коллекция была изменена». Закрываем диалог; Form1 завершит процесс. DialogResult = DialogResult.OK; - Application.Exit(); + Close(); } catch (Exception ex) { diff --git a/src/ElectronicPharmacy/Properties/AssemblyInfo.cs b/src/ElectronicPharmacy/Properties/AssemblyInfo.cs index 3c9714f..9026e6e 100644 --- a/src/ElectronicPharmacy/Properties/AssemblyInfo.cs +++ b/src/ElectronicPharmacy/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // // "*", : // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.13.0")] -[assembly: AssemblyFileVersion("1.0.13.0")] +[assembly: AssemblyVersion("1.0.14.0")] +[assembly: AssemblyFileVersion("1.0.14.0")]