protected override void ProcessRecord() { base.ProcessRecord(); Logger.LogVerbose("Entering MergeXrmSolution"); if (AsyncWaitTimeout == 0) { AsyncWaitTimeout = 15 * 60; base.WriteVerbose(string.Format("Setting Default AsyncWaitTimeout: {0}", AsyncWaitTimeout)); } if (SleepInterval == 0) { SleepInterval = 15; base.WriteVerbose(string.Format("Setting Default SleepInterval: {0}", SleepInterval)); } XrmConnectionManager xrmConnection = new XrmConnectionManager( Logger); IOrganizationService pollingOrganizationService = xrmConnection.Connect( ConnectionString, 120); SolutionManager solutionManager = new SolutionManager( Logger, OrganizationService, pollingOrganizationService); SolutionApplyResult result = solutionManager.ApplySolution( UniqueSolutionName, ImportAsync, SleepInterval, AsyncWaitTimeout); if (!result.Success) { throw new Exception(string.Format("Solution upgrade Failed. Error: {0}", result.ErrorMessage)); } Logger.LogVerbose("Leaving MergeXrmSolution"); //base.ProcessRecord(); //base.WriteVerbose(string.Format("Upgrading Solution: {0}", UniqueSolutionName)); //if (AsyncWaitTimeout == 0) //{ // AsyncWaitTimeout = 15 * 60; // base.WriteVerbose(string.Format("Setting Default AsyncWaitTimeout: {0}", AsyncWaitTimeout)); //} //if (SleepInterval == 0) //{ // SleepInterval = 15; // base.WriteVerbose(string.Format("Setting Default SleepInterval: {0}", SleepInterval)); //} //var upgradeSolutionRequest = new DeleteAndPromoteRequest //{ // UniqueName = UniqueSolutionName //}; //if (ImportAsync) //{ // var asyncRequest = new ExecuteAsyncRequest // { // Request = upgradeSolutionRequest // }; // base.WriteVerbose("Applying using Async Mode"); // var asyncResponse = OrganizationService.Execute(asyncRequest) as ExecuteAsyncResponse; // Guid asyncJobId = asyncResponse.AsyncJobId; // base.WriteVerbose(string.Format("Async JobId: {0}", asyncJobId)); // WriteObject(asyncJobId); // if (WaitForCompletion) // { // base.WriteVerbose("Waiting for completion"); // AwaitCompletion(asyncJobId); // } //} //else //{ // OrganizationService.Execute(upgradeSolutionRequest); //} //base.WriteVerbose(string.Format("{0} Upgrade Completed", UniqueSolutionName)); //VerifyUpgrade(); }