diff --git a/manager/install_windows.go b/manager/install_windows.go index 7ebfac3..5349fd5 100644 --- a/manager/install_windows.go +++ b/manager/install_windows.go @@ -151,12 +151,22 @@ func list(c *service.Service) ([]string, []string, []error) { others := []string{} for i := range regs { reg := regs[i] + if 0 == len(cfgs) { + others = append(others, reg) + continue + } + + var found bool for j := range cfgs { cfg := cfgs[j] - if reg != cfg.Title { - others = append(others, reg) + // Registry Value Names are case-insensitive + if strings.ToLower(reg) == strings.ToLower(cfg.Title) { + found = true } } + if !found { + others = append(others, reg) + } } return managed, others, errs @@ -218,7 +228,7 @@ func listConfigs(c *service.Service) ([]winConf, []error) { srvs := []winConf{} for i := range infos { filename := strings.ToLower(infos[i].Name()) - if len(filename) <= srvLen || !strings.HasSuffix(srvExt, filename) { + if len(filename) <= srvLen || !strings.HasSuffix(filename, srvExt) { continue } @@ -232,8 +242,8 @@ func listConfigs(c *service.Service) ([]winConf, []error) { }) continue } - cfg := &winConf{Filename: filename} - err = json.Unmarshal(b, cfg) + cfg := winConf{Filename: filename} + err = json.Unmarshal(b, &cfg) if nil != err { errs = append(errs, &ManageError{ Name: name, @@ -243,10 +253,10 @@ func listConfigs(c *service.Service) ([]winConf, []error) { continue } - srvs = append(srvs) + srvs = append(srvs, cfg) } - return srvs, nil + return srvs, errs } func listRegistry(c *service.Service) ([]string, error) { diff --git a/serviceman.go b/serviceman.go index 847abf1..5bff7ee 100644 --- a/serviceman.go +++ b/serviceman.go @@ -306,7 +306,7 @@ func add() { servicemode = "SYSTEM" } fmt.Printf( - "SUCCESS:\n\n\t%q started as a %q %s service, running as %q\n", + "SUCCESS:\n\n\t%q started as a %s %s service, running as %q\n", conf.Name, servicetype, servicemode,