FireDaemon Pro 5 OEM Installation and Configuration

FireDaemon Pro OEM (FDO) is a variant of FireDaemon Pro specifically designed for use by systems integrators or value-added resellers who wish to bundle FireDaemon Pro with their product or platform. FDO is designed to be included in third-party installers or used in conjunction with scripts. FDO is a super-set of FireDaemon Pro. The fundamental differences are as follows:
  • No Serial Number Name or Serial Number is required to activate the software product
  • Additional command-line arguments are available to automate the configuration of the product registry keys, executable program names, and help URLs.


TABLE OF CONTENTS


Distribution ZIP File

FDO is distributed as a ZIP file only. It does not include an installer. The ZIP file contains 64-bit EXEs and DLLs, prerequisites, scripts, and default theme. The top-level contents of the ZIP file are below.


FireDaemon Pro 5 OEM ZIP file contents


Installation Fast Track

You would typically automate this process.


Step 1: Prepare Microsoft Windows

Microsoft Windows needs to be deployed correctly to run FireDaemon Pro OEM successfully as follows:

  1. Install Windows from an original Microsoft ISO, golden image, cloned image or equivalent. Do not deploy Pro OEM on Windows operating systems that have suffered an "in-place upgrade"
  2. Ensure Windows has been fully patched. All Windows updates should be applied
  3. Ensure EPP/EDR (i.e. antivirus/antimalware software) has been configured to whitelist the FireDaemon Pro OEM installation directory and executables
  4. For air-gapped environments, ensure the required Root CA and Intermediate Certificates are installed in the local Windows certificate store
  5. FireDaemon Pro services run by default using built-in system accounts. If you intend to use those accounts (e.g. LocalSystem) then ensure the system account locales are configured correctly for your region
  6. Deploying a language pack for your locale to ensure that notification and error messages are displayed correctly on screen, in the Windows Event Log and FireDaemon Pro log files. You can do that with lpksetup.exe or Powershell LanguagePackManagement.


Step 2: Choose A Product Name

The default product name is "FireDaemon Pro OEM". An alternative name can be chosen but it must be used consistently throughout the installation process. For this guide, the default product name is denoted as <ProductName>. This customised name is used throughout the FDO application as well as in various file system folders and registry keys plus as the source name in the Windows Event Log.


Step 3: Create Folders and Copy Files

  1. Log in to the computer as a local or domain administrator
  2. Unpack the FireDaemon Pro OEM ZIP file to a temporary folder
  3. Create the following folders:
    1. "C:\Program Files\<ProductName>"
    2. "%ProgramData%\<ProductName>\ServiceDefinitions"
    3. "%CommonProgramFiles%\<ProductName>\ServiceDefinitions"
  4. Copy the Skin folder in its entirety to  C:\Program Files\<ProductName>
  5. Copy the binaries contained within the x64 folder to C:\Program Files\<ProductName>
  6. Copy the file CoreETW.man contained within the prerequisites folder to C:\Program Files\<ProductName>
  7. Copy the file Default Template.xml contained within the %ProgramData%\<ProductName>\ServiceDefinitions folder to "%ProgramData%\<ProductName>\ServiceDefinitions"
  8. Once you have completed the steps above the FDO installation folder should contain the files and folders per the screenshot below (file sizes and date and time stamps may differ):

    FireDaemon Pro 5 OEM Installation Directory


Step 4: Configure and Run FireDaemon Pro OEM

Open an elevated command prompt and type the following to install the product and run the FireDaemon Pro OEM GUI:


cd "C:\Program Files\<ProductName>"
FireDaemonCLI configure --product-name="<ProductName>"
wevtutil.exe im CoreETW.man /rf:"C:\Program Files\<ProductName>\Core.dll" /mf:"C:\Program Files\<ProductName>\Core.dll"
FireDaemonUI

Step 5: Enable Interactive Services Detection

On Windows Vista or later you can enable the Interactive Services Detection Service. If you deploy services with a GUI, then the GUI will be displayed on Session 0. Please consult this article on how to manually enable Interactive Services. The latest versions of Microsoft Windows have had Interactive Services Detection Service (UI0Detect) removed. You will need to deploy FireDaemon Zero and FireDaemon ZeroInput.


FireDaemon Pro OEM Installation Limitations

To avoid conflicts with current or future FireDaemon Pro installations, FDO should never be installed into the folders:

  • “C:\Program Files\FireDaemon”
  • “C:\Program Files\FireDaemon Pro”


Further, you should not deploy FireDaemon Pro OEM 5 onto a machine where a retail version of FireDaemon Pro is present. This deployment scenario is explicitly unsupported. FireDaemon Pro OEM 5 can co-exist with earlier versions of FireDaemon Pro (i.e. any version up to and including FireDaemon Pro 4).


Command-Line Options

The FDO command-line installation options can be used to customise your FDO installation. Here is an example:

FireDaemonCLI \
    configure \
    --product-name="FireDaemon Pro OEM" \
    --product-short-name="FDO" \
    --help-file-name="https://www.firedaemon.com/user-guides"

The command-line options are described below:


OptionDescription
configureInstructs FireDaemon Pro OEM to set up the registry keys. This argument is mandatory.
--product-nameThis is the product's full name (i.e. <ProductName>). If not set, it will default to "FireDaemon Pro OEM". This string is displayed in the title bar of the main GUI window and various other places, including the command line and logs. This argument is optional.
--product-short-nameThis is an abbreviated name of the product. If not set, it will default to "FireDaemon". This string is displayed in various messages and dialog boxes. This argument is optional.
--help-file-nameThis is the help URL or the help file name, excluding any path information. This argument is optional and allows you to specify an alternate help file. HelpFileName can be any URL or file that Windows Explorer can open, including URLs and file types such as PDF, CHM, shortcut containing a URL, or any other file system object. The file (or filesystem object) must exist in the FDO installation directory otherwise, the registry configuration will fail. This argument has three valid values:
  • Double quoted name of the replacement help file excluding the path (For example, "MyHelp.chm" or "MyHelp.pdf")
  • Empty double quotes (i.e. ""). This will signify no help and disable the F1 and Help->Contents menu in the FDO GUI
  • Omitted entirely where the help file will be set to the default of https://www.firedaemon.com/user-guides/firedaemon-pro-5
Any pre-pended path is stripped from the argument during configuration as the HelpFile value is appended to the installation directory.
--turn-off-session0-switch[=yes]Setting this option to Yes hides and disables 'Switch To Session 0'.
--turn-off-insession-commands[=yes]Setting this option to Yes hides and disables the 'Start Service In-Session' functionality.
--turn-off-onboarding-cues[=yes]Settings this option will turn off the onboarding cues in the FireDaemon Pro OEM GUI. These are pulsing red dots that indicate where to click in the GUI to create a new service and view built-in Windows services.


Registry Keys

When deploying FDO, the following registry keys will be created. Whilst these registry keys can be created manually, we recommend that you let FDO do the hard work of setting up the registry via the "configure" command and not set up the registry keys manually.


Product Registry Keys

The following registry keys are created as part of the installation process:


HKLM\Software\FireDaemon Technologies\<ProductName>
Key Name
TypeValue
HelpFileREG_SZhttps://www.firedaemon.com/user-guides/firedaemon-pro-5
InstallationDirREG_SZUnquoted path to where FDO has been deployed
ProductFlavorREG_SZOEM
ProductNameREG_SZ<ProductName>
ProductShortNameREG_SZ<ProductShortName>
ServiceExeREG_SZFireDaemon.exe
TurnOffInSessionCommandsREG_DWORD0
TurnOffOnboardingCuesREG_DWORD0
TurnOffSession0SwitchREG_DWORD0
HKLM\Software\FireDaemon Technologies\<ProductName>\GlobalSettings\Services
Key NameTypeValue
AutostartsOffOnInstallREG_DWORD0
CloneNamePrefixREG_SZClone-
CloneNameSeparatorREG_SZ-of-
UseCloneNameSeparatorREG_DWORD1
HKLM\Software\FireDaemon Technologies\<ProductName>\GlobalSettings\Preferences
Key NameTypeValue
AffinityRadixREG_DWORD10
ConfirmControlAllActionsREG_DWORD1
SplashOnREG_DWORD1
SummaryToolTipDelayREG_DWORD1000
SuppressPopupsREG_DWORD0
UseLightThemeREG_DWORD1
VersionCheckREG_DWORD1

User Preferences

All global preference values are replicated and stored individually for each user by the FDO GUI in this registry key:

HKCU\Software\FireDaemon Technologies\<ProductName>\BCGWorkspace

GUI Window Placement and Column Sizing

The FireDaemon Pro GUI recalls the most recent application window placement and width of list columns and sorting. Those values are stored in these registry keys:

HKCU\Software\FireDaemon Technologies\<ProductName>\BCGWorkspace\ServiceListColumns
HKCU\Software\FireDaemon Technologies\<ProductName>\BCGWorkspace\WindowPlacement

Event Log

The Windows Event Log is configured via this registry key:

HKLM\SYSTEM\CurrentControlSet\Services\EventLog\Application\<ProductName>

Renaming Executables and DLLs

The FireDaemon executables (FireDaemon.exe, FireDaemonCLI.exe, FireDaemonUI.exe) can be renamed. To ensure that FDO recognises the new file names, the value of the ServiceExe registry setting listed above must be updated with the new file name. Additionally, when using the "configure" option described above, FireDaemon Pro OEM will automatically populate the ServiceExe registry setting with the new file name. For example, after renaming FireDaemon.exe to MyServiceApp.exe, and FireDaemonCLI.exe to MyServiceAppCLI.exe the command below will populate ServiceExe with MyServiceApp.exe.

MyServiceAppCLI configure

Note that the value of ServiceExe is appended to the installation directory. It should only contain the file name and extension delimited by a period (i.e. “.”). No path is permitted in the value. FireDaemonUI.exe can also be renamed. No registry updates are necessary. Other DLLs shipped with FDO cannot be renamed.


Renaming Executables Ramifications

If executables are renamed, the only services that will be displayed in the FireDaemon Pro OEM GUI will be those where the  Service setting matches the ImagePath registry setting found in the service configuration itself, typically located under HKLM\SYSTEM\CurrentControlSet\Services\<ServiceName>. If you initially use the default name (i.e. FireDaemon.exe) and then later rename it and update the ServiceExe registry setting, any pre-existing services will no longer be recognised as FireDaemon Pro services and will be hidden in the FireDaemon Services list in the FireDaemon Pro OEM GUI. Those services will be visible in the Windows Services list in the FireDaemon Pro OEM GUI.


Replacing Executable Application Icons

The application icons executables can be replaced. Replacing the icons (e.g. via Resource Hacker) will cause the digital certificates to be removed from the executables. You will need to organise your own EV Authenticode code signing certificate and re-sign the executables accordingly with the Windows Software Development Kit SignTool utility.


Uninstalling FireDaemon Pro OEM

To uninstall FDO, ensure that you stop all FDO services in advance, and then uninstall them before deconfiguring the product. To fully uninstall FDO (where the <ProductName> is "FireDaemon Pro OEM", follow these steps:


cd "C:\Program Files\FireDaemon Pro OEM
FireDaemonCLI stop-all
FireDaemonCLI uninstall-all
FireDaemonCLI deconfigure
wevtutil um CoreETW.man
cd ..
rmdir /s "C:\Program Files\FireDaemon Pro OEM"
rmdir /s "%ProgramData%\FireDaemon Pro OEM"
rmdir /s "%CommonProgramFiles%\FireDaemon Pro OEM"

Theming and Branding

FDO is highly customisable from a theming and branding perspective. Please refer to the Theming and Branding guide for more information.


Files and Folders to Redistribute

The following files should be minimally included in your installer or deployed on your platform. The files folders in the table below must all reside in the same directory:


FileDescription
FireDaemon.exeFDO service executable
FireDaemonCLI.exeFDO command line executable
FireDaemonUI.exeFDO GUI executable
Core.dllShared Library
Licensing.dllShared Library
VisualLayer.dllShared Library
SkinDefault theme folder
CoreETW.manEvent Log Manifest


License Restrictions

The FireDaemon End User License Agreement allows the licensee to redistribute FDO royalty-free as part of a product or platform. It is prohibited for FDO to be redistributed or sold as a standalone product or to be made available for public download.