public virtual void Start() { _iisProvider.StopServer(); _securityProvider.MakeAccessible(); if (_securityProvider.IsCurrentUserAdmin()) { var tempFiles = Path.Combine(RuntimeEnvironment.GetRuntimeDirectory(), "Temporary ASP.NET Files"); logger.Debug("Creating Temporary ASP.Net folder: {0}", tempFiles); _diskProvider.CreateDirectory(tempFiles); } _iisProvider.StartServer(); //Todo: verify that IIS is actually started _debuggerProvider.Attach(); if (_environmentProvider.IsUserInteractive && _configFileProvider.LaunchBrowser) { try { logger.Info("Starting default browser. {0}", _iisProvider.AppUrl); _processProvider.Start(_iisProvider.AppUrl); } catch (Exception e) { logger.ErrorException("Failed to open URL in default browser.", e); } } _monitoringProvider.Start(); }
public virtual void Start(ProgressNotification notification, dynamic options) { notification.CurrentMessage = "Restarting NzbDrone"; logger.Info("Restarting NzbDrone"); _iisProvider.StopServer(); }
public virtual void Start(string targetFolder) { Verify(targetFolder); AppType appType = AppType.Normal; logger.Info("Stopping all running services"); if (_serviceProvider.ServiceExist(ServiceProvider.NZBDRONE_SERVICE_NAME) && _serviceProvider.IsServiceRunning(ServiceProvider.NZBDRONE_SERVICE_NAME)) { appType = AppType.Service; _serviceProvider.Stop(ServiceProvider.NZBDRONE_SERVICE_NAME); } else { appType = AppType.Normal; } //TODO:Should be able to restart service if anything beyond this point fails logger.Info("Killing all running processes"); var processes = _processProvider.GetProcessByName(ProcessProvider.NzbDroneProccessName); foreach (var processInfo in processes) { _processProvider.Kill(processInfo.Id); } var consoleProcesses = _processProvider.GetProcessByName(ProcessProvider.NzbDroneConsoleProccessName); foreach (var processInfo in consoleProcesses) { appType = AppType.Console; _processProvider.Kill(processInfo.Id); } logger.Info("Killing all orphan IISExpress processes"); _iisProvider.StopServer(); logger.Info("Creating backup of existing installation"); _diskProvider.CopyDirectory(targetFolder, _environmentProvider.GetUpdateBackUpFolder()); logger.Info("Moving update package to target"); try { _diskProvider.CopyDirectory(_environmentProvider.GetUpdatePackageFolder(), targetFolder); logger.Trace("Deleting Update Package."); _diskProvider.DeleteFolder(_environmentProvider.GetUpdatePackageFolder(), true); } catch (Exception e) { RollBack(targetFolder); foreach (var key in e.Data.Keys) { logger.Trace("Key: {0}, Value: {1}", key, e.Data[key]); } logger.FatalException("Failed to copy upgrade package to target folder.", e); } finally { StartNzbDrone(appType, targetFolder); } }
private void ProgramExited(object sender, EventArgs e) { _iisProvider.StopServer(); }