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); }
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); }
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); }
protected BizAppBaseAction(ApplicationInfo applicationInfo, BizTalkInfo bizTalkInfo) : base(applicationInfo) { if (bizTalkInfo == null) { throw new NullReferenceException("bizTalkInfo"); } this.BizTalkInfo = bizTalkInfo; }
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); }
public StopApplicationAction(ApplicationInfo applicationInfo, BizTalkInfo bizTalkInfo) : base(applicationInfo, bizTalkInfo) { }
public ValidateStartApplicationAction(ApplicationInfo applicationInfo, BizTalkInfo bizTalkInfo) : base(applicationInfo, bizTalkInfo) { }
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); }
public DeleteApplicationAction(ApplicationInfo applicationInfo, BizTalkInfo bizTalkInfo) : base(applicationInfo, bizTalkInfo) { }