Skip to content
Gerry Weißbach edited this page Aug 13, 2019 · 2 revisions

Services are daemonized programs usually running in the system scope.

It is recommended to have only one service per application installation package.

The following options are available to services:

service {

    displayName   = "My Application Service" 
    
    description   = "This is an Application service"
    
    // optional, main jar file of the service. Defaults to setupBuilder.mainJar
    mainJar       = "MyApplication.jar"
    
    // optional, main class of the service. Defaults to setupBuilder.mainClass
    mainClass     = "com.application.my.Service"

    // an alternative executable. Overrides the mainJar and mainClass
    // either relative to installation root or absolute
    executable    = "myexecutable"

    // The working directory of the service, relative to installation root
    workDir        = "."
    
    // optional, additional arguments to start the service with
    startArguments = "--open"
}

Please note, that several options default to the one defined by the setupBuilder base.

The following options extend the service functionality.

service {

	// optional, name of the resulting service. Defaults to setupBuilder.appIdentifier
	// must not contain spaces.
	id = "My-Service"
	
	// optional, name of the wrapper run as daemon. Defaults to {setupBuilder.appIdentifier}-service
	wrapper = "My-Service-service"

	// true (default), if the service should start while booting
	startOnBoot = true;

	// true, if the service should be kapt alive even though it crashed.
	keepAlive = false;
}

Hints

Property: wrapper

Currently only used in the Windows Builder task. The service.wrapper is being used for the service executable name.

Property: executable

Currently only used in the macOS Builder task while creating a service.