Registry dispositions have some constraints for layer-3 (integrated) and layer-4 (isolated) unlike File dispositions, which can be set individually on each file or directory. These constraints help to virtualize a large number registry keys in a short amount of time. These constraints do not apply to layer-1 and layer-2 dispositions, which can still be set individually on each registry key. 

This article will explain these constraints for packaging applications.  

Inherited Disposition

Inherited disposition is when the disposition of registry is propagated from the parent registry key. By default, a registry key inherits it's disposition for it's parent key when a new key on the client machine is created under the parent.

In the figure above, new ChildKeyA and ChildKeyB inherit their layer-3 disposition from ParentKey when it is explicitly set to layer-3.

Layer-3 by Association

When you have a registry key that is the parent of a layer-3 and layer-4 child keys, the disposition of the parent key becomes layer-3 by association. A registry key that has a disposition of layer-3 by association is integrated and therefore viewable to the system and installed applications, like a key set to layer-3 disposition. Even if the parent key was set to layer-4. 


In the figure above, ChildKeyA is set to layer-3 and ChildKeyB is set to layer-4, then the ParentKey’s disposition will be changed to layer-3 by association.

Inherited Disposition for Layer-3 by Association

If a parent key is set to layer-4, but becomes layer-3 by association, the new child keys will still inherit the layer-4 disposition.

From the previsous example, the ParentKey was set to layer-4 but has become layer-3 by association. If a new child key is created on the client, then it will inherit the set layer-4 disposition. Only the ParentKey is affected by the association.

NOTE - For new registry keys create on the client that have no registry roots in the appset, these keys will follow the sandboxing rule defined during packaging.