internal static void Initialize()
        {
            try
            {
                lock (_Lock)
                {
                    if (!_Initialized)
                    {
                        //init the file logger
                        CallStackLogger.Instance.Initialize();

                        //start the wcf server if needed
                        if (SettingsManager.Instance.Settings.AllowDistantControl)
                        {
                            _Host = new WcfHostService();
                            _Host.StartService();
                            _Initialized = true;
                        }

                        //allow capture from the first run
                        if (SettingsManager.Instance.Settings.CaptureOnStart)
                        {
                            _CaptureAllowed = true;
                        }
                    }
                }
            }
            catch (Exception err)
            {
                RuntimeLogger.Instance.Log(LogType.Error, "ReflectionStudio.Spy.Performance.StartEvent {0}", err.Message);
                _Initialized = false;
            }
        }