The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Dataverse plug-in steps can appear twice after deployment when a registration that already existed is deleted and recreated, or when its GUID is changed in exported solution XML. The reliable fix is to preserve and update the existing registration through supported tools, and include the step—not just its assembly—in the solution you move.
What a plug-in step does
A plug-in step is a registration that tells Dataverse which message and table operation should invoke a plug-in and how it should execute. Dataverse stores registered step information in the SdkMessageProcessingStep table, as described in Microsoft’s Event Framework documentation.
As an Amazon Associate I earn from qualifying purchases.
A step’s identity and its behavior are separate concerns. Its identity determines which registration is being updated; its settings determine when and how that registration runs. A deployment can go wrong through duplicate identity, an unintended assembly reference, missing solution membership, or changed behavior settings.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Why a step can duplicate after deployment
Microsoft documents a specific cause: deleting a previously registered step in the source environment and creating it again can result in a duplicate registration in the target. The recreated step has a different identity, so deployment may add it rather than update the registration that is already there. Manually creating a step with a new GUID or changing the existing GUID in customizations.xml can likewise register a duplicate. See Microsoft’s guidance on duplicate plug-in step registration.
#1 Best Overall
Do not fix this by editing GUIDs or writing directly to SdkMessageProcessingStep. Microsoft advises updating existing steps rather than deleting and recreating them, and creating or updating registrations through supported workflows such as the Plug-in Registration Tool or Power Platform Tools.
What duplicate execution can cause
If duplicate registrations match the event, the plug-in can execute more than once for that event. Microsoft identifies possible operational risks: synchronous duplicates can affect the user’s experience, asynchronous work can be delayed, and duplicate update registrations can contribute to SQL deadlocking. These are documented risks, not guaranteed outcomes for every duplicate.
Rank #2
How to keep step IDs stable
- Update the registration that already exists. In the Plug-in Registration Tool or Power Platform Tools workflow, change the existing step rather than deleting it and registering a replacement. Avoid manually changing its GUID in exported XML.
- Include the step in the solution. Assemblies and steps are separate solution components. Adding a plug-in assembly to an unmanaged solution does not automatically add its steps. Add the relevant step components explicitly before exporting and moving the solution. Microsoft’s plug-in registration guide describes registration and solution membership.
- Deploy the intended solution components. Check that the target receives the assembly and the step configuration that belongs with it. A stable step ID cannot compensate for a step omitted from the solution.
- Compare the deployed settings. Verify the message, primary entity, event stage, execution mode, execution order, filtering attributes, and user context against the intended registration. These settings can change behavior even when the step identity is stable.
Diagnose the kind of drift before changing anything
Trace the registration in both source and target environments before removing or recreating steps. Determine whether the source step was deleted and recreated, whether anyone edited its GUID in exported XML, and whether the step itself was included in the solution. Then compare the actual registration settings and assembly reference.
- Identity duplication: a recreated step or changed GUID can be treated as a new registration. Preserve the existing registration and update it using supported tools.
- Missing solution component: the assembly may be present while its step is absent. Add the step to the solution being moved.
- Behavioral mismatch: differences in message, table, stage, mode, filtering attributes, execution order, or user context can make the same plug-in behave differently.
- Assembly reference mismatch: versioning can leave a step attached to an older assembly; check the version rules below.
Assembly version changes can look like step drift
Dataverse treats assembly version changes differently depending on which version fields change. Microsoft’s registration guide says that changing the build or revision version is an in-place upgrade, and existing steps are automatically updated to the new assembly. Changing the major or minor version is treated as a different assembly; existing steps continue to point to the older assembly unless their configuration is changed.
Rank #3
That means a step can retain its identity while still referencing an older assembly. When changing major or minor version, verify which assembly each step references and update the step configuration as needed. Stable IDs prevent one class of duplicate-registration problem; they do not make every assembly-version change an in-place update.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Execution order is not a substitute for identity
Execution order is one of a step’s behavior settings, not a way to distinguish duplicate registrations. Microsoft notes that steps at the same stage for the same message and table with equal execution-order values are not guaranteed to run in a fixed order. If order matters, review and configure execution order deliberately, while also removing unintended duplicates through supported registration management.
Quick Recap
Best Value
Rank #4
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




