We had an interesting error when we tried to import a new version of our managed solution into our client’s production environment.
A managed solution cannot overwrite the Attribute component with Id=20d5544d-cdac-48a2-80d6-490bb9979047 which has an unmanaged base instance. The most likely scenario for this error is that an unmanaged solution has installed a new unmanaged Attribute component on the target system, and now a managed solution from the same publisher is trying to install that same Attribute component as managed. This will cause an invalid layering of solutions on the target system and is not allowed.
After a quick research on Google, we found out what happened was a relationship lookup attribute was in the default solution of our client environment. This attribute also existed in out dev environment and being exported out as managed solution.
Here is how to find the attribute:
select * from AttributeLogicalView where AttributeId = '20d5544d-cdac-48a2-80d6-490bb9979047'
To fix it, we need to either:
– Remove it from managed solution exported from source dev environment, or
– Remove it from unmanaged (in this case default) solution in target prod environment
We opted to remove it from the unmanaged solution to avoid future headaches.