diff --git a/app/GHelper.csproj b/app/GHelper.csproj index a9d436bc..b0e6e7d4 100644 --- a/app/GHelper.csproj +++ b/app/GHelper.csproj @@ -15,7 +15,7 @@ AnyCPU False True - 0.127 + 0.128 diff --git a/app/Helpers/Startup.cs b/app/Helpers/Startup.cs index e0639bdc..7a8b00c2 100644 --- a/app/Helpers/Startup.cs +++ b/app/Helpers/Startup.cs @@ -10,8 +10,8 @@ public class Startup public static bool IsScheduled() { - TaskService taskService = new TaskService(); - return (taskService.RootFolder.AllTasks.Any(t => t.Name == taskName)); + using (TaskService taskService = new TaskService()) + return (taskService.RootFolder.AllTasks.Any(t => t.Name == taskName)); } public static void ReScheduleAdmin() @@ -23,6 +23,26 @@ public class Startup } } + public static void StartupCheck() + { + using (TaskService taskService = new TaskService()) + { + var task = taskService.RootFolder.AllTasks.FirstOrDefault(t => t.Name == taskName); + if (task != null) + { + string strExeFilePath = Application.ExecutablePath.Trim(); + string action = task.Definition.Actions.FirstOrDefault()!.ToString().Trim(); + if (!strExeFilePath.Equals(action, StringComparison.OrdinalIgnoreCase)) + { + Logger.WriteLine(action); + Logger.WriteLine("Rescheduling to: " + strExeFilePath); + UnSchedule(); + Schedule(); + } + } + } + } + public static void Schedule() { diff --git a/app/Program.cs b/app/Program.cs index 5127a510..b068f834 100644 --- a/app/Program.cs +++ b/app/Program.cs @@ -265,6 +265,9 @@ namespace GHelper settingsForm.FansToggle(2); modeControl.SetRyzen(); break; + default: + Startup.StartupCheck(); + break; } } }