public void Start(string installationFolder) { Verify(installationFolder); var appType = _detectApplicationType.GetAppType(); try { _terminateNzbDrone.Terminate(); _backupAndRestore.Backup(installationFolder); _backupAppData.Backup(); _logger.Info("Moving update package to target"); try { _diskProvider.EmptyFolder(installationFolder); _diskProvider.CopyFolder(_appFolderInfo.GetUpdatePackageFolder(), installationFolder); } catch (Exception e) { _backupAndRestore.Restore(installationFolder); _logger.FatalException("Failed to copy upgrade package to target folder.", e); } } finally { _startNzbDrone.Start(appType, installationFolder); } }
public void BackUp(string source) { _logger.Info("Creating backup of existing installation"); _diskProvider.CopyFolder(source, _appFolderInfo.GetUpdateBackUpFolder()); }