Skip to content

Conversation

@nxtn
Copy link

@nxtn nxtn commented Aug 6, 2020

WinSW 2 carries a logging framework so the binary is a bit larger.

Also removes .NET 2 support. Who is using .NET 2 these days?

Fixes #47


Bug fixes

  • Prevent CPU overutilization when waiting for the process to exit.
  • Properly retrieve waithint, sleeptime, resetfailure, and stoptimeout options from XML configs with metadata before settings.
  • Print warnings in the uninstall command when the service cannot be uninstalled immediately.
  • Prevent failure when stoparguments are defined without stopexecutable in the XML file.
  • Prevent failure during process termination if child processes cannot be retrieved due to the pending system shutdown.
  • Security: Do not dump WinSW environment variables to the Event log.
  • Do not propagate exceptions from Process.Kill() if the process actually exits.

Compatibility notes

  • WinSW v2 is fully compatible with WinSW v1 in terms of the command-line interface and configuration files.
@coreybutler
Copy link
Owner

I'll consider this, depending on how much time I get. I've been working on an alternative to winsw, so this may not be necessary.

@nxtn
Copy link
Author

nxtn commented Aug 6, 2020

We're now building WinSW 3, and it's surprising to see this project is still using WinSW 1. A large number of issues in this repo have been resolved in the upstream.

I've been working on an alternative to winsw

Why reinvent the wheel? Is it written in Golang?

@coreybutler
Copy link
Owner

Yes, alternative is in Go. It's not recreating the wheel for me, because I'm building it for another effort.

Again, not opposed to merging this, I just need to test it/confirm and make sure I can continue to support it.

@nxtn
Copy link
Author

nxtn commented Aug 11, 2020

Sounds good. I'm also considering rewriting WinSW in a different language, but I don't regard Go as a competitive choice. I would prefer a native language like Rust this time.

@udany
Copy link

udany commented Dec 7, 2020

Would this also address issue #53 and allow node-windows to set a StartupType?

@nxtn
Copy link
Author

nxtn commented Dec 8, 2020

Would this also address issue #53 and allow node-windows to set a StartupType?

Yeah. There may be more ancient issues fixed

@terryaney
Copy link

WinSW 2 carries a logging framework so the binary is a bit larger.

Also removes .NET 2 support. Who is using .NET 2 these days?

Fixes #47

Bug fixes

  • Prevent CPU overutilization when waiting for the process to exit.
  • Properly retrieve waithint, sleeptime, resetfailure, and stoptimeout options from XML configs with metadata before settings.
  • Print warnings in the uninstall command when the service cannot be uninstalled immediately.
  • Prevent failure when stoparguments are defined without stopexecutable in the XML file.
  • Prevent failure during process termination if child processes cannot be retrieved due to the pending system shutdown.
  • Security: Do not dump WinSW environment variables to the Event log.
  • Do not propagate exceptions from Process.Kill() if the process actually exits.

Compatibility notes

  • WinSW v2 is fully compatible with WinSW v1 in terms of the command-line interface and configuration files.

Curious. I looked at the commit. All the 'Bug Fixes' listed here. Those are fixes in WinSW I assume? Since commit simply updated the executable.

@gcoon151
Copy link

gcoon151 commented Jul 2, 2025

@coreybutler did you move to the go solution or solve the .net 4.x problem another way?

@coreybutler
Copy link
Owner

@gcoon151 I've not moved on this at all. This library has an extremely outdated code base with outdated dependencies. It still works, but it really needs a fresh sweep. I intend to create something new, but I'm not entirely sure what form that will take.

I'm increasingly of the mindset that service management should be a standalone tool, not an embeddable module. There's a lot of overlap with NVM for Windows, or more specifically, the work we're doing on the successor project (Runtime/Author). That's the direction I'm exploring at the moment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

5 participants