Hi Everyone,
We are experiencing some issues with removing plugins from our environments. The Microsoft support department isn't getting us anywhere. So hopefully someone can send us in the right direction.
Our situation is as following:
Dev/Test environment (unmanaged)
Accept environment (managed)
Production environment (managed)
We are currently in a refactoring phase where old plugins are replaced with new ones. The old ones are removed from the unmanaged environment en the new plugins will be registered.
The solution from our test environment is exported as managed en import to our accept environment and then to production if accept is approved. We release the solution as upgrade.
How we are used to work is that we need to track which plugins are removed because an upgrade fails when there are plugins removed. All fine we are aware and remove these plugins through the plugin registration tool (PRT) before importing the managed solution.
About a month ago the behaviour seems to be changed within our accept/production environments. We are not able to delete plugins through the PRT anymore.
The solution import/upgrade also fails because there are plugins removed in the source environment and the solution cannot be imported. As you can think of this has huge consequences for our release process.
Our only option is to completely remove the solution which contains the plugin registrations or use an update instead of upgrade but that doesn't clean the removed plugins.
We received some workarounds with increasing major/minor version of the assembly. But this doesn't resolve our issue.
The answer I'm looking for is what changed, what happened? It seems that Microsoft changed the system behaviour when importing solutions. We have 8 environments which work with managed solutions.
Behaviour changed for all environments at the same time, so it isn't related to our own customatizations. I'm working for quiet a while with CE and haven't seen things like this before.
If we aren't allowed to remove plugins through the PRT I would expect the upgrade process would take care of the plugin removal process. But it doesn't and that means we are stuck which is highly frustrating because we cannot following the release schedule for our business and not following the release process how we are used to for past years. Hopefully the community has some ideas or understanding what happened. It seems like behaviour around managed plugins have changed.
When deleting plugins via the PRT we receive the following error:
Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: The evaluation of the current component(name=SdkMessageProcessingStep, id=e531e528-602f-ed11-9db0-000d3ade25e9) in the current operation (Delete) failed during managed property evaluation of condition: {Managed Property Name: ismanaged}Detail: <OrganizationServiceFault xmlns=/http://schemas.microsoft.com/xrm/2011/Contracts/ xmlns:i=/http://www.w3.org/2001/XMLSchema-instance/> <ActivityId>4158e575-2287-452d-b812-c297fc789f15</ActivityId> <ErrorCode>-2147160026</ErrorCode> <ErrorDetails xmlns:a=/http://schemas.datacontract.org/2004/07/System.Collections.Generic/> <KeyValuePairOfstringanyType> <a:key>ApiExceptionSourceKey</a:key> <a:value i:type=/b:string/ xmlns:b=/http://www.w3.org/2001/XMLSchema/>Plugin/Microsoft.Crm.ObjectModel.SdkMessageProcessingStepService</a:value> </KeyValuePairOfstringanyType> <KeyValuePairOfstringanyType> <a:key>ApiSourceActivityKey</a:key> <a:value i:type=/b:string/ xmlns:b=/http://www.w3.org/2001/XMLSchema/ /> </KeyValuePairOfstringanyType> <KeyValuePairOfstringanyType> <a:key>ApiExceptionOwnerKey</a:key> <a:value i:type=/b:string/ xmlns:b=/http://www.w3.org/2001/XMLSchema/>OwnershipNotFoundInExceptionOwnerSettings</a:value> </KeyValuePairOfstringanyType> <KeyValuePairOfstringanyType> <a:key>ApiOriginalExceptionKey</a:key> <a:value i:type=/b:string/ xmlns:b=/http://www.w3.org/2001/XMLSchema/>Microsoft.Crm.CrmException: The evaluation of the current component(name=SdkMessageProcessingStep, id=e531e528-602f-ed11-9db0-000d3ade25e9) in the current operation (Delete) failed during managed property evaluation of condition: {Managed Property Name: ismanaged} ---> Microsoft.Crm.CrmException: The evaluation of the current component(name=SdkMessageProcessingStep, id=e531e528-602f-ed11-9db0-000d3ade25e9) in the current operation (Delete) failed during managed property evaluation of condition: {Managed Property Name: ismanaged} at Microsoft.Crm.ObjectModel.SdkEntityServiceBase.ValidateManagedProperty(BusinessEntityMoniker moniker, ExecutionContext context) at Microsoft.Crm.ObjectModel.SdkMessageProcessingStepServiceInternal`1.DeleteInternal(BusinessEntityMoniker moniker, ExecutionContext context, Boolean verifySku, Boolean checkInternalStage, IBusinessEntity existingStep) at Microsoft.Crm.ObjectModel.SdkMessageProcessingStepServiceInternal`1.Delete(BusinessEntityMoniker moniker, ExecutionContext context) --- End of inner exception stack trace --- at Microsoft.Crm.Extensibility.VersionedPluginProxyStepBase.Execute(PipelineExecutionContext context) at Microsoft.Crm.Extensibility.PipelineInstrumentationHelper.Execute(Boolean instrumentationEnabled, String stopwatchName, ExecuteWithInstrumentation action, PipelineExecutionContext context) at Microsoft.Crm.Extensibility.Pipeline.<>c__DisplayClass6_0.<RunStep>b__0()</a:value> </KeyValuePairOfstringanyType>
Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: The evaluation of the current component(name=SdkMessageProcessingStepImage, id=3bda2590-4c20-ee11-9966-002248993928) in the current operation (Delete) failed during managed property evaluation of condition: {Managed Property Name: ismanaged}Detail: <OrganizationServiceFault xmlns=/http://schemas.microsoft.com/xrm/2011/Contracts/ xmlns:i=/http://www.w3.org/2001/XMLSchema-instance/> <ActivityId>50b1ed30-76a3-4036-90c1-7c1d2699ac82</ActivityId> <ErrorCode>-2147160026</ErrorCode> <ErrorDetails xmlns:a=/http://schemas.datacontract.org/2004/07/System.Collections.Generic/> <KeyValuePairOfstringanyType> <a:key>ApiExceptionSourceKey</a:key> <a:value i:type=/b:string/ xmlns:b=/http://www.w3.org/2001/XMLSchema/>Plugin/Microsoft.Crm.ObjectModel.SdkMessageProcessingStepImageService</a:value> </KeyValuePairOfstringanyType> <KeyValuePairOfstringanyType> <a:key>ApiSourceActivityKey</a:key> <a:value i:type=/b:string/ xmlns:b=/http://www.w3.org/2001/XMLSchema/ /> </KeyValuePairOfstringanyType> <KeyValuePairOfstringanyType> <a:key>ApiExceptionOwnerKey</a:key> <a:value i:type=/b:string/ xmlns:b=/http://www.w3.org/2001/XMLSchema/>OwnershipNotFoundInExceptionOwnerSettings</a:value> </KeyValuePairOfstringanyType> <KeyValuePairOfstringanyType> <a:key>ApiOriginalExceptionKey</a:key> <a:value i:type=/b:string/ xmlns:b=/http://www.w3.org/2001/XMLSchema/>Microsoft.Crm.CrmException: The evaluation of the current component(name=SdkMessageProcessingStepImage, id=3bda2590-4c20-ee11-9966-002248993928) in the current operation (Delete) failed during managed property evaluation of condition: {Managed Property Name: ismanaged} ---> Microsoft.Crm.CrmException: The evaluation of the current component(name=SdkMessageProcessingStepImage, id=3bda2590-4c20-ee11-9966-002248993928) in the current operation (Delete) failed during managed property evaluation of condition: {Managed Property Name: ismanaged} at Microsoft.Crm.ObjectModel.SdkEntityServiceBase.ValidateManagedProperty(BusinessEntityMoniker moniker, ExecutionContext context) at Microsoft.Crm.ObjectModel.SdkMessageProcessingStepImageServiceInternal`1.DeleteInternal(BusinessEntityMoniker moniker, ExecutionContext context, Boolean verifySku) --- End of inner exception stack trace --- at Microsoft.Crm.Extensibility.VersionedPluginProxyStepBase.Execute(PipelineExecutionContext context) at Microsoft.Crm.Extensibility.PipelineInstrumentationHelper.Execute(Boolean instrumentationEnabled, String stopwatchName, ExecuteWithInstrumentation action, PipelineExecutionContext context) at Microsoft.Crm.Extensibility.Pipeline.<>c__DisplayClass6_0.<RunStep>b__0()</a:value> </KeyValuePairOfstringanyType>