diff options
Diffstat (limited to 'manager')
-rw-r--r-- | manager/install.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/manager/install.go b/manager/install.go index 3983de1d..f1937d0a 100644 --- a/manager/install.go +++ b/manager/install.go @@ -56,6 +56,12 @@ func InstallManager() error { } if status.State != svc.Stopped { service.Close() + if status.State == svc.StartPending { + // We were *just* started by something else, so return success here, assuming the other program + // starting this does the right thing. This can happen when, e.g., the updater relaunches the + // manager service and then invokes wireguard.exe to raise the UI. + return nil + } return ErrManagerAlreadyRunning } err = service.Delete() |