Exemple #1
0
        public static List <BaseAction> CreateDeployDependentAppsActions(string applicationName, string msiLocation, string targetEnv)
        {
            //OurStopWatch.Enter("CreateActions");
            List <string> messagingServers = GlobalProperties.MessagingServers;

            List <BaseAction> baseActions = new List <BaseAction>();
            BizTalkInfo       bizTalkInfo = new BizTalkInfo();
            bool applicationExists        = bizTalkInfo.CatalogExplorer.ApplicationExists(applicationName);

            ApplicationInfo appInfo = new ApplicationInfo();

            appInfo.ApplicationName = applicationName;

            if (applicationExists)
            {
                foreach (string serverName in messagingServers)
                {
                    baseActions.Add(new InstallApplicationAction(serverName, msiLocation, null));
                }
                ImportDependentApplicationAction importAppAction = new ImportDependentApplicationAction(appInfo, msiLocation, targetEnv);
                importAppAction.TargetEnvironment = targetEnv;
                baseActions.Add(importAppAction);

                //baseActions.Add(new DeploySsoAction());

                baseActions.Add(new StartApplicationAction(appInfo, bizTalkInfo));
                baseActions.Add(new ValidateStartApplicationAction(appInfo, bizTalkInfo));
            }
            //OurStopWatch.Exit();
            return(baseActions);
        }
Exemple #2
0
        public static List <BaseAction> CreateRestartHostInstancesActions(string applicationName)
        {
            List <BaseAction>         baseActions    = new List <BaseAction>();
            Dictionary <string, bool> hostCollection = new Dictionary <string, bool>();
            BizTalkInfo bizTalkInfo = new BizTalkInfo();

            hostCollection = bizTalkInfo.CatalogExplorer.Applications[applicationName].GetHostNamesWithAsAResultOfDynamicPort();

            HostInstance.HostInstanceCollection hostInstances = HostInstance.GetInstances();

            // Loop through all hosts of the application
            //KeyValuePair<"HostInstance display name", "If the hostinstance was because app had dynamic ports">
            foreach (KeyValuePair <string, bool> host in hostCollection)
            {
                // Loop through all host instances of a particular host
                //OurStopWatch.Enter("GetEnabledHostInstanceName:"+host.Key);

                var query = from HostInstance hi in hostInstances
                            where !hi.IsDisabled & hi.HostName == host.Key
                            select hi;

                //foreach (string hostInstance in MSBTS_HostInstance.GetEnabledHostInstanceName(host.Key))

                foreach (HostInstance hostInstance in query)
                {
                    baseActions.Add(new RestartHostInstanceAction(host.Value, hostInstance));
                }
                //OurStopWatch.Exit();
            }
            return(baseActions);
        }
Exemple #3
0
        public static List <BaseAction> CreateBTDFActions(string applicationName, string resourceName, string productName, string productCode)
        {
            List <string> messagingServers = GlobalProperties.MessagingServers;

            List <BaseAction> baseActions = new List <BaseAction>();
            BizTalkInfo       bizTalkInfo = new BizTalkInfo();
            bool applicationExists        = bizTalkInfo.CatalogExplorer.ApplicationExists(applicationName);

            ApplicationInfo appInfo = new ApplicationInfo();

            appInfo.ApplicationName = applicationName;
            if (applicationExists)
            {
                baseActions.Add(new CheckForInProgressInstancesAction(appInfo));
                baseActions.Add(new StopApplicationAction(appInfo, bizTalkInfo));
                baseActions.Add(new DeleteApplicationAction(appInfo, bizTalkInfo));
            }



            foreach (string serverName in messagingServers)
            {
                string uninstallString = RegistryHelper.GetUninstallCommandFor(productCode, serverName);
                if (!string.IsNullOrEmpty(uninstallString))
                {
                    baseActions.Add(new UnInstallBTDFMsiAction(uninstallString, serverName, applicationName));
                }
            }



            foreach (string serverName in messagingServers)
            {
                ResourceInfo resourceInfo = new ResourceInfo();
                resourceInfo.ServerName   = serverName;
                resourceInfo.ResourceName = resourceName;
                baseActions.Add(new InstallBTDFMsiAction(resourceInfo));
            }

            for (int i = 0; i < messagingServers.Count; i++)
            {
                if (!messagingServers[i].Equals(Environment.MachineName))
                {
                    baseActions.Add(new DeployBTDFMsiAction(messagingServers[i]));
                }
            }
            for (int i = 0; i < messagingServers.Count; i++)
            {
                if (messagingServers[i].Equals(Environment.MachineName))
                {
                    baseActions.Add(new DeployBTDFMsiLastServerAction(messagingServers[i]));
                }
            }
            baseActions.Add(new ValidateStartApplicationAction(appInfo, bizTalkInfo));


            return(baseActions);
        }
Exemple #4
0
 protected BizAppBaseAction(ApplicationInfo applicationInfo, BizTalkInfo bizTalkInfo)
     : base(applicationInfo)
 {
     if (bizTalkInfo == null)
     {
         throw new NullReferenceException("bizTalkInfo");
     }
     this.BizTalkInfo = bizTalkInfo;
 }
Exemple #5
0
        public static List <BaseAction> CreateUnDeployDependentAppsActions(string applicationName, string msiLocation)
        {
            //OurStopWatch.Enter("CreateActions");
            List <string> messagingServers = GlobalProperties.MessagingServers;

            List <BaseAction> baseActions = new List <BaseAction>();
            BizTalkInfo       bizTalkInfo = new BizTalkInfo();
            bool applicationExists        = bizTalkInfo.CatalogExplorer.ApplicationExists(applicationName);

            ApplicationInfo appInfo = new ApplicationInfo();

            appInfo.ApplicationName = applicationName;

            if (applicationExists)
            {
                baseActions.Add(new StopApplicationAction(appInfo, bizTalkInfo));
                baseActions.Add(new DeleteApplicationAction(appInfo, bizTalkInfo));
                foreach (string serverName in messagingServers)
                {
                    if (GenericHelper.PingServer(serverName))
                    {
                        try
                        {
                            string UninstallGuid = RegistryHelper.GetUninstallGuid(appInfo.ApplicationName, serverName);
                            if (!String.IsNullOrEmpty(UninstallGuid))
                            {
                                baseActions.Add(new UnInstallApplicationAction(appInfo, serverName));
                            }
                        }
                        catch (Exception)
                        {
                            baseActions.Add(new UnInstallApplicationAction(appInfo, serverName));
                        }
                    }
                    else
                    {
                        baseActions.Add(new UnInstallApplicationAction(appInfo, serverName));
                    }
                }
            }


            return(baseActions);
        }
Exemple #6
0
 public StopApplicationAction(ApplicationInfo applicationInfo, BizTalkInfo bizTalkInfo)
     : base(applicationInfo, bizTalkInfo)
 {
 }
Exemple #7
0
 public ValidateStartApplicationAction(ApplicationInfo applicationInfo, BizTalkInfo bizTalkInfo)
     : base(applicationInfo, bizTalkInfo)
 {
 }
Exemple #8
0
        public static List <BaseAction> CreateActions(string applicationName, string msiLocation, List <string> webDirectories)
        {
            //OurStopWatch.Enter("CreateActions");
            List <string> messagingServers = GlobalProperties.MessagingServers;

            List <BaseAction> baseActions = new List <BaseAction>();
            BizTalkInfo       bizTalkInfo = new BizTalkInfo();
            bool applicationExists        = bizTalkInfo.CatalogExplorer.ApplicationExists(applicationName);

            ApplicationInfo appInfo = new ApplicationInfo();

            appInfo.ApplicationName = applicationName;

            if (applicationExists)
            {
                baseActions.Add(new CheckForInProgressInstancesAction(appInfo));
                baseActions.Add(new StopApplicationAction(appInfo, bizTalkInfo));
                baseActions.AddRange(CreateRestartHostInstancesActions(applicationName));
                baseActions.Add(new DeleteApplicationAction(appInfo, bizTalkInfo));
            }


            //OurStopWatch.Enter("UnInstallApplicationAction");
            foreach (string serverName in messagingServers)
            {
                if (GenericHelper.PingServer(serverName))
                {
                    try
                    {
                        string UninstallGuid = RegistryHelper.GetUninstallGuid(appInfo.ApplicationName, serverName);
                        if (!String.IsNullOrEmpty(UninstallGuid))
                        {
                            baseActions.Add(new UnInstallApplicationAction(appInfo, serverName));
                        }
                    }
                    catch (Exception)
                    {
                        baseActions.Add(new UnInstallApplicationAction(appInfo, serverName));
                    }
                }
                else
                {
                    baseActions.Add(new UnInstallApplicationAction(appInfo, serverName));
                }
            }
            //OurStopWatch.Exit();

            //OurStopWatch.Enter("InstallApplicationAction");
            foreach (string serverName in messagingServers)
            {
                baseActions.Add(new InstallApplicationAction(serverName, msiLocation, null));
            }
            //OurStopWatch.Exit();
            baseActions.Add(new ImportApplicationAction(appInfo, msiLocation));

            //baseActions.Add(new DeploySsoAction());

            if (webDirectories.Count > 0)
            {
                foreach (var item in webDirectories)
                {
                    foreach (string serverName in messagingServers)
                    {
                        if (GenericHelper.PingServer(serverName))
                        {
                            try
                            {
                                string applicationPool = IISHelper.GetApplicationPoolOfApplication(serverName, item);
                                if (!string.IsNullOrEmpty(applicationPool))
                                {
                                    baseActions.Add(new RecycleApplicationPool(serverName, applicationPool));
                                }
                            }
                            catch (Exception)
                            {
                            }
                        }
                    }
                }
            }
            baseActions.Add(new StartApplicationAction(appInfo, bizTalkInfo));
            baseActions.Add(new ValidateStartApplicationAction(appInfo, bizTalkInfo));
            //OurStopWatch.Exit();
            return(baseActions);
        }
Exemple #9
0
 public DeleteApplicationAction(ApplicationInfo applicationInfo, BizTalkInfo bizTalkInfo)
     : base(applicationInfo, bizTalkInfo)
 {
 }