diff --git a/service.v b/service.v index 7eae002..adb00c7 100644 --- a/service.v +++ b/service.v @@ -37,14 +37,12 @@ pub fn service_install(config_path string, quiet bool) ! { } println(' Using nssm: ${nssm_exe}') - // Remove previous installs (both sc.exe and nssm) - os.execute('sc stop ${name} 2>nul') - os.execute('sc delete ${name} 2>nul') + // Clean up previous nssm install (NOT sc.exe — sc.exe can cause "marked for deletion") os.execute('"${nssm_exe}" stop ${name} 2>nul') os.execute('"${nssm_exe}" remove ${name} confirm 2>nul') - // Wait for SCM to release any "marked for deletion" state - time.sleep(1 * time.second) + // Wait for SCM to release + time.sleep(2 * time.second) // Install the service (retry up to 3 times for "marked for deletion") mut installed := false