protected override void Process([NotNull] InstallArgs args) { Assert.ArgumentNotNull(args, nameof(args)); Instance instance = args.Instance; Assert.IsNotNull(instance, nameof(instance)); if (ProcessorDefinition.Param == "nowait") { if (!args.PreHeat) { return; } try { InstanceHelper.StartInstance(instance, 500); } catch { // ignore error } } else { InstanceHelper.StartInstance(instance); } }
protected override void DoExecute(CommandResultBase <string[]> result) { Assert.ArgumentNotNull(result, "result"); var name = this.Name; Assert.ArgumentNotNullOrEmpty(name, "name"); var product = this.Product; var version = this.Version; var revision = this.Revision; var profile = Profile.Read(); var repository = profile.LocalRepository; Assert.IsNotNullOrEmpty(repository, "Profile.LocalRepository is null or empty"); Assert.IsTrue(Directory.Exists(repository), "Profile.LocalRepository points to non-existing folder"); var license = profile.License; Assert.IsNotNullOrEmpty(license, "Profile.License is null or empty"); Assert.IsTrue(File.Exists(license), "Profile.License points to non-existing file"); var builder = profile.GetValidConnectionString(); var instancesFolder = profile.InstancesFolder; Assert.IsNotNullOrEmpty(instancesFolder, "Profile.InstancesFolder is null or empty"); Assert.IsTrue(Directory.Exists(instancesFolder), "Profile.InstancesFolder points to non-existing folder"); var rootPath = Path.Combine(instancesFolder, name); Assert.IsTrue(!Directory.Exists(rootPath), "The folder already exists: {0}", rootPath); ProductManager.Initialize(repository); var distributive = ProductManager.FindProduct(ProductType.Standalone, product, version, revision); if (distributive == null) { result.Success = false; result.Message = "product not found"; result.Data = null; return; } PipelineManager.Initialize(); var sqlServerAccountName = SqlServerManager.Instance.GetSqlServerAccountName(builder); var webServerIdentity = Settings.CoreInstallWebServerIdentity.Value; var installArgs = new InstallArgs(name, name, distributive, rootPath, builder, sqlServerAccountName, webServerIdentity, new FileInfo(license), true, false, false, false, false, false, true, new Product[0]); var controller = new AggregatePipelineController(); PipelineManager.StartPipeline("install", installArgs, controller, false); result.Success = !string.IsNullOrEmpty(controller.Message); result.Message = controller.Message; result.Data = controller.GetMessages().ToArray(); }
protected override void Process([NotNull] InstallArgs args) { Assert.ArgumentNotNull(args, nameof(args)); Assert.IsNotNull(args.Instance, "Instance"); AgentHelper.CopyPackages(args.Instance, args.Modules); }
protected override void Process([NotNull] InstallArgs args) { Assert.ArgumentNotNull(args, "args"); Assert.IsNotNull(args.Instance, "Instance"); AgentHelper.DeleteAgentFiles(args.Instance); }
public static void Main(string[] args) { switch (args[0]) { case "install": InstallArgs installArgs = new InstallArgs(args); InstallProcess installProcess = new InstallProcess(); installProcess.Execute(installArgs); break; case "delete": DeleteArgs deleteArgs = new DeleteArgs(args); DeleteProcess deleteProcess = new DeleteProcess(); deleteProcess.Execute(deleteArgs); break; case "export": var exportArgs = new ExportArgs(args); var exportProcess = new ExportProcess(); exportProcess.Execute(exportArgs); break; case "import": var importArgs = new ImportArgs(args); var importProcess = new ImportProcess(); importProcess.Execute(importArgs); break; } }
protected override void Process(InstallArgs args) { Assert.ArgumentNotNull(args, "args"); string folderDirectory = args.WebRootPath + @"\App_Config\Include\"; SetDataFolderPatchHelper.Process(folderDirectory, args.DataFolderPath); }
protected override void Process([NotNull] InstallArgs args) { Assert.ArgumentNotNull(args, "args"); Instance instance = args.Instance; Assert.IsNotNull(instance, "Instance"); InstanceHelper.StartInstance(instance); }
protected override void Process(InstallArgs args) { Assert.ArgumentNotNull(args, "args"); Assert.IsNotNull(args.Instance, "Instance"); Instance instance = args.Instance; IEnumerable<Product> modules = args.Modules; string param = this.ProcessorDefinition.Param; ConfigurationActions.ExecuteActions(instance, modules.ToArray(), this.done, param, args.ConnectionString, this.Controller); }
protected override void DoExecute(CommandResult <string[]> result) { Assert.ArgumentNotNull(result, nameof(result)); var name = Name; Assert.ArgumentNotNullOrEmpty(name, nameof(name)); var hostNames = new[] { name }; var sqlPrefix = name; var product = Product; var version = Version; var revision = Revision; var profile = Profile.Read(); var repository = profile.LocalRepository; Ensure.IsNotNullOrEmpty(repository, "Profile.LocalRepository is not specified"); Ensure.IsTrue(Directory.Exists(repository), "Profile.LocalRepository points to missing folder"); var license = profile.License; Ensure.IsNotNullOrEmpty(license, "Profile.License is not specified"); Ensure.IsTrue(File.Exists(license), "Profile.License points to missing file"); var builder = profile.GetValidConnectionString(); var instancesFolder = profile.InstancesFolder; Ensure.IsNotNullOrEmpty(instancesFolder, "Profile.InstancesFolder is not specified"); Ensure.IsTrue(Directory.Exists(instancesFolder), "Profile.InstancesFolder points to missing folder"); var rootPath = Path.Combine(instancesFolder, name); Ensure.IsTrue(!Directory.Exists(rootPath), "Folder already exists: {0}", rootPath); ProductManager.Initialize(repository); var distributive = ProductManager.FindProduct(ProductType.Standalone, product, version, revision); Ensure.IsNotNull(distributive, "product is not found"); PipelineManager.Initialize(XmlDocumentEx.LoadXml(PipelinesConfig.Contents).DocumentElement); var sqlServerAccountName = SqlServerManager.Instance.GetSqlServerAccountName(builder); var webServerIdentity = Settings.CoreInstallWebServerIdentity.Value; var installArgs = new InstallArgs(name, hostNames, sqlPrefix, true, distributive, rootPath, builder, sqlServerAccountName, webServerIdentity, new FileInfo(license), true, false, false, false, false, false, true, true, new Product[0]); var controller = new AggregatePipelineController(); PipelineManager.StartPipeline("install", installArgs, controller, false); result.Success = !string.IsNullOrEmpty(controller.Message); result.Message = controller.Message; result.Data = controller.GetMessages().ToArray(); }
protected override void Process(InstallArgs args) { Assert.ArgumentNotNull(args, "args"); Assert.IsNotNull(args.Instance, "Instance"); Instance instance = args.Instance; IEnumerable <Product> modules = args.Modules; string param = this.ProcessorDefinition.Param; ConfigurationActions.ExecuteActions(instance, modules.ToArray(), this.done, param, args.ConnectionString, this.Controller); }
protected override void Process([NotNull] InstallArgs args) { Assert.ArgumentNotNull(args, nameof(args)); Assert.IsNotNull(args.Instance, "Instance"); foreach (var module in args._Modules.Where(m => m.IsPackage)) { if (_Done.Contains(module)) { continue; } AgentHelper.InstallPackage(args.Instance, module); _Done.Add(module); } }
protected override void Process([NotNull] InstallArgs args) { Assert.ArgumentNotNull(args, "args"); Assert.IsNotNull(args.Instance, "Instance"); foreach (Product module in args.Modules.Where(m => m.IsPackage)) { if (this.done.Contains(module)) { continue; } AgentHelper.InstallPackage(args.Instance, module); this.done.Add(module); } }
protected override void Process([NotNull] InstallArgs args) { Assert.ArgumentNotNull(args, nameof(args)); Assert.IsNotNull(args.Instance, "Instance"); AgentHelper.ResetStatus(args.Instance); foreach (var module in args.Modules.Where(m => m.IsPackage)) { if (this.done.Contains(module)) { continue; } AgentHelper.PerformPostStepAction(args.Instance, module); this.done.Add(module); } }
public static void Main(string[] args) { switch (args[0]) { case "install": InstallArgs installArgs = new InstallArgs(args); InstallProcess installProcess = new InstallProcess(); installProcess.Execute(installArgs); break; case "delete": DeleteArgs deleteArgs = new DeleteArgs(args); DeleteProcess deleteProcess = new DeleteProcess(); deleteProcess.Execute(deleteArgs); break; case "export": var exportArgs = new ExportArgs(args); var exportProcess = new ExportProcess(); exportProcess.Execute(exportArgs); break; } }
private string GetLoggingArgs(string logFile, InstallArgs args, IInstaller installer) { var template = args?.Log ?? installer.LogArgs; return(template?.Replace("{path}", $"\"{logFile}\"")); }
protected override void Process(InstallArgs args) { var databasesFolderPath = args.DatabasesFolderPath; AttachDatabasesHelper.MoveDatabases(databasesFolderPath); }
protected override bool IsRequireProcessing(InstallArgs args) { return !this.ProcessorDefinition.Param.EqualsIgnoreCase("archive") || (args.Modules != null && args.Modules.Any(m => m != null && m.IsArchive)); }
protected override bool IsRequireProcessing(InstallArgs args) { Assert.ArgumentNotNull(args, "args"); return args.Modules.Any(m => m.IsPackage); }
protected override bool IsRequireProcessing(InstallArgs args) { return AttachDatabasesHelper.IsRemoteSqlServer(); }
protected override bool IsRequireProcessing(InstallArgs args) { return(AttachDatabasesHelper.IsRemoteSqlServer()); }
protected override bool IsRequireProcessing(InstallArgs args) { Assert.ArgumentNotNull(args, nameof(args)); return(args.Modules.Any(m => m.IsPackage)); }
private InstallInteractivityLevel GetInteractivelyLevel(InstallInteractivityLevel interactivity, InstallArgs args, IInstaller installer) { bool SupportsSilent() { return(args?.Silent != null || installer.SilentArgs != null); } bool SupportsPassive() { return(args?.Passive != null || installer.PassiveArgs != null); } if (interactivity == InstallInteractivityLevel.Silent && !SupportsSilent()) { if (SupportsPassive()) { _logger.Info("Silent install is not supported by installer. Switching to Passive"); return(InstallInteractivityLevel.Passive); } _logger.Warn("Silent or Passive install is not supported by installer. Switching to Interactive"); return(InstallInteractivityLevel.Interactive); } if (interactivity == InstallInteractivityLevel.Passive && !SupportsPassive()) { if (SupportsSilent()) { _logger.Info("Passive install is not supported by installer. Switching to Silent."); return(InstallInteractivityLevel.Silent); } _logger.Warn("Silent or Passive install is not supported by installer. Switching to Interactive"); return(InstallInteractivityLevel.Interactive); } return(interactivity); }
public ServiceInstallEventArgs() { Install = new InstallArgs(); Service = new ServiceArgs(); }
protected override bool IsRequireProcessing(InstallArgs args) { return(!this.ProcessorDefinition.Param.EqualsIgnoreCase("archive") || (args.Modules != null && args.Modules.Any(m => m != null && m.IsArchive))); }