From 400a078aecb526a6ae9504af9fd790788a74c7e7 Mon Sep 17 00:00:00 2001 From: mika kuns Date: Mon, 1 Jun 2026 12:21:56 +0200 Subject: [PATCH] refactor(installer): rename StopWorkerStep.TaskName to LegacyTaskName The schtasks delete is now only legacy-migration cleanup; current installs autostart via a Startup-folder shortcut. Clarifies the constant and comment. Co-Authored-By: Claude Opus 4.7 --- src/ClaudeDo.Installer/Core/UninstallRunner.cs | 7 ++++--- src/ClaudeDo.Installer/Steps/StopWorkerStep.cs | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/ClaudeDo.Installer/Core/UninstallRunner.cs b/src/ClaudeDo.Installer/Core/UninstallRunner.cs index 84fc1e2..f651553 100644 --- a/src/ClaudeDo.Installer/Core/UninstallRunner.cs +++ b/src/ClaudeDo.Installer/Core/UninstallRunner.cs @@ -34,9 +34,10 @@ public sealed class UninstallRunner $"Cannot uninstall: worker did not stop cleanly. {stopResult.ErrorMessage} " + "Kill the worker manually and re-run uninstall."); - // 3) Unregister the autostart task, and best-effort remove any legacy service. - progress.Report("Removing autostart task..."); - await ProcessRunner.RunAsync("schtasks.exe", $"/Delete /TN \"{StopWorkerStep.TaskName}\" /F", null, progress, ct); + // 3) Best-effort removal of the legacy scheduled task and Windows service + // (older installs; current installs autostart via a Startup-folder shortcut). + progress.Report("Removing legacy autostart task..."); + await ProcessRunner.RunAsync("schtasks.exe", $"/Delete /TN \"{StopWorkerStep.LegacyTaskName}\" /F", null, progress, ct); await ProcessRunner.RunAsync("sc.exe", "delete ClaudeDoWorker", null, progress, ct); // 3b) Remove Apps & Features registry entry (best-effort). diff --git a/src/ClaudeDo.Installer/Steps/StopWorkerStep.cs b/src/ClaudeDo.Installer/Steps/StopWorkerStep.cs index f132cdb..753249a 100644 --- a/src/ClaudeDo.Installer/Steps/StopWorkerStep.cs +++ b/src/ClaudeDo.Installer/Steps/StopWorkerStep.cs @@ -6,7 +6,7 @@ namespace ClaudeDo.Installer.Steps; public sealed class StopWorkerStep : IInstallStep { - public const string TaskName = "ClaudeDoWorker"; + public const string LegacyTaskName = "ClaudeDoWorker"; public const string ProcessName = "ClaudeDo.Worker"; public string Name => "Stop Worker";