From d65c5566566884ff389816b07f777235703bb9ce Mon Sep 17 00:00:00 2001 From: Chris Kaczor Date: Tue, 27 Jan 2026 21:20:35 -0500 Subject: [PATCH] Try stopping service task before upgrade/uninstall --- StatusWindow/Program.cs | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/StatusWindow/Program.cs b/StatusWindow/Program.cs index e7949d6..b8d7023 100644 --- a/StatusWindow/Program.cs +++ b/StatusWindow/Program.cs @@ -1,4 +1,6 @@ -using Serilog; +using HardwareMonitorStatusWindow.Service; +using Microsoft.Win32.TaskScheduler; +using Serilog; using System; using System.Diagnostics; using Velopack; @@ -17,7 +19,30 @@ internal class Program Log.Information("Start"); - VelopackApp.Build().SetLogger(new SerilogVelopackLogger()).Run(); + var stopServiceHook = new VelopackHook(_ => + { + try + { + using var taskService = new TaskService(); + + Log.Information("Checking for task name: {name}", HardwareMonitorService.ScheduledTaskName); + + var existingTask = taskService.FindTask(HardwareMonitorService.ScheduledTaskName); + + Log.Information("Task: {existingTask}", existingTask); + + Log.Information("Stopping task"); + + existingTask?.Stop(); + } + catch (Exception exception) + { + // Ignored + Log.Error(exception, ""); + } + }); + + VelopackApp.Build().OnBeforeUpdateFastCallback(stopServiceHook).OnBeforeUninstallFastCallback(stopServiceHook).SetLogger(new SerilogVelopackLogger()).Run(); var app = new App(); app.InitializeComponent();