Personalized Community is here!
Quickly customize your community to find the content you seek.
Have questions on moving to the cloud? Visit the Dynamics 365 Migration Community today! Microsoft’s extensive network of Dynamics AX and Dynamics CRM experts can help.
2021 Release Wave 1Discover the latest updates and new features to Dynamics 365 planned April 2021 through September 2021.
Release overview guides and videos Release Plan | Preview 2021 Release Wave 1 Timeline
The FastTrack program is designed to help you accelerate your Dynamics 365 deployment with confidence.
FastTrack Program | Finance and Operations TechTalks | Customer Engagement TechTalks | Upcoming TechTalks | All TechTalks
I've been reading through the SDK 8.1 to find out how to:
1) Import a managed solution as Holding Solution 2) Apply Solution Upgrade
Purpose is to import my latest solution that include deletion of fields and hence get the fields removed from production environment.
I've managed to find answer for step number 1 by execution an ImportSolutionRequest:
ImportSolutionRequest impSolReq = new ImportSolutionRequest()
CustomizationFile = fileBytes,
PublishWorkflows = true,
OverwriteUnmanagedCustomizations = false,
HoldingSolution = true
This will import my solution as new holding solution. In the UI I can then press "Apply Solution Upgrade" to start the upgrade process.
I have not succeeded in finding the corresponding request for "Apply Solution Upgrade" in the SDK.
I'm running On-Premise CRM 2016 SP1 version 08.01.0000.0359
Hope someone have and can help me with an answer.
You would like to publish that solution using Publish request. It won't actually act like Apply Upgrade but the changes publishing which was on hold will get published. You can refer to following MSDN link - https://msdn.microsoft.com/en-us/library/gg334390.aspx Thanks!Sam
Thanks for you reply.
As you wrote: Publishing will not "Apply the Upgrade" and I will end up with still having both the original solution installed and the holding solution.
A little background: I'm working on building PowerShell CmdLet's to import our solution to automate deploy process from Dev to PreProd to Prod. And the scenario is: I'm working with managed solutions and in version 1 I create two new fields (FieldOne & FieldTwo). In version 2 of my manged solution I have deleted FieldTwo. I would like FieldTwo to be deleted during deploy to PreProd and Prod. Currently I can't seem to do that in Code or with WebApi.
But, I've found out this weekend that the PackageDeployer will do what I need. If you import a managed solution with PackageDeployer and don't overwrite the customizations, then PackageDeployer will take care of the upgrade process. E.g. when I import version 2 of my solution version 1 will be upgraded with version 2 and FieldTwo will be deleted.
I also noticed that the SDK 8.1 might not have been completely updated. Heres what it contains about "HoldingSolution".
WebApi ImportSolution Action:
I will work with PackageDeployer for now and look forward to next release of the SDK.
Thanks again for your comment.
the secret is hidden here:
The DeleteAndPromoteRequest is exactly what I was looking for.
Business Applications communities