So, we have the following environments
- Development
- Test
- SIT
- UAT
- Live
In the Development environment, I have a solution called Base Solution which has the following components
- Plugin Assembly called MyCompany.Dynamics.CRM.ContactHandler
- SDK Message MyCompany.Dynamics.CRM.ContactHandler.OnChangeOfStatus
- SDK Message MyCompany.Dynamics.CRM.ContactHandler.OnChangeOfDateOfBirth
Now, this solution has been deployed to Test / SIT / UAT and Live and it is working fine.
I add a new SDK Message (MyCompany.Dynamics.CRM.ContactHandler.OnChangeOfContactType) to the same assembly on my development environment. I do this via the CRM 2011 Developer Toolkit for VS2010 and deploy the Plugin to the default solution.
I then create a new solution in the Development organisation called CR001Solution and add the plugin assembly and the newly added SDK Message (MyCompany.Dynamics.CRM.ContactHandler.OnChangeOfContactType). So, the new solution CR001Solution (version 1.0.0.0) has just the plugin assembly and the newly added SDK message.
I export this solution as unmanaged and deploy it to Test. It works fine. I then do a round of testing, find some bugs and then fix it in the Development organisation. I then increment the version of CR001Solution (1.0.0.1) and then deploy it to Test. This works fine as well.
When I attempt to deploy this solution to SIT (i.e., version 1.0.0.1 of CR001Solution), I get the following error.
Unable to load plugin type with an error code of 80044190
I was able to fix this as follows based on the link
- Import just the plugin assembly without the new plugin steps, and publish. The plugin assembly is now updated with the new plugin class definition.
- Add the new plugin steps and import the solution again. The solution should now be imported successfully.
I quite do not understand why this is the case.
From the link above,
I believe the bug is CRM Solution Import routine checks for the plugin class/type definition in the existing plugin assembly in the server rather than the new plugin assembly in the solution being imported
What I do not understand is the following
-
When I deployed 1.0.0.0 of CR001Solution to Test, should it not have failed with the same reason, i.e.,
Solution Import routing checks for the plugin class / type definition in the existing plugin assembly in the server rather than the new plugin assembly in the solution being imported
? -
Why does it work when I deploy the changes to Test but fails when I attempt to do so in SIT?
Any insights will be most helpful.
Note: All solutions are unmanaged solutions.
*This post is locked for comments