コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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();
        }
コード例 #3
0
        protected override void Process([NotNull] InstallArgs args)
        {
            Assert.ArgumentNotNull(args, nameof(args));

            Assert.IsNotNull(args.Instance, "Instance");
            AgentHelper.CopyPackages(args.Instance, args.Modules);
        }
コード例 #4
0
        protected override void Process([NotNull] InstallArgs args)
        {
            Assert.ArgumentNotNull(args, "args");

            Assert.IsNotNull(args.Instance, "Instance");
            AgentHelper.DeleteAgentFiles(args.Instance);
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: BIGANDYT/spitfire-vitality
 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;
     }
 }
コード例 #6
0
        protected override void Process(InstallArgs args)
        {
            Assert.ArgumentNotNull(args, "args");

            string folderDirectory = args.WebRootPath + @"\App_Config\Include\";

            SetDataFolderPatchHelper.Process(folderDirectory, args.DataFolderPath);
        }
コード例 #7
0
        protected override void Process([NotNull] InstallArgs args)
        {
            Assert.ArgumentNotNull(args, "args");

            Instance instance = args.Instance;

            Assert.IsNotNull(instance, "Instance");
            InstanceHelper.StartInstance(instance);
        }
コード例 #8
0
        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);
        }
コード例 #9
0
        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();
        }
コード例 #10
0
        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);
        }
コード例 #11
0
        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);
            }
        }
コード例 #12
0
        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);
            }
        }
コード例 #13
0
        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);
            }
        }
コード例 #14
0
ファイル: Program.cs プロジェクト: phaniav/sitecorebuild
        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;
            }
        }
コード例 #15
0
ファイル: InstallerArgFactory.cs プロジェクト: zaxebo1/appget
        private string GetLoggingArgs(string logFile, InstallArgs args, IInstaller installer)
        {
            var template = args?.Log ?? installer.LogArgs;

            return(template?.Replace("{path}", $"\"{logFile}\""));
        }
コード例 #16
0
        protected override void Process(InstallArgs args)
        {
            var databasesFolderPath = args.DatabasesFolderPath;

            AttachDatabasesHelper.MoveDatabases(databasesFolderPath);
        }
コード例 #17
0
 protected override bool IsRequireProcessing(InstallArgs args)
 {
     return !this.ProcessorDefinition.Param.EqualsIgnoreCase("archive") || (args.Modules != null && args.Modules.Any(m => m != null && m.IsArchive));
 }
コード例 #18
0
    protected override bool IsRequireProcessing(InstallArgs args)
    {
      Assert.ArgumentNotNull(args, "args");

      return args.Modules.Any(m => m.IsPackage);
    }
コード例 #19
0
 protected override bool IsRequireProcessing(InstallArgs args)
 {
   return AttachDatabasesHelper.IsRemoteSqlServer();
 }
コード例 #20
0
 protected override bool IsRequireProcessing(InstallArgs args)
 {
     return(AttachDatabasesHelper.IsRemoteSqlServer());
 }
コード例 #21
0
        protected override bool IsRequireProcessing(InstallArgs args)
        {
            Assert.ArgumentNotNull(args, nameof(args));

            return(args.Modules.Any(m => m.IsPackage));
        }
コード例 #22
0
ファイル: InstallerArgFactory.cs プロジェクト: zaxebo1/appget
        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);
        }
コード例 #23
0
ファイル: ApplicationStarter.cs プロジェクト: Epitomy/CMS
 public ServiceInstallEventArgs()
 {
     Install = new InstallArgs();
     Service = new ServiceArgs();
 }
コード例 #24
0
 protected override bool IsRequireProcessing(InstallArgs args)
 {
     return(!this.ProcessorDefinition.Param.EqualsIgnoreCase("archive") || (args.Modules != null && args.Modules.Any(m => m != null && m.IsArchive)));
 }
コード例 #25
0
 protected override void Process(InstallArgs args)
 {
   var databasesFolderPath = args.DatabasesFolderPath;
   AttachDatabasesHelper.MoveDatabases(databasesFolderPath);
 }