diff --git a/src/Core/WinSWCore/XMLSchema.xsd b/src/Core/WinSWCore/XMLSchema.xsd index c540f81..4b834e1 100644 --- a/src/Core/WinSWCore/XMLSchema.xsd +++ b/src/Core/WinSWCore/XMLSchema.xsd @@ -1,48 +1,248 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + Specifies the ID that Windows uses internally to identify the service. + This has to be unique among all the services installed in a system, + and it should consist entirely out of alpha-numeric characters. + + + + + + + + Short display name of the service, which can contain spaces and other characters. + This shouldn't be too long, like <id>, and this also needs to be unique among all the services in a given system. + + + + + + + + Long human-readable description of the service. + This gets displayed in the Windows service manager when the service is selected. + + + + + + + + This element specifies the executable to be launched. + It can be either an absolute path, or you can just specify the executable name + and let it be searched from PATH (although note that the services often run in a + different user account and therefore it might have different PATH than your shell does.) + + + + + + + + This element specifies the arguments to be passed to the executable. + WinSW will quote each argument if necessary, + so do not put quotes in <argument> to avoid the double quotation. + Can use multiple elements to specify multiple argument. + + + + + + + + This element can be used instead of <argument> to specify the whole command line in a single element. + + + + + + + + Some services need to run with a working directory specified. + This element could be used for that. + + + + + + + + This Boolean option enables the delayed start mode if the Automatic start mode is defined. + For more information, see the source link. + + + + + + + + Specify IDs of other services that this service depends on. + When service X depends on service Y, X can only run if Y is running. + Multiple elements can be used to specify multiple dependencies. + + + + + + + + When you use the <stopargument>/<stoparguments>, you must use <startargument>/<startarguments> + instead of <argument> + + + + + + + + When you use the <stopargument>/<stoparguments> , you must use <startargument>/<startarguments> + instead of <argument> + + + + + + + + When the service is requested to stop, WinSW simply calls TerminateProcess function to kill the service instantly. + However, if <stopargument>/<stoparguments> elements are present, WinSW will instead launch another process of + <executable> (or <stopexecutable> if that's specified) with the specified arguments, + and expects that to initiate the graceful shutdown of the service process. + WinSW will then wait for the two processes to exit on its own, before reporting back to Windows that the service has terminated. + + + + + + + + When the service is requested to stop, WinSW first attempts to send a Ctrl+C signal, + then wait for up to 15 seconds for the process to exit by itself gracefully. + A process failing to do that (or if the process does not have a console), + then WinSW resorts to calling TerminateProcess function to kill the service instantly. + This optional element allows you to change this "15 seconds" value, so that you can control how long + WinSW gives the service to shut itself down. + + + + + + + + This optional element can be specified multiple times if necessary to specify environment variables + to be set for the child process. + + + + + + + + If this optional element is specified, the service will be allowed to interact with the desktop, + such as by showing a new window and dialog boxes. If your program requires GUI, set this like <interactive/> + + + + + + + + This optional repeatable element controls the behavior when the process launched by WinSW fails + (i.e., exits with non-zero exit code). + + + + + + + + The security descriptor string for the service in SDDL form. See more details on SDDL on source link. + + + + + + + + Optionally specify the scheduling priority of the service process (equivalent of Unix nice) + Possible values are idle, belownormal, normal, abovenormal, high, realtime (case insensitive.) + + + + + + + + Optionally specify the order of service shutdown. If true, the parent process is shutdown first. + This is useful when the main process is a console, which can respond to Ctrl+C command and will + gracefully shutdown child processes. + + + + + + + + This element specifies the start mode of the Windows service. + It can be one of the following values: Boot, System, Automatic, or Manual. + The default value is Automatic. + For more information on start mode see the source link. + + + + + + + + This optional element controls the timing in which Windows SCM resets the failure count. + For example, if you specify <resetfailure>1 hour </resetfailure> and your service continues + to run longer than one hour, then the failure count is reset to zero. This affects the + behavior of the failure actions (see <onfailure> above). + In other words, this is the duration in which you consider the service has been running successfully. Defaults to 1 day. + + + + + + + + + + + + + + + + + + + + + + + The service is installed as the LocalSystem account by default. + If your service does not need a high privilege level, consider using the LocalService account, + the NetworkService account or a user account. For more information read the source link. + + + - + @@ -53,6 +253,14 @@ + + + + Optionally set a different logging directory with <logpath> and startup mode: append (default), reset (clear log), ignore, roll (move to \*.old). + See the resource link for more info. + + + @@ -64,11 +272,40 @@ + + + + + + + + + This element specifies the directory in which the log files are created. + If this element is absent, it'll default to the same directory where the configuration file resides. + + + + + + + + + + + + + This optional element can be specified multiple times to have the service wrapper + retrieve resources from URL and place it locally as a file. This operation runs when + the service is started, before the application specified by executable is launched. + Read the source link for more details. + + + @@ -88,6 +325,15 @@ + + + + Starting from WinSW 2.0, the wrapper provides an internal extension engine and several extensions. + These extensions allow to alter the behavior of the Windows service in order to + setup the required service environment. Read the source link for more details. + + +