Settings Tab
Previous Topic  Next Topic 


The Settings Tab defines a myriad of service options. The tab has three sections: General, Logon and Service Lifecycle.



General Section


Field

Purpose

Show Window

Choose the display mode of the Interactive Service: Normal, Hidden (silently causes the Interact with Desktop field to have no effect), Minimized and Maximized. Some applications may not respond to this setting.

Load Order Group

Places the service in a Load Order Group with other services so that other services can be dependant on it. The naming conventions relating to Short Name apply here.


Logon Section


Field

Purpose

Logon Account

The name of the Windows user account that will own the sub-process when it is run. This can either be a local or domain account. The account will be automatically granted Logon As A Service rights. Local accounts take the form .\account. Domain accounts take the form DOMAIN\account (legacy NetBIOS parlance) or domain.com\account (Active Directory parlance). If this is left blank the service will run as the LocalSystem user. A service may run as a user other than LocalSystem and interact with the desktop providing it is a member of domain or local Administrators group.


Note: Where an account other than LocalSystem is used to run the service, FireDaemon Pro automatically grants that account certain security privileges, namely SeServiceLogonRight, and SeTcbPrivilege. If the application is configured to interact with the desktop, a further four privileges are also granted, these being SeCreateTokenPrivilege, SeAssignPrimaryTokenPrivilege, SeIncreaseQuotaPrivilege, and SeDebugPrivilege.

Password

Password for the local or domain users account. If the user's password is changed locally or on the Domain Controller, then you will need to modify this field and reinstall the service to reflect the change otherwise the service will fail to start due to incorrect authorisation credentials.

Confirm Password

Used to verify that the password entered in the field above is correct. If the passwords dont match, the service will not install.

Interact With Desktop

When checked, this allows the service to interact with the desktop of the currently logged in user. Remember that services run in a different security context so their visibility is not always assured especially when used in conjunction with Remote Desktop. A service may run under an account other than the LocalSystem account, with the Interact with Desktop option enabled. The application will only be visible if the logon account is a member of the local or domain Administrators group. Session 0 Isolation in Windows Vista, Server 2008 and Windows 7 may further affect application visibility.


Service Lifecycle Section


Field

Purpose

Start-Up Mode

This determines how the Service Control Manager treats the service when it is first created, and whenever the machine boots up. The mode can be one of: Manual, Automatic, Automatic (Delayed-Start) or Disabled. Automatic (Delayed-Start) is only available on Windows Vista, Server 2008 and Windows 7.

Upon Program Exit

This option provides granular restart control if the sub-process terminates intentionally or unexpectedly. Six options are available:


  1. Disabled: sub-process monitoring is disabled, and no reporting is performed.
  2. Restart the Program: attempt to restart the program again. These attempts are noted in the Event Log
  3. Terminate FireDaemon: FireDaemon Pro will hard exit. This allows control to be handed back to the Service Control Manager and for a restart to be performed by it in preference. When you specify this option the restart options in the Recovery tab are applied.
  4. Shutdown FireDaemon: FireDaemon Pro will terminate gracefully and execute any Post-Service applications (if defined)
  5. Report the Termination (no restart): the failure will simply be noted in the Event Log.
  6. Reboot. The computer will be rebooted.

Monitoring Interval

This is the number of milliseconds FireDaemon Pro will wait between probes of the sub-process to determine its running state. Thus a smaller value will cause FireDaemon Pro to check its sub-process more frequently. The minimum value for this setting is 50 msec. Note that on service start, FireDaemon Pro will wait for the Monitoring Interval to elapse before making the first check.

Flap Detection

This option is only enabled where sub-process restarts are selected in Upon Program Exit. Its purpose is to set an upper limit on the number of restarts that FireDaemon Pro will perform during the startup phase of the sub-process. Flaps are noted in the Debug log. Should the upper limit ever be reached, the selected action will be taken, namely:


  1. Terminate Process after: FireDaemon Pro will continue to run, but no further restarts are performed. The  restart count will be reset back to zero if the service is restarted manually or as part of a scheduled restart.
  2. Terminate FireDaemon: FireDaemon Pro will exit immediately. Any Post-Service applications are NOT invoked. Actions specified in the Recovery settings will initiated.
  3. Shutdown FireDaemon: FireDaemon Pro will terminate gracefully and execute any Post-Service applications (if defined).


Note that Flap Detection is only applicable when the sub-process is initially launched. Once the process has been launched successfully, a PID has been assigned and the sub-process has been running stably for a period greater than the Monitoring Interval then Flap Detection is deactivated.

Flap Detection Retries

Where Flap Detection is enabled, this setting specifies the upper limit on the number of sub-process restarts.

Fail Detection

This option is only enabled where sub-process restarts are selected in Upon Program Exit. Its purpose is to set an upper limit on the number of restarts that FireDaemon Pro will perform during the entire lifecycle of the sub-process. Fails are noted in the Debug log. Should the upper limit ever be reached, the selected action will be taken, namely:


  1. Terminate Process after: FireDaemon Pro will continue to run, but no further restarts are performed. The  restart count will be reset back to zero if the service is restarted manually or as part of a scheduled restart.
  2. Terminate FireDaemon: FireDaemon Pro will exit immediately. Any Post-Service applications are NOT invoked. Actions specified in the Recovery settings will initiated.
  3. Shutdown FireDaemon: FireDaemon Pro will terminate gracefully and execute any Post-Service applications (if defined).


Note that Fail Detection is only applicable once the sub-process has been launched successfully, a PID has been assigned, the sub-process has been running stably for a period greater than the Monitoring Interval and Flap Detection has been deactivated. Only then is Fail Detection activated.

Fail Detection Retries

Where Fail Detection is enabled, this setting specifies the upper limit on the number of sub-process restarts.

Graceful Shutdown

If this is checked, FireDaemon will send a message to the sub-process in order to allow it to gracefully exit. For console-based applications the CTRL_BREAK_EVENT or CTRL_C_EVENT message is sent to the processs console (based on the Console Application Send option below). For interactive GUI-based applications, a single WM_CLOSE message is sent to the top level window of the application. FireDaemon Pro then attempts to intelligently detect any popup windows that might result and send messages in the following order in an attempt to close them (IDCANCEL, IDABORT, IDOK, IDNO, IDYES). If the application does not close of its own accord it will be terminated after the Max Shutdown Delay elapses.

Max Shutdown Delay

If this time period elapses (in milliseconds) after the graceful shutdown message has been sent, and if the sub-process is still running, then FireDaemon Pro will forcibly terminate the sub-process.

Console Application

Select this if a Win32 console application is being run as a service. Examples include Java, Perl and 3rd party Win32 applications. This will cause a console control handler to be wrapped our the sub-process.

To Close Console Send

This radio button determines which message will be sent to the console application if Graceful Shutdown is checked. It can either be Ctrl+Break or Control+C.