public void RegisterService() { var serviceDetails = new WindowsServiceDetails { ServiceAccount = ServiceAccount, ServiceAccountPwd = ServiceAccountPwd, DisplayName = DisplayName, Name = Name, ImagePath = $"\"{Path.Combine(InstallPath, Constants.ServiceControlExe)}\" --serviceName={Name}", ServiceDescription = ServiceDescription }; var dependencies = new List <string>(); if (TransportPackage.Equals("MSMQ", StringComparison.OrdinalIgnoreCase)) { dependencies.Add("MSMQ"); } WindowsServiceController.RegisterNewService(serviceDetails, dependencies.ToArray()); // Service registered so pull out not configured flag files. RemoveFlagFiles(); }
public void Validate(Func <PathInfo, bool> promptToProceed) { if (TransportPackage.Equals("MSMQ", StringComparison.OrdinalIgnoreCase)) { try { MsmqConfigValidator.Validate(); } catch (EngineValidationException ex) { ReportCard.Errors.Add(ex.Message); } } try { PortValidator.Validate(this); } catch (EngineValidationException ex) { ReportCard.Errors.Add(ex.Message); } try { DatabaseMaintenancePortValidator.Validate(this); } catch (EngineValidationException ex) { ReportCard.Errors.Add(ex.Message); } try { ReportCard.CancelRequested = new PathsValidator(this).RunValidation(true, promptToProceed); } catch (EngineValidationException ex) { ReportCard.Errors.Add(ex.Message); } try { ServiceControlQueueNameValidator.Validate(this); } catch (EngineValidationException ex) { ReportCard.Errors.Add(ex.Message); } try { CheckForConflictingUrlAclReservations(); } catch (EngineValidationException ex) { ReportCard.Errors.Add(ex.Message); } try { ServiceAccountValidation.Validate(this); ConnectionStringValidator.Validate(this); } catch (IdentityNotMappedException) { ReportCard.Errors.Add("The service account specified does not exist"); } catch (EngineValidationException ex) { ReportCard.Errors.Add(ex.Message); } }