A layer is a virtual disk where the software for your operating system, platform tools, or one or more applications is installed, or where the user’s data and settings are persisted.
When you create a layer, the App Layering appliance saves the new layer as a virtual disk in your hypervisor environment, and attaches the disk to a packaging machine that it creates.
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: Where you install the Windows operating system from ISO. This layer allows you to reuse the same OS with all compatible Platform and App layers. Although you can create more than one OS layer, it is only recommended that you do so if you need to support more than one Windows OS.
Platform layers: Where you install the components of your environment, including the software and settings for your hypervisor, provisioning service and connection broker. By creating a Platform layer for each environment, you can reuse the same OS and App layers in any environment. For example, you can create a Platform layer for your on-premise environment, such as VMware, and for a cloud environment, such as Azure.
App layers: Where you install applications. Typically, we recommend installing one app on each layer. If an application is required by other apps, create the layer for it before creating layers for the apps that need it.
Layers you can enable on layered images
Besides the layers you include in layered images, you can enable Elastic and User layers on them through settings in the image template:
Elastic layers: These are App layers that are assigned to specific users, and delivered to the user’s outside of the base image. The user receives the app after logging in. The app appears 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 your application. If no limitations are specified for your application, you should be able to 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, as well as any applications that they install themselves. A User layer can be automatically created for each user the first time they log onto an image. For this to happen, you enable 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 taken into consideration when:
- Compositing (merging) layers when publishing layered images from an image template.
- 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.
Windows views these layers, from a top-down model, where the highest priority layer takes precendence. If a file or registry entry exists in two layers, but only one can be presented to an executing Windows environment, Windows uses the file or registry entry from the layer with highest priority.
How layer priority is determined
A layer’s priority is determined by 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 App layers assigned as Elastic layers is the same as the priority of the original App layers themselves, but applied onto the base image. The priority of Elastic layers does not depend on the order in which the layers are attached to the published layered 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 just work, but in some situations, the order in which you install applications can cause conflicts to occur on the desktop.
If you know that one application must be installed before another, it is important to create the layers in the correct order, so that the layers are applied in the correct 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 should be installed last so that it is incorporated in the correct order.
- Request assistance from Technical Support.