public AmivoiceWatcher()
        {
            try
            {
                Globals.log.Debug("/");
                Globals.log.Debug("/");
                Globals.log.Debug("/");
                Globals.log.Debug("/");
                Globals.log.Debug("Welcome to Amivoice Watcher v" + ComputerInfo.WatcherVersion);

#if DEBUG
                Console.WriteLine("Mode=Debug");
                //DebugHelper();
#endif
                FormWaiting.ShowSplashScreen();

                Configuration.Initialize();

                InitializeCefsharp();
                InitializeFormCefsharpDummy();

                //CefsharpOffscreen.MyInitialize();

                //MainForm mainForm = new MainForm(); //this takes ages
                //FormWaiting.CloseForm();
                //Application.Run(mainForm);

                Globals.CreateAllDirectoryAndFiles();

                InitializeTrayMenu();

                if (Configuration.CheckEnableAgentActivity())
                {
                    threadUserActivity = new Thread(new ThreadStart(UserActivityThread.ThreadMain));
                    threadUserActivity.Start();
                }

                threadComputerInfo = new Thread(new ThreadStart(ComputerInfo.ThreadMain));
                threadComputerInfo.Start();

                // Will be start by FormNotificationPanel
                threadRabbitMQ = new Thread(new ThreadStart(RabbitMQWrapper.ThreadMain));
                threadRabbitMQ.Start();

                SendComputerLogStartup_by_myFormCefsharpDummy();

                NotificationPanel._init();

#if DEBUG
                //Globals.Notifications.PopupWelcomeMessage();
#endif

                //DONT DELETE
                //StartCaptureScreenRecord();
            }
            catch (Exception e)
            {
                Globals.log.Error(e.ToString());
            }
        }