aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/manager/install.go
diff options
context:
space:
mode:
Diffstat (limited to 'manager/install.go')
-rw-r--r--manager/install.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/manager/install.go b/manager/install.go
index 4a570297..2eddbbbe 100644
--- a/manager/install.go
+++ b/manager/install.go
@@ -9,6 +9,7 @@ import (
"errors"
"os"
"time"
+ "unsafe"
"golang.org/x/sys/windows"
"golang.org/x/sys/windows/svc"
@@ -165,6 +166,14 @@ func InstallTunnel(configPath string) error {
if err != nil {
return err
}
+ sidType := uint32(windows.SERVICE_SID_TYPE_UNRESTRICTED)
+ err = windows.ChangeServiceConfig2(service.Handle, windows.SERVICE_CONFIG_SERVICE_SID_INFO, (*byte)(unsafe.Pointer(&sidType)))
+ if err != nil {
+ service.Delete()
+ service.Close()
+ return err
+ }
+
err = service.Start()
go trackTunnelService(name, service) // Pass off reference to handle.
return err