Step-by-step guide to learn how to create and optimize Application Layers with Citrix App Layering.

More from the Lab!

 

We discussed in the previous posts of this Citrix App Layering series how to install and configure the appliance. We also reviewed how to work with OS and Platform layers in App Layering. In this post, we will create our first Application layers and optimize those layers according to best practices.

More from this Citrix App Layering series

Note: Elastic deployment of Application layers is not part of this article. 

Requirements

For this lab, you need the following:

Best Practices for Platform Layer in Citrix App Layering

  • You can install apps, copy files, modify registry in App layers
  • You can install Antivirus in App layers
  • Follow App Layering Recipes
  • Put all Office apps in the same App layer
  • You can adjust Application layers priorities to deal with conflicts
  • Disable Auto-update feature in the apps
  • Do not install requirements such as .NET and C++ libraries in App layers
  • Do not install Windows Updates (only in the OS Layer)
  • Join the machine to the domain if the application requires it. Remove the machine from the domain and reboot before finalizing the layer.
  • User settings will be captured but not applied to other users
  • Changes made to local users and groups are not saved in this layer. Use GPOs instead.
  • You can add additional disks but you must remove them before finalizing the disk in the ELM console
  • Remove binaries once apps have been installed
  • Clear install logs
  • App Layers are the only layers that can be cloned from the console
  • Check this link for more best practices

Create new Application Layers with Citrix App Layering

Go to ELM console > Layers > App Layers and select Create App Layer.

App Layers - Create a new App Layer
App Layers – Create a new App Layer

Enter the layer details.

App Layers - Create a new App Layer - Layer details
App Layers – Create a new App Layer – Layer details

Select the OS Layer.

App Layers - Create a new App Layer - Select OS Layer
App Layers – Create a new App Layer – Select OS Layer

Go next.

App Layers - Create a new App Layer - Prerequisite Layers
App Layers – Create a new App Layer – Prerequisite Layers

Select the connector.

App Layers - Create a new App Layer - Select connector
App Layers – Create a new App Layer – Select connector

Go next.

App Layers - Create a new App Layer - Platform layer
App Layers – Create a new App Layer – Platform layer

Enter the disk filename.

App Layers - Create a new App Layer - Packaging Disk
App Layers – Create a new App Layer – Packaging Disk

Assign an icon.

App Layers - Create a new App Layer - Icon assignment
App Layers – Create a new App Layer – Icon assignment

Confirm to create a new application layer.

App Layers - Create a new App Layer - Confirm
App Layers – Create a new App Layer – Confirm

ELM will deploy the disk from the cache.

App Layers - Create a new App Layer - Deployment
App Layers – Create a new App Layer – Deployment

You can take a look in the repository for the new disk reserved for this layer.

App Layers - Create a new App Layer - Disk is being created
App Layers – Create a new App Layer – Disk is being created

ELM has finished the creation of the app layer.

Connect to the virtual machine and install the application(s) (Ex: Adobe Reader DC). You can install more than one application in the layer. You can also copy files, change the registry, etc.

Note: App layers are not in the domain. However if required, you can add the layer in the domain to install the apps. Make sure to remove the layer from the domain when you are done with the installs. 

App Layers - Create a new App Layer - Install App(s) in the layer
App Layers – Create a new App Layer – Install App(s) in the layer

Disable Auto update feature for the application(s). For Adobe Reader, this can be done in the registry.

Note: An App Layering Recipe is available from Citrix for Adobe Reader.

App Layers - Create a new App Layer - Disable Auto-Update
App Layers – Create a new App Layer – Disable Auto-Update

Reboot to apply the setting.

Note: Remove all logs and install binaries from the layer.

Then click on Shutdown For Finalize.

App Layers - Create a new App Layer - Shutdown For Finalize
App Layers – Create a new App Layer – Shutdown For Finalize

Go to ELM console > Layers > App Layers and right click on the new layer. Then Finalize.

App Layers - Create a new App Layer - Finalize
App Layers – Create a new App Layer – Finalize

Go next.

App Layers - Create a new App Layer - Script path
App Layers – Create a new App Layer – Script path

Click on Finalize to confirm.

App Layers - Create a new App Layer - Confirm finalize
App Layers – Create a new App Layer – Confirm finalize

ELM will copy the disk to /mnt/repository/Unidesk/Finalize Disks/ in the repository.

App Layers - Create a new App Layer - Copy to the repository
App Layers – Create a new App Layer – Copy to the repository

Then it will move it the app layer disk.

App Layers - Create a new App Layer - Copy to the App layer disk
App Layers – Create a new App Layer – Copy to the App layer disk

You can find the ID of the layer with right click on the layer and properties.

App Layers - Create a new App Layer - Find ID of the layer
App Layers – Create a new App Layer – Find ID of the layer

Here the ID of the App layer is 2162689.

ELM will rename the disk using the ID.

App Layers - Create a new App Layer - Renaming the disk
App Layers – Create a new App Layer – Renaming the disk

Once everything has been completed, ELM will remove the virtual machine and the packaging disk.

App Layers - Create a new App Layer - Cleanup
App Layers – Create a new App Layer – Cleanup

The new Application layer has been created.

App Layers - Create a new App Layer - Created
App Layers – Create a new App Layer – Created

And the layer is now deployable.

App Layers - Create a new App Layer - Deployable
App Layers – Create a new App Layer – Deployable

Update Application Layer

Go to ELM console > Layers > App Layers and select the App layer.

To update the App layer, right click and Add Version.

Apps Layer - Add version
Apps Layer – Add version

Increment the version number and add a description.

Apps Layer - Add version - Version details
Apps Layer – Add version – Version details

Select the OS Layer.

Apps Layer - Add version - Select OS layer
Apps Layer – Add version – Select OS layer

Select Prerequisite Layers (optional).

Apps Layer - Add version - Prerequisite layers
Apps Layer – Add version – Prerequisite layers

Select the connector where ELM will deploy the virtual machine.

Apps Layer - Add version - Select connector
Apps Layer – Add version – Select connector

Select Platform Layer.

Apps Layer - Add version - Select Platform Layer
Apps Layer – Add version – Select Platform Layer

Enter the disk filename.

Apps Layer - Add version - Disk filename
Apps Layer – Add version – Disk filename

Confirm the creation.

Apps Layer - Add version - Confirm version creation
Apps Layer – Add version – Confirm version creation

ELM will prepare the new layer version.

Apps Layer - Add version - Prepare version
Apps Layer – Add version – Prepare version

After few minutes, ELM will start to create to deploy the virtual machines and its disks.

Apps Layer - Add version - Creating cached disks
Apps Layer – Add version – Creating cached disks

See below the virtual machine created in Hyper-V.

Apps Layer - Add version - Creating virtual machine
Apps Layer – Add version – Creating virtual machine

When everything is ready, ELM will automatically start the virtual machine.

The virtual machine is available. Logon and install updates (Ex: Winzip). Disable Auto-update in the application.

Note: if a reboot is required during the updates, it is recommended to reboot a second time. 

 

Then click on Shutdown For Finalize (the icon is available on the desktop by default).

The virtual machine will shutdown.

Go to the ELM console > Layers > OS Layers and right click on the OS_2016 layer.

Select Finalize.

ELM will copy the disk from the share to the repository.
Location: /mnt/repository/Unidesk/Finalize Disks/.

Then ELM will copy it to the layer disk.

Location: /mnt/repository/Unidesk/Layers/App/.

The last step is to remove the virtual machine in Hyper-V.

That’s it! The new version of the layer has been deployed.

Export layer

Go to ELM console > Layers > Apps Layers and select Export.

Note: Export/Import is the supported method to backup layers 

App Layers - Export
App Layers – Export

Select a network location and enter the proper credentials.

App Layers - Export - Destination and credentials
App Layers – Export – Destination and credentials

Select the item you want to export.

App Layers - Export - Version selection
App Layers – Export – Version selection

Select Finalize to export.

App Layers - Export - Confirm to export
App Layers – Export – Confirm to export

Take a look at the folder for the exported files.

App Layers - Export - Exported
App Layers – Export – Exported

Delete version of a OS layer

Note: You cannot delete layers or versions that are in use. 

Right click on the OS layer and click on Delete Versions.

App Layers - Delete version/layer
App Layers – Delete version/layer

Select the version you want to delete. You can also delete the full layer with all its versions.

App Layers - Delete version/layer - Select version or layer
App Layers – Delete version/layer – Select version or layer

Click on Delete Versions to confirm.

App Layers - Delete version/layer - Confirm to delete
App Layers – Delete version/layer – Confirm to delete

Cancel a layer revision

Go to the layer task and click on Cancel to flush the current version of the layer.

App Layering - Cancel task
App Layering – Cancel task

ELM will flush everything for this version of the OS layer.

App Layering - Task canceled
App Layering – Task canceled

Import Layer

Go to ELM console > Layers > App Layers and select Import.

App Layers - Import Layer/Version
App Layers – Import Layer/Version

Specify the path and the credentials.

App Layers - Import Layer/Version - Source & Credentials
App Layers – Import Layer/Version – Source & Credentials

Select layer/version to import.

App Layers - Import Layer/Version - Select layer/version to import
App Layers – Import Layer/Version – Select layer/version to import

Confirm the import.

App Layers - Import Layer/Version - Confirm to import
App Layers – Import Layer/Version – Confirm to import

ELM will import the disk in the repository.

App Layers - Import Layer/Version - Importing
App Layers – Import Layer/Version – Importing

Clone App layers

Go to ELM console > Layers > Apps Layers and select the App layer then click on Clone Layer.

App Layers - Clone layer
App Layers – Clone layer

Note: Clone Layer feature is only available for App layers

Enter a new name for the layer, a version and a description.

App Layers - Clone layer - Layer details
App Layers – Clone layer – Layer details

Select an icon for the new layer.

App Layers - Clone layer - Icon assignment
App Layers – Clone layer – Icon assignment

Confirm the action.

App Layers - Clone layer - Confirm and Clone
App Layers – Clone layer – Confirm and Clone

ELM will start to clone the disk in the /mnt/repository/Unidesk/Layers/App/ folder in the repository.

Note: this disk will reset the revision number to R1.

App Layers - Clone layer - New disk is being created
App Layers – Clone layer – New disk is being created

Wait for the process to finish.

App Layers - Clone layer - In progress
App Layers – Clone layer – In progress

Once the process is finished, the new layer is available in the console.

App Layers - Clone layer - Layer cloned
App Layers – Clone layer – Layer cloned

That’s all for Application layers. Repeat the steps for all your applications and follow the recipes.

More from the Lab!

 

1 COMMENT

  1. If you have an application that you are installing in an app layer that requires it to be domain joined you need to use a domain joined platform layer as a pre-req layer. Do not just join your app layer to the domain and then remove it from the domain when you are done. That will cause issues – learned that the hard way…

Comments are closed.