private void StartUpdateProcess()
        {
            try
            {
                Context.Logger.Info($"===> [{UpdateProcessName}] process STARTED! <===");

                if (!NetworkChecker.IsNetworkAvailable())
                {
                    Data.Log(Context.LocalizedMessages.NotAvailableNetwork);
                    Data.Dialog.ShowCloseDialog(Context.LocalizedMessages.NotAvailableNetwork, string.Empty, Application.Quit);
                    Context.Logger.Error(null, $"[{UpdateProcessName}] process FAILED! Network is not available or connectivity is low/weak... Check your connection!");
                    return;
                }

                if (!NetworkChecker.IsRemoteServiceAvailable(Context.Settings.GetRemoteBuildsIndexUrl()))
                {
                    Data.Log(Context.LocalizedMessages.NotAvailableServers);
                    Data.Dialog.ShowCloseDialog(Context.LocalizedMessages.NotAvailableServers, string.Empty, Application.Quit);
                    Context.Logger.Error(null, $"[{UpdateProcessName}] process FAILED! Our servers are not responding... Wait some minutes and retry!");
                    return;
                }

                Context.Initialize();

                Task.Run(CheckForUpdates);
            }
            catch (Exception ex)
            {
                Data.Log(Context.LocalizedMessages.UpdateProcessFailed);
                Context.Logger.Error(ex, $"===> [{UpdateProcessName}] process FAILED! <===");
            }
        }
        protected void StartUpdateProcess()
        {
            try
            {
                Context.Logger.Info($"===> [{UpdateProcessName}] process STARTED! <===");

                if (CheckForNetworkAvailability() == false)
                {
                    if (Data.LaunchAnywayOnError)
                    {
                        StartApp();
                    }
                    else
                    {
                        Data.Dialog.ShowCloseDialog(Context.LocalizedMessages.NotAvailableNetwork,
                                                    string.Empty,
                                                    Application.Quit);
                    }

                    return;
                }

                if (CheckForRemoteServiceAvailability() == false)
                {
                    if (Data.LaunchAnywayOnError)
                    {
                        StartApp();
                    }
                    else
                    {
                        Data.Dialog.ShowCloseDialog(Context.LocalizedMessages.NotAvailableServers,
                                                    string.Empty,
                                                    Application.Quit);
                    }

                    return;
                }

                Context.Initialize();

                Task.Run(CheckForUpdates);
            }
            catch (Exception ex)
            {
                UpdateFailed(ex);

                if (Data.LaunchAnywayOnError)
                {
                    StartApp();
                }
            }
        }