## Launcher Wizard: Configure Service Options |

| In this step of the launcher wizard, you define further options for service executables. All options on this screen will only be enabled if the selected executable type in the "Executable" step is "Service". Note: this advanced option screen is reachable by selecting the executable step and choosing "Service options" from the [Advanced options] popup menu or by clicking directly on the index.

| The `Startup options` section is only relevant for Microsoft Windows. Windows services are registered by the installer. It is also possible to install services from the command line by passing `/install` to the generated service executable. The default start mode of the service can be determined in this section: Default start type Start on demand In start on demand mode, your service must be manually started by the user in the Windows service manager. Use this option, if you're not sure if your users will actually want to run your application as a service, but you want to give them an easy way to do so. This installation mode can be forced on the command line if the user passes `/install-demand` to the generated executable instead of `/install`. Auto start In auto start mode, your service is always started when Windows is booted. This installation mode can be forced on the command line if the user passes `/install-auto` to the generated executable instead of `/install`. Windows services are always uninstalled by passing `/uninstall` to the generated service executable. All command line switches also work with a prefixed dash instead of a slash (like `-uninstall`) or two prefixed dashes (like `--uninstall`). To start or stop the service, the `/start` and `/stop` options are available. In addition, a `/status` argument shows if the service is already running. The exit code of the status command is 0 when the service is running, 3 when it is not running and 1 when the state cannot be determined (for example when it is not installed on Windows). As a second parameter after the `/install` parameter, you can optionally pass a service name. In that way you can install a service with a different service name than the default name. Use the same service executable to start multiple services with different names. To distinguish several running service instances at runtime, you can query the system property `exe4j.launchName` for the service name. Note that you also have to pass the same service name as the second parameter if you use the `/uninstall`, `/start` and `/stop` parameters.

| For Unix service executables, the `start`, `stop` and `status` arguments are available for the generated start script. The stop command waits for the service to shut down. The exit code of the status command is 0 when the service is running and 3 when it is not running.

| If your service depends on another service, say a database, you can enter the service name (the name of the startup item on Mac OS X) of the other service in the platform specific `Dependencies` section. You do not have to enter core OS services such as filesystem or network, these services will always be initialized before your service is launched. If you have dependencies on multiple services, you can enter a list of these service names separated by commas. Text fields for specifying dependencies are available for Windows and Mac OS X. On Unix-like platforms, the start/stop script has to be integrated into the boot sequence by the administrator. In most cases, you can leave the dependencies empty.