- no Serial Number Name or Serial Number required for installation
- additional command-line arguments are available to automate the configuration of the product registry keys, executable program names and help file.
Distribution
FDO is distributed as a ZIP file. No .EXE or .MSI installer is shipped with the product. The ZIP file contains 32-bit and 64-bit EXEs and DLLs, prerequisites including Visual C++ Runtimes, documentation, scripts and default theme. The top-level contents of the ZIP file are below. The msxml6 executables found in the prerequisites folder are for the deployment of Microsoft XML Core Services version 6. All recent Microsoft operating systems have this update installed. These executables are included for completeness and should only be deployed to support legacy operating systems (i.e. Windows XP and Windows Server 2003).
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:
- 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"
- Ensure Windows has been fully patched. All Windows updates should be applied
- Ensure EPP/EDR (i.e. antivirus/antimalware software) has been configured to whitelist the FireDaemon Pro OEM installation directory and executables
- For air-gapped environments, ensure the required Root CA and Intermediate Certificates are installed in the local Windows certificate store
- 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
- 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 Application Event Log.
Step 3: Deploy EXEs, DLLs, Visual C++ Runtime, Create Folders, Deploy Service Template
Note that the 32-bit version of FireDaemon Pro OEM is not supported on 64-bit Windows systems. The 32-bit (x86) version must only be deployed on 32-bit (x86) operating systems and the 64-bit (x64) version must only be deployed on 64-bit (x64) operating systems.
- Log in to the computer as a local or domain administrator
- Unpack the FireDaemon Pro OEM ZIP file to a temporary folder
- Create C:\Program Files\<ProductName> folder
- Copy the corresponding binaries from either the x86 (32-bit) or x64 (64-bit) folder to C:\Program Files\<ProductName>
- Install the corresponding 32-bit (vc_redist.x86.exe) or 64-bit (vc_redist.x64.exe) runtime found in the prerequisites folder. If you are deploying on Windows XP or Server 2003 deploy the vc_redist.x86.exe or vc_redist.x64.exe from the preqrequisites\winxp+server2003 folder.
If you are using Windows XP create the following folders:
- %ALLUSERSPROFILE%\Application Data\<ProductName>\ServiceDefinitions
- %CommonProgramFiles%\<ProductName>\ServiceDefinitions
- Copy "Default Template.xml" to %ALLUSERSPROFILE%\Application Data\<ProductName>\ServiceDefinitions
If you are using Windows Vista or later create the following folders:
- %ProgramData%\<ProductName>\ServiceDefinitions
- %CommonProgramFiles%\<ProductName>\ServiceDefinitions
- Copy "Default Template.xml" to %ProgramData%\<ProductName>\ServiceDefinitions
Step 4: Configure and Run FDO
Open an elevated command prompt and type the following.cd "C:\Program Files\<ProductName>"
firedaemon --configure --ProductName="<ProductName>"
firedaemonui
The FireDaemon Pro OEM GUI should now request elevation and be running.
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.
Installing FDO Alongside Other Versions of FireDaemon Pro
To avoid conflicts with current or future FireDaemon Pro installations, FDO should never be installed into “C:\Program Files\FireDaemon” or “C:\Program Files\FireDaemon Pro”.
FDO Command-Line Options
The FDO command-line installation options can be used to customise your FDO installation. Here is an example:
"C:\Program Files\FireDaemon Pro OEM\firedaemon.exe"
--configure
--ProductName="FireDaemon Pro OEM"
--ProductShortName="FDO"
--HelpFileName="https://www.firedaemon.com/documentation/firedaemon-pro/"
The command-line options are case-sensitive and are described below:
Option | Description |
---|---|
--configure | Instructs FireDaemon Pro OEM to set up the registry keys. This argument is mandatory. |
--ProductName | This is the full name of the product (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. |
--ProductShortName | This 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. |
--HelpFileName | This 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:
|
--TurnOffSession0Switch[=yes] | Setting this option to Yes hides and disables 'Switch To Session 0'. |
--TurnOffInSessionCommands[=yes] | Setting this option to Yes hides and disables the 'Start Service In-Session' functionality. |
--TurnOffOnboardingCues[=yes] | Settings this option will turn off the onboarding cues in the FireDaemon Pro GUI. These are pulsing red dots that indicate where to click in the FireDaemon Pro 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.
Product Registry Keys
HKLM\SOFTWARE\FireDaemon Technologies\FireDaemon Pro OEM
Name | Type | Value |
---|---|---|
HelpFile | REG_SZ | https://www.firedaemon.com/documentation/firedaemon-pro/ |
InstallationDir | REG_SZ | Unquoted path to where FDO has been deployed |
ProductFlavor | REG_SZ | OEM |
ProductName | REG_SZ | <ProductName> |
ProductShortName | REG_SZ | <ProductShortName> |
ServiceExe | REG_SZ | FireDaemon.exe |
TurnOffInSessionCommands | REG_DWORD | 0 |
TurnOffSession0Switch | REG_DWORD | 0 |
Global Service Settings
HKLM\SOFTWARE\FireDaemon Technologies\FireDaemon Pro OEM\GlobalSettings\Services
Name | Type | Value |
---|---|---|
AutostartsOffOnInstall | REG_DWORD | 0 |
CloneNamePrefix | REG_SZ | Clone- |
CloneNameSeparator | REG_SZ | -of- |
Control | REG_DWORD | 0 |
UseCloneNameSeparator | REG_DWORD | 1 |
Global Preferences
HKLM\SOFTWARE\FireDaemon Technologies\FireDaemon Pro OEM\GlobalSettings\Preferences
Name | Type | Value |
---|---|---|
AffinityRadix | REG_DWORD | 10 |
FilterServices | REG_DWORD | 1 |
RefreshFreq | REG_DWORD | 30 |
SplashOn | REG_DWORD | 1 |
SuppressPopups | REG_DWORD | 0 |
SummaryToolTipDelay | REG_DWORD | 1000 |
VersionCheck | REG_DWORD | 1 |
ConfirmControlAllActions | REG_DWORD | 1 |
User Preferences
All global preference values are replicated and stored individually for each user by the FDO GUI here:
HKCU\Software\FireDaemon Technologies\<ProductName>\BCGWorkspace\Preferences
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 here:
HKCU\Software\FireDaemon Technologies\<ProductName>\BCGWorkspace\ServiceListColumns
HKCU\Software\FireDaemon Technologies\<ProductName>\BCGWorkspace\WindowPlacement
Event Log
HKLM\SYSTEM\CurrentControlSet\Services\EventLog\Application\<ProductName>
Name | Type | Value |
---|---|---|
EventMessageFile | REG_SZ | Path to FDO's Core.dll |
TypesSupported | REG_DWORD | 7 |
CategoryMessageFile | REG_SZ | Path to FDO's Core.dll |
CategoryCount | REG_DWORD | 1 |
Renaming FireDaemon.exe and FireDaemonUI.exe
FireDaemon.exe can be renamed. To ensure that FDO recognizes the new file name, 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 will automatically populate the ServiceExe
registry setting with the new file name. For example, after renaming FireDaemon.exe to MyServiceApp.exe the command :
MyServiceApp.exe --configure
will populate ServiceExe
with MyServiceApp.exe
.
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.
Ramifications of Renaming FireDaemon.exe and FireDaemonUI.exe
If FireDaemon.exe is renamed, the only services that will be displayed in the FireDaemon Pro GUI will be those where the ServiceExe
setting matches the ImagePath
registry setting found in the service configuration itself, typically located under HKLM\SYSTEM\CurrentControlSet\Services\<ServiceName>
. So 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 recognized as FireDaemon Pro services and will be hidden in the FireDaemon Pro services list in the FireDaemon Pro GUI. Those services will, instead, be visible in the regular Windows services list in the FireDaemon Pro GUI.
Replacing FireDaemon.exe and FireDaemonUI.exe Application Icons
The application icons in FireDaemon.exe and FireDaemonUI.exe 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 OV or EV Authenticode code signing certificate and re-sign the executables accordingly with the Windows Software Development Kit SignTool utility.
Uninstalling FDO
To uninstall FDO, ensure that you stop all FDO services in advance, and then uninstall them before deconfiguring the product. To fully uninstall FDO, follow these steps:
cd c:\Program Files\FireDaemon Pro OEMFireDaemon --stop-all
FireDaemon --uninstall-all
FireDaemon --deconfigurecd ..
rmdir /s "FireDaemon Pro OEM"
rmdir /s %ProgramData%\"FireDaemon Pro OEM"
rmdir /s %CommonProgramFiles%\"FireDaemon Pro OEM"
The complete list of command-line options can be found here.
UAC and Session 0 Isolation
Ensure that you familiarize yourself with UAC and Session 0 Isolation limitations when running FDO on Windows Vista or later.
Theming and Branding FDO
FDO is highly customisable from a theming and branding perspective. Please refer to the Theming and Branding guide for more information.
What To Redistribute?
The following files for each platform type (i.e. 32-bit and 64-bit) should be minimally included in your installer or deployed on your platform in addition to the corresponding Visual Studio C++ Runtime. The files folders in the table below must all reside in the same directory:
File | Description |
---|---|
FireDaemon.exe | FDO service and command-line program |
FireDaemonUI.exe | FDO GUI |
Core.dll | Shared Library |
Licensing.dll | Shared Library |
VisualLayer.dll | Shared Library |
Skin Folder | Default theme |
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.