An API exists in puppet which can be used to interface with service management in Windows, and satisfies the existing needs of the windows service provider.
win32-service has some ANSI API calls that may cause problems in a non-US language environment.
*In Scope* * Identify existing uses of the Win32::Service API, located primarily (if not entirely) in provider/service/windows * Create a new API implementation inside of puppet that meets these same requirements, using FFI or fiddle * For an example of a similar effort which defined an API replacing our need for Win32::EventLog, see https://github.com/puppetlabs/puppet/commit/a158879977570227c857ddf232bc00edac69e9fe * New API _must_ make use of the Unicode-compatible versions of functions in the Windows API