예제 #1
0
        // ReSharper disable once UnusedMember.Global
        public static ActionResult UninstallEverythingService(Session session)
        {
            var logger = new Logger(session, nameof(UninstallEverythingService));

            try
            {
                logger.Log("Start {0}", nameof(UninstallEverythingService));
                string installFolder            = FindExtensionFolder();
                var    everythingProcessManager = new EverythingProcessManager(installFolder);
                if (everythingProcessManager.IsServiceInstalled())
                {
                    if (everythingProcessManager.IsServiceRunning())
                    {
                        everythingProcessManager.StopService();
                    }
                    everythingProcessManager.UninstallService();
                }

                everythingProcessManager.StopClient();

                var cleanup = new Cleanuper(logger);
                cleanup.DeleteDirectory(installFolder);

                return(ActionResult.Success);
            }
            catch (Exception ex)
            {
                logger.Log("Failure: {0}", ex);
                return(ActionResult.Failure);
            }
            finally
            {
                logger.Log("End {0}", nameof(UninstallEverythingService));
            }
        }
예제 #2
0
        // ReSharper disable once UnusedMember.Global
        public static ActionResult InstallEverythingService(Session session)
        {
            var logger = new Logger(session, nameof(InstallEverythingService));

            try
            {
                logger.Log("Start {0}", nameof(InstallEverythingService));
                string installFolder            = FindExtensionFolder();
                var    everythingProcessManager = new EverythingProcessManager(installFolder);
                if (everythingProcessManager.IsServiceInstalled())
                {
                    if (everythingProcessManager.IsServiceRunning())
                    {
                        everythingProcessManager.StopService();
                    }
                    everythingProcessManager.UninstallService();
                }
                everythingProcessManager.InstallService();
                // wait until service will be fine
                Thread.Sleep(3000);
                everythingProcessManager.StartClientInBackgroundMode();
                return(ActionResult.Success);
            }
            catch (Exception ex)
            {
                logger.Log("Failure: {0}", ex);
                return(ActionResult.Failure);
            }
            finally
            {
                logger.Log("End {0}", nameof(InstallEverythingService));
            }
        }