コード例 #1
0
        public MessageResult TryStop()
        {
            var failResult    = MessageResult.MethodResult(nameof(TryStart), false);
            var successResult = MessageResult.MethodResult(nameof(TryStart), true);

            try
            {
                var serviceState = ServiceInstaller.GetServiceState(ServiceName);
                if (serviceState == ServiceState.NotFound)
                {
                    successResult.Message = string.Format("{0} not installed!", ServiceName);
                    return(successResult);
                }

                if (serviceState == ServiceState.Stopped || serviceState == ServiceState.StopPending)
                {
                    successResult.Message = string.Format("{0} is already stopped!", ServiceName);
                    return(successResult);
                }

                ServiceInstaller.StopService(ServiceName);
                return(successResult);
            }
            catch (Exception e)
            {
                failResult.Message = failResult.Message + " => " + e.Message;
                return(failResult);
            }
        }
コード例 #2
0
        public MessageResult TryUninstall()
        {
            var failResult    = MessageResult.MethodResult(nameof(TryUninstall), false);
            var successResult = MessageResult.MethodResult(nameof(TryUninstall), true);

            try
            {
                var installed = ServiceInstaller.ServiceIsInstalled(ServiceName);
                if (!installed)
                {
                    var message = string.Format("{0} already uninstalled!", ServiceName);
                    successResult.Message = message;
                    return(successResult);
                }

                ServiceInstaller.Uninstall(ServiceName);
                return(successResult);
            }
            catch (Exception e)
            {
                failResult.Message = failResult.Message + " => " + e.Message;
                return(failResult);
            }
        }