A layer is a virtual disk that contains the software for your operating system, platform tools, apps, or the user’s data and settings.
When you create a layer, the appliance saves the new layer as a virtual disk in your hypervisor environment, and attaches the disk to a packaging machine.
Once created, each layer is stored in a repository as a virtual disk.
Types of layers
You can use the following types of layers:
- Layers you create in your hypervisor and include in the image templates you use to publish layered images.
- Layers you enable on image templates, and therefore on the layered images you publish.
Layers to include in image templates and layered images
You can create layers for your OS, your platform tools, and the applications that you want to deliver to users.
OS layer: The layer where you install the Windows OS from ISO. You can reuse the same OS layer with all compatible platform and app layers. We recommend creating just one OS layer for each major Windows version, for example, one for Windows 10 and one for Windows Server 2016. You can add new versions of a layer for each follow-on release. For example, if you have a Windows 10, version 1709 layer, you add a version to it for version 1809, and one for 1903. When you update the OS layer, it is not necessary to update the app layers, but do update the platform layer.
Platform layers: A layer (or layers) where you install and configure the software for a specific on-premises or cloud environment. The first platform layer you create includes your provisioning software and connection broker, and you install the hypervisor on your OS layer. For other platform layers, install the hypervisor along with the provisioning and broker software.
Isolating your infrastructure software in the platform layer means you can reuse the same OS and app layers in any environment.
App layers: The layers where you install applications. Typically, we recommend installing one app on each layer, though you can include more. For easy maintenance, include apps that are on the same update schedule. If an application requires other apps, create the layer for the required application first.
Layers you can enable on layered images
Besides the layers that you include in layered images, you can enable Elastic and User layers on them through settings in the image template:
Elastic layers: App layers that are assigned to specific users and delivered when the users log in. An elastic app layer is not included in the base image, but is delivered on it. Elastic apps appear on the user’s desktop.
An app layer can be delivered to a user either as part of the layered image or as an elastic layer.
There are a few applications that cannot be used as elastic layers, for example, Microsoft Office. To find out whether an application has this limitation, check the App Layering recipes here and in the App Layering forum for notes about layering an application. If no limitations are specified for your app, you can assign it as an elastic layer.
User layers: Enabling user layers on a layered image allows you to persist a user’s data and settings, and any applications that they install themselves. When enabled, a layer is created for each user the first time they log on to an image. To enable this feature, select the User layers setting in the image template that you use to publish the layered image.
Layer priority defines layer order when creating the Windows file system and registry. Layer priority is important when:
- Compositing layers as part of publishing layered images.
- Searching layers for file and registry settings.
- Delivering elastic layers and user layers to users’ desktops.
The App Layering software assigns a priority to each layer, and applies the layers in order, from the lowest priority to the highest.
In Windows, the highest priority layer takes precedence. If a file or registry entry exists in two layers, Windows uses the file or registry entry from the layer with highest priority.
How layer priority is determined
A layer’s priority is based on the layer type and, for App layers, the order in which the layers were created.
Layers within the base image
Layers that are part of the layered image are applied in order, with the Platform Layer always applied last, as the highest priority layer.
As the following table shows, the priority assigned to app layers is based on the order in which the layers are created. The newest app layers are given a higher priority than older layers.
|App layer created last|
|Medium||App layers in order by creation date|
|App layer created first|
If layers have a file or registry entry in common, the file or registry entry from the higher priority layers are used.
Layers enabled on the base image
When a published image boots, more layers can be applied, if the layers are enabled in the image template for your layered image:
- Elastic layers (app layers assigned to users as elastic layers)
- User Layers
When merging layers onto an image, User layers are always the highest priority. elastic layers are next, and the layers in the base image last.
As shown in the following table, the priority of elastic layers is the same as the priority of the original app layers, but applied to the base image. Elastic layer priority does not depend on the order in which the layers are attached to the published image.
|Elastic layer - App layer created last|
|Medium||Elastic layers - App layers in creation order|
|Elastic App - App layer created first|
|Low||Layered image - All layers within base image|
Layer priority conflicts
Most app layers work, but in some situations, the order in which you install applications can cause conflicts on the desktop.
If one app must be installed before another, create the layers in the order required. The App Layering software applies the layers in the same order.
If two layers conflict and you suspect that it is due to the order in which they are incorporated into the image, you can either:
- Recreate the layer that you want to install last so that it is incorporated in the correct order.
- Request assistance from Technical Support.