private ActiveHomeController()
        {
            string error;
            String ahScriptPath = GetProgramFilePath("ahscript.dll", out error);

            if (!System.IO.File.Exists(ahScriptPath))
            {
                File.WriteAllBytes(ahScriptPath, Properties.Resources.ahscript);
            }
            mActiveHome             = new ActiveHomeClass();
            mActiveHome.RecvAction += new _DIActiveHomeEvents_RecvActionEventHandler(OnActiveHomeRecv);
        }
 /// <summary>
 /// To avoid problems where users don't have the correct drivers installed. 
 /// Safely initialise the platform API
 /// </summary>
 private void EnsureActiveHomeInitalised()
 {
     try
     {
         if (_activeHome == null)
         {
             _activeHome = new ActiveHomeClass();
         }
     }
     catch(Exception)
     {
         MessageBox.Show("Can't locate CM19 Driver... Please ensure you have the correct CM19 driver installed.", "CM19 Driver not found",
                         MessageBoxButtons.OK, MessageBoxIcon.Warning);
     }
 }