EnterpriseWebLibrary.InstallationSupportUtility.InstallationModel.ExistingInstallationLogic.stopServices C# (CSharp) Method

stopServices() private method

private stopServices ( ) : void
return void
        private void stopServices()
        {
            var allServices = ServiceController.GetServices();
            var serviceNames = RuntimeConfiguration.WindowsServices.Select( s => s.InstalledName );
            foreach( var service in allServices.Where( sc => serviceNames.Contains( sc.ServiceName ) ) ) {
                // Clear failure actions.
                EwlStatics.RunProgram( "sc", "failure \"{0}\" reset= {1} actions= \"\"".FormatWith( service.ServiceName, serviceFailureResetPeriod ), "", true );

                if( service.Status == ServiceControllerStatus.Stopped )
                    continue;
                service.Stop();
                service.WaitForStatusWithTimeOut( ServiceControllerStatus.Stopped );
            }
        }