Exemple #1
0
        public MessageResult TryInstall()
        {
            var serviceName         = ServiceInfo.ServiceName;
            var serviceFriendlyName = ServiceInfo.ServiceFriendlyName;
            var servicePath         = ServiceInfo.ServicePath;

            var exePath = Path.GetFullPath(servicePath);

            if (!File.Exists(exePath))
            {
                return(AppendLogsAndResult(false, string.Format("{0} is not found!", exePath)));
            }

            var serviceState = GetServiceState(serviceName);

            if (serviceState != ServiceState.NotFound)
            {
                return(AppendLogsAndResult(true, string.Format("{0} is already installed!", exePath)));
            }

            //this is a bug, todo
            //ServiceInstaller.Install(serviceName, serviceFriendlyName, servicePath);

            AppendLogs("----------");
            AppendLogs(serviceName);
            AppendLogs(serviceFriendlyName);
            AppendLogs(exePath);
            AppendLogs("----------");
            ServiceInstaller.InstallAndStart(serviceName, serviceFriendlyName, exePath);

            GetServiceState(serviceName);
            return(AppendLogsAndResult(true, string.Format("{0} install completed!", serviceName)));
        }
Exemple #2
0
        public MessageResult TryInstall()
        {
            var failResult    = MessageResult.MethodResult(nameof(TryInstall), false);
            var successResult = MessageResult.MethodResult(nameof(TryInstall), true);

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

                ServiceInstaller.InstallAndStart(ServiceName, DisplayName, ExePath);
                return(successResult);
            }
            catch (Exception e)
            {
                failResult.Message = failResult.Message + " => " + e.Message;
                return(failResult);
            }
        }