Hi,
Apologies if this is longwinded, but I wanted to make sure all of the details were clear.
I'm seeing that the configuration of Controls at the Table/Entity level does not behave as expected with Solution Layering - and either results in Solution Upgrade failure when updating the base Solution (if the changed control configuration is in another managed solution layer) or in the changes being wiped from the environment (if the change is in an unmanaged layer).
Scenario 1
Control Configuration present in a managed Solution layer
Environment 1
There is a base Solution in Environment 1 which contains a custom entity. This Solution is exported from Environment 1 as a managed Solution and is deployed to Environment 2 and Environment 3.
Environment 2
The base Solution from Environment 1 is installed in this environment.
In addition, a new Solution is created in this environment which references the custom table/entity. The table/entity is configured to use Editable Grid control for that entity.
e.g.

The new Solution is exported from Environment 2 as managed and is deployed to Environment 3.
Environment 3
The base Solution from Environment 1 and the layered Solution from Environment 2 is installed in this environment. Both Solutions install without issue.
However, if there is an update required to the managed base Solution from Environment 1 (with no significant change), the Solution update *import* will occur successfully, but the deletion of the old version of that Solution will fail with an error like this:
This solution cannot be uninstalled because the 'CustomControlDefaultConfig' with id '5d57b8e0-7bb9-4e03-8ca5-871af7005ba9' is required by the 'LayeronTestCustomControl' solution. Uninstall the LayeronTestCustomControl solution and try again.

In this instance, the update of the base Solution fails hard because of the presence of control configuration at the table/entity level in another managed Solution.
Scenario 2
Control configuration present in an unmanaged layer
Environment 1
[Same as above example] There is a base Solution in Environment 1 which contains a custom entity. This Solution is exported from Environment 1 as a managed Solution and is deployed to Environment 2 and Environment 3.
Environment 2
[Not really relevant to this example, but I left it here for consistency with the above scenario]
The base Solution from Environment 1 is installed in this environment.
In addition, a new Solution is created in this environment which references the custom table/entity but with no significant changes. The new Solution is exported from Environment 2 as managed and is deployed to Environment 3.
Environment 3
The base Solution from Environment 1 and the layered Solution from Environment 2 is installed in this environment. Both Solutions install without issue.
An unmanaged customization is made directly in this environment to configure the custom entity introduced in the base layer to use Editable Grid control.
If an update is applied to the base Solution (with no significant change), the Solution update will succeed (in both the import operation as well as the deletion of the old version of the Solution), however the unmanaged customization to the control configuration for the entity is no longer present. (E.g. the base solution has overwritten the control setting for the table/entity).
Is anyone able to confirm:
- Is Solution Layering of control configuration at the table/entity level something which 'should' work?
- Is there any way for the modified control configuration of a table/ entity to persist after a base solution update?
Thanks!