FireDaemon Pro OEM Installation and Configuration
Previous Topic  Next Topic 

FireDaemon Pro OEM (FDO) is a variant of FireDaemon Pro specifically designed for use by systems integrators or value added resellers that wish to bundle FireDaemon Pro with their own product or platform. FDO is designed to be included in third party-installers or used in conjunction with scripts. FDO is a superset of FireDaemon Pro. The fundamental differences are as follows:



Distribution


FireDaemon Pro OEM is distributed as a ZIP file. No .EXE or .MSI installer is shipped with the product. The ZIP file contains documentation, required Visual C++ Runtimes, skins and binaries (EXE/DLL) specific to 32-bit and 64-bit Windows platforms. The top level contents of the ZIP file is below:



MSXML Compatibility


FDO requires MSXML (Microsoft XML Core Services). MSXML is distributed on every Microsoft Windows platform that has IE4 or later installed. FDO has been designed to be compatible with MSXML v3.0 Post SP11. To determine which version of MSXML v3.0 is installed see this Microsoft Support Article. Details of MSXML versions can be found here.


Installation Fast Track


You would typically automate this process. Prior to starting ensure Microsoft Windows is fully patched via Windows Update.


1. Log in as a local or domain administrator

2. Unpacked the OEM ZIP file to a temporary folder

3. Create C:\Program Files\FireDaemon OEM folder

4. Copy the following files from the unpacked ZIP folder into the top level of C:\Program Files\FireDaemon OEM


For all 64-bit operating systems:



For all 32-bit operating systems:



5. On 64-bit systems run vcredist_x64-2010.exe

6. On 32-bit systems run vcredist_x86-2010.exe

7. Modify HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows\NoInteractiveServices to ensure it is 0

8. Start an elevated command prompt then:



9. Run C:\Program Files\FireDaemon OEM\FireDaemonUI.exe via Explorer to check the app will launch and elevate correctly

10. Start another elevated command prompt and then run the following to install a service via the CLI:



11. On Windows Vista or later ensure the UI0Detect (Interactive Services Detection Service) is started and running. At an elevated command prompt:



Installing FireDaemon Pro OEM Alongside FireDaemon Pro


If you already have a version of FireDaemon Pro installed we recommend that you unzip the ZIP file into a temporary directory. Then copy the required components into the directory "C:\Program Files\FireDaemon OEM". FDO should never be installed into C:\Program Files\FireDaemon in order to avoid conflicts with current or future FireDaemon Pro installations.


Creating Optional Environment Variables


You can create two global environment variables: FIREDAEMON and FIREDAEMON_HOME to ease configuration. Note that this is entirely optional and these environment variables are not required for FireDaemon Pro OEM to run. To create global environment variables at an elevated command prompt type the following:


setx FIREDAEMON_HOME "C:\Program Files\FireDaemon OEM" /m

setx FIREDAEMON "%FIREDAEMON_HOME%\firedaemon.exe" /m


FireDaemon Pro OEM Registry Keys


In order to successfully setup FDO your installer will either need to create a series of registry keys or you can use the command line functionality to do this for you.


On x86 (32-bit systems) using the 32-bit version of FDO or x64 (64-bit systems) using the 64-bit version of FDO create this top level key:


HKLM\SOFTWARE\FireDaemon Technologies\FireDaemon OEM


On x64 (64-bit systems) using the 32-bit version of FDO create this top level key:


HKLM\SOFTWARE\Wow6432Node\FireDaemon Technologies\FireDaemon OEM


Irrespective of platform create the following registry keys under the top level key:


Name

Type

Value

AffinityRadix

REG_DWORD

10

AutostartsOffOnInstall

REG_DWOD

0

CloneNamePrefix

REG_SZ

Clone-

CloneNameSeparator

REG_SZ

-of-

Column0

REG_DWORD

0

Column1

REG_DWORD

0

Column2

REG_DWORD

0

Column3

REG_DWORD

0

Column4

REG_DWORD

0

Column5

REG_DWORD

0

Column6

REG_DWORD

0

Column7

REG_DWORD

0

Column8

REG_DWORD

0

Control

REG_DWORD

0

FilterServices

REG_DWORD

1

HelpFile

REG_SZ

FireDaemon-Users-Guide.chm

InstallationDir

REG_SZ

Path to where FDO has been deployed (eg. C:\Program Files\FireDaemon OEM)

JobType

REG_DWORD

0

MainWindowBottom

REG_DWORD

0

MainWindowLeft

REG_DWORD

0

MainWindowRight

REG_DWORD

0

MainWindowShow

REG_DWORD

0

MainWindowTop

REG_DWORD

0

Product

REG_SZ

OEM

ProductName

REG_SZ

FireDaemon Pro OEM

ProductShortName

REG_SZ

FireDaemon

RefreshFreq

REG_DWORD

30

ServiceEXE

REG_SZ

firedaemon.exe

SplashOn

REG_DWORD

1

SuppressPopups

REG_DWORD

0

UseCloneNameSeparator

REG_DWORD

1

VersionCheck

REG_DWORD

0


Irrespective of platform, create the following top level key:


HKLM

  \SYSTEM

    \CurrentControlSet

      \Services

        \EventLog

          \Application

            \FireDaemon OEM


Then create the following keys underneath:


Name

Type

Value

EventMessageFile

REG_SZ

Path to FDO's Core.DLL (eg. C:\Program Files\FireDaemon OEM\Core.dll)

TypesSupported

REG_DWORD

7


Setting Up FireDaemon Pro OEM Via The Command Line


To complete the setup of FireDaemon Pro OEM and to have the registry keys automatically created for you, use the following command line syntax:


"c:\program files\firedaemon oem\firedaemon.exe"

    --configure

    --ProductName="FireDaemon Pro"

    --ProductShortName="FDO"

    --HelpFileName="FireDaemon-Users-Guide.chm"


The command line options are case sensitive and are described below:


--configure


This instructs FireDaemon Pro OEM to setup the registry. The InstallationDir registry key is set by determining the location of the firedaemon.exe either via explicit path (eg. "c:\some\path\firedaemon.exe") or implicit path based on current working directory. This argument is mandatory.


--ProductName


This is the full name of the product. 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 message and dialog boxes. This argument is optional.


--HelpFileName


This is the name excluding any path information to the FireDaemon Pro OEM help file. This argument is optional and allows you to specify an alternate help file. The help file can be any file that Windows Explorer can open including PDF, CHM, shortcut containing a URL or any other file system object. The file (or filesystem object) must exist in the installation  directory otherwise registry configuration will fail. This argument has three valid values:


  1. Double quoted name of the replacement help file excluding any pathing (eg. "MyHelp.chm" or "MyHelp.pdf")
  2. Empty double quotes (ie. ""). This will signify no help and disable F1 and Help->Contents menu in the FireDaemon Pro OEM GUI
  3. Omitted entirely where the help file will be set to the default of "FireDaemon-Users-Guide.chm"


Any pre-pended path is stripped from the argument during configuration as the HelpFile value is appended to the InstallationDir value.


Renaming FireDaemon.exe and FireDaemonUI.exe


FireDaemon.exe can be renamed. To ensure FireDaemon recognises the EXE name change make sure you update the ServiceEXE registry key listed above to reflect the new name of the EXE. Additionally when you use the --configure option mentioned above, FireDaemon will automatically populate the ServiceEXE registry key with the new EXE name. For example:


MyServiceApp.exe --configure


This will populate ServiceEXE with MyServiceApp.exe. Note that ServiceEXE is appended to the installation directory. ServiceEXE should only contain the file name and extension delimited by a period (ie. "."). No path is permitted in ServiceEXE.


Ramifications of Renaming FireDaemon.exe and FireDaemonUI.exe


If you choose to change the name of FireDaemon.exe, the only services that will be displayed in the FireDaemon GUI will be those where the ServiceEXE matches the ImagePath registry key found in the service configuration itself typically located under HKLM\SYSTEM\CurrentControlSet\Services\<MyServiceName>. So if you decide to use the default name (ie. firedaemon.exe) then rename the EXE and update the ServiceEXE registry key - your pre-existing services will be hidden when filtering is turned on in the FireDaemon GUI.


FireDaemonUI.exe can be renamed with impunity. Core.dll and Core.manifest cannot be renamed.


Uninstalling FireDaemon Pro OEM


When cleaning up your installation ensure that you stop all FDO services in advance, then uninstall them prior to deconfiguring the registry. For example:


FireDaemon.exe --stop myservice1

FireDaemon.exe --stop myservice2

FireDaemon.exe --uninstall myservice1

FireDaemon.exe --uninstall myservice2

FireDaemon.exe --deconfigure


The complete list of CLI options can be found via: firedaemon --help


UAC and Session 0 Isolation


Ensure you familiarise yourself with UAC and Session 0 Isolation limitations when running FDO on Windows Vista or later.


Theming FireDaemon Pro OEM


FireDaemon Pro OEM is highly customisable from a theming and branding perspective. Please refer to this section of this manual for more information.


What To Redistribute?


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


File

Description

FireDaemon.exe

FireDaemon Pro OEM service and command line executable

Core.dll

FireDaemon Pro OEM Shared Library

FireDaemonUI.exe

FireDaemon Pro OEM GUI executable

FireDaemon-Users-Guide.chm

FireDaemon Help File


FDO is technically classified as a "native or unmanaged Visual C++ .NET application" and requires the Microsoft  Visual C++ 2010 SP1 Runtime. The Visual C++ 2010 SP1 Runtime redistributable packages are included in the ZIP file or can be downloaded directly from Microsoft. Please ensure you install the 32-bit runtime to accompany the 32-bit version of FDO on 32-bit or 64-bit operating systems. Please ensure you install the 64-bit runtime to accompany the 64-bit version of FDO on 64-bit operating systems.


License Restrictions


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