My Experience With FireDaemon Pro

by on March 4, 2013 11:06 am


There’s a nifty piece of software I’ve run across called FireDaemon Pro – I’d love to share my experiences, as it’s a great tool to have in your tool pouch.

The basics of the software are simple: take just about any Windows application or script and turn it into a Service. To name a few, FireDaemon Pro handles 32- and 64-bit EXE and DLL applications, BAT, CMD, Perl and Java. Before I rattle off more of the bells and whistles, let me give you some context on what we were doing at the time, and how we ended up using this product.

The Situation

A teammate and I were working in a small IT shop that provided services for a federally regulated industry. We were part of a team of four that supported and implemented solutions for day-to-day operations. Each of our roles were siloed by the business teams we supported. My teammate had been there longer than I and had developed quite a few .NET applications of various flavors, while my predecessors had come from more of an “anything but Microsoft” philosophy. I had just come off of my first .NET project and was anxious to continue to explore the world of .NET . At some point, we decided for any new development, we would implement solutions in .NET for ease of cross-training, skill portability for projects spanning our business teams, and subsequent ease of support for each of our respective roles.

Fast-forward several months and my teammate had implemented a prototype serial port application that received time-sensitive federally regulated data, and saves the data to a database for another process to pick up and push into a customer-facing system. Serial port implementation in a .NET application is fairly easy to accomplish, but had its challenges in a service-oriented implementation. With time and resource constraints, not to mention “money savings to be had” pressure, my teammate had created a forms application to get the proof-of-concept up and going. Unfortunately/fortunately our internal customers were so pleased with the process, they pushed for it to be implemented into production as-is. At the time it didn’t seem to be a big deal. We’ll run it as a forms application on the production server with the appropriate security. After all, there are only so many IT resources and projects were stacked high and tight, so better to implement as-is and move on…right?

Let’s just say many 3 AM phone calls later, it was starting to be a bit on the painful side.

While the above project was in-flight and a few months ahead, I was off and running on a new development project where I wanted to leverage the Microsoft Office PIA’s in a .NET application to process Excel files generated by third-party software (I know, I know … Apache POI … believe me, I know. .NET was just so shiny at the time). My teammate had not yet been bit by the “put it in production as-is” direction, so when I started to create my application, I followed suit and also developed a Forms application to do my testing with.

Long story short, I ended up finding out the hard way that Microsoft does not support a service implementation using their PIA’s. So, I was faced with implementing a Forms application in production.

It was about that time that one of our server guys (who had been involved with the various issues brought to light by running a Forms application on a production server  – i.e. not being able to do a server bounce without manually starting an application) introduced us to FireDaemon Pro. It was the cure for what ailed us. With a small change to the forms application and about 15 minutes worth of install and configuration time on the server, Forms application turned service worked flawlessly.

No more manual starts, no more 3 AM calls.

Fire Daemon Overview

Something great about FireDaemon Pro is that it has all sorts of configuration choices: automatic re-start, email upon failure or re-start, and automatic pop-up handling, to name a few.

Here’s a more complete feature list, from the FireDaemon Pro website:

  • Monitor and restart your app if it crashes, hangs or shuts down
  • Schedule your app to start/restart at specific times and dates – before you log in
  • Ability to start and run your application in the background without user intervention.
  • Ability to run your application continually across multiple user sessions.
  • Run your application either interactively or non-interactively.
  • Restarts your application in the event of failure, unintentional or malicious shutdown or at scheduled predetermined intervals.
  • Ability to modify your application’s priority and bind to specific processors or cores.
  • Execute additional transient programs during the service lifecycle.
  • Control, log and close popups that your application might display.
  • Assists in meeting various government regulations, Acts and standards pertaining to computing systems robustness, security, management, access and control (eg. Sarbanes-Oxley (SOX), ITIL).

Aside from having to find this product in the situation we did, I’m glad to have had the experience. This is an excellent tool to have in your tool pouch, so make sure to check it out more in detail here. For more how-tos, check out its features page.

— Keith LaPee,

  • Share:

Leave a Reply

Things Twitter is Talking About
  • If you're a Java dev, you're likely familiar with Annotations. But have you created your own #Java Annotations? Ex -
    September 21, 2014 at 5:15 PM
  • Check out a quick intro to Functional Reactive Programing and #JavaScript -
    September 20, 2014 at 11:15 AM
  • In Part 2 of our series on creating your own #Java annotations, learn about processing them with the Reflection API -
    September 19, 2014 at 12:15 PM
  • The life of a Keyhole consultant - A Delicate Balance: It’s What We Do Blog as true today as the day it was written.
    September 19, 2014 at 9:50 AM
  • 7 Things You Can Do to Become a Better Developer -
    September 19, 2014 at 8:43 AM
  • .@jessitron Good luck, you'll do great! Our team really enjoyed your KCDC14 talks.
    September 18, 2014 at 10:19 AM
  • RT @woodwardjd: 7 deadly sins of programming. I think I did all of this last week. #strangeloop
    September 18, 2014 at 10:03 AM
  • In Part 2 of our series on creating your own #Java annotations, learn about processing them with the Reflection API -
    September 17, 2014 at 3:18 PM
  • We send out our free monthly tech newsletter tomorrow - dev tips/articles via email. Not on the list? Sign up:
    September 16, 2014 at 2:58 PM
  • Want to chuckle? If programming languages were vehicles - #funny
    September 16, 2014 at 11:41 AM
  • In Part 2 of our series on creating your own annotations, learn about processing #Java annotations using Reflection:
    September 16, 2014 at 9:06 AM
  • Don't miss @jhackett01's newest post on the Keyhole blog - Processing #Java Annotations Using Reflection:
    September 15, 2014 at 12:02 PM
  • We're pretty excited - Keyhole's #BikeMS team raised 158% of their fundraising goal to benefit @MidAmericaMS. Plus, they had a great ride!
    September 15, 2014 at 10:38 AM
  • A huge welcome to David Kelly (@rheomatic) who officially joins the Keyhole team today! :-)
    September 15, 2014 at 10:00 AM
  • Sending warm thoughts to @eastlack, @cdesalvo, @wdpitt & all participating in #BikeMS this AM. Thanks for helping in the fight against MS!
    September 13, 2014 at 8:10 AM
  • .@rheomatic We are so excited to have you joining the team! Welcome :-)
    September 12, 2014 at 4:11 PM
  • As the official holiday is a Saturday, we're celebrating today! Happy (early) #ProgrammersDay to you!
    September 12, 2014 at 1:55 PM
  • Tomorrow @cdesalvo, @eastlack, & @wdpitt are riding #BikeMS to benefit @MidAmericaMS. You can get involved, too -
    September 12, 2014 at 11:00 AM
  • RT @AgileDevs: 5 tips for great code reviews
    September 11, 2014 at 2:53 PM
  • The BEMs of Structuring #CSS - A quick introduction to the Block Element Modifier methodology.
    September 10, 2014 at 2:49 PM
Keyhole Software
8900 State Line Road, Suite 455
Leawood, KS 66206
ph: 877-521-7769
© 2014 Keyhole Software, LLC. All rights reserved.