Last week Dan Lazar and I were excited to present the Citrix TIPs webinar, What’s New in Citrix App Layering, to a very large audience. During the session, we discussed many of the great App Layering features our developers added during the past year including:

  • User Layer Repair, which enables an admin to clean up user layers if they are deploying a new application layer that overlaps what is in the user layer. See my recent blog post for more details.
  • Compositing engines for both Hyper-V and vSphere. See Dan’s blog post on performance enhancements in App Layering.
  • Search index persistence for the user layer.
  • The introduction of the new User Personalization Layer.

We received a lot of questions during the webinar, and we’ve tried to answer them all below.

Miss the session? You can always check out the complete, on-demand recording of this session (and our past sessions) at the bottom of the Citrix TIPs registration page. And while you’re there, sign up for our next TIPs webinar — Optimizing Your Business Impact with Microsoft 365 and Citrix Workspace — on June 10!


Why would I want to use the User Personalization Layer (UPL) over FSLogix Profile Containers?
User layers and the User Personalization Layer are intended to provide almost full persistence on pooled VDI desktops. These technologies enable users to keep everything they write to disk, include application installs, files, and any registry settings they make in any registry key while they are logged on.

FSLogix profile containers are designed to manage only files within the user’s windows profile. This includes a much smaller amount of files and registry settings. If you just want to have a container solution to handle the issue of using Outlook OST files or OneDrive files, then FSLogix or similar functionality included in Citrix Profile Management may be the right solution for you.

However, if you need this type of functionality and you also need users to be able to install applications and save files outside of the user profile, then user layers or the UPL is probably the right choice for you. Please note, user layers and UPL are limited to VDI and cannot be used on a session host where the FSLogix solution is fully supported.

Why can’t I use compositing engines for PVS publishing?
Compositing engines work by integrating with a hypervisor to mount native virtual disks in the hypervisor format and write directly to those disks. This is not currently possible with PVS.

Can you explain why compositing engines speed up packaging for vSphere?
There are several aspects of compositing engines that speed up performance. The first is that we create them as independent virtual machines to do the publishing work so when they run, each is only creating a single image instead of four images at a time for the App Layering appliance. Also, the tools used to manage the disks, which are Windows-based, can create native thin-provisioned VMDK files. This saves significant time because the App Layering appliance must write the disk up to an ESX host, then expand it to the full size of the disk. Finally, the compositing engine writes directly into the hypervisor disk without first having to write to the appliance then upload to the vSphere datastore.

Can we only use the Citrix App Layering API if we have Citrix Cloud?
The Citrix App Layering API is cloud-based, and a Citrix Cloud account is required. However, there are no requirements to license cloud services to use it. You must obtain a cloud account, then register for an API client, which is a service principal used to securely interface with the API.  You then need to install a cloud connector to interface your App Layering appliance with the cloud service. Register your App Layering appliance with the cloud API, and you can use the API. Learn more in our App Layering overview.

Can I use the new UPL with Xen Desktop 7.15 LTSR?
No. VDA version 1912 LTSR or later is required for UPL.

Does UPL also support OST for Outlook cache mode on a non-persistent desktop?
Yes. Both the full user layer and UPL will support Outlook OST files, OneDrive, and full search index persistence.

Do you have to use user layers for user profile to use the feature to install apps in user layer?
Yes. Both the user layer and UPL include all files and registry settings written after the layer is mounted on logon. This includes the user profile.

Are we going to get a compositing engine for Citrix Hypervisor?
We expect to add other hypervisors in the future, but we do not have a schedule defined for the Citrix Hypervisor at this time.

What are the SCCM and or Flexera limitations? From an inventory/software/licensing management perspective, will SCCM admins unleash the wrath of logic and questions?
I think this is a general App Layering question, so I will answer that way. In general, inventory functions will work. However, it’s always possible that one layer will overwrite the metadata for another application install used by an inventory program. You should test this functionality before assuming that it will always work.

For UPL, when you say “different install of Windows,” do you also mean 1903 vs. 1909? If so, do we need to migrate user data from one UPL to another?
This question has to do with the requirement that a UPL not be used on a different image than it was created on. This means to upgrade from Windows 10 1903 to 1909, you will want to upgrade your image, not create a new 1909 image and swap it into the MCS catalog. This is also true for the exact same version of Windows. When Windows is installed dynamically, it creates some GUIDs and folder short names. These differences can cause issue with apps that remember those GUIDs and names.

When is Silverlight going away?
For the foreseeable future, we expect to need Silverlight. Over time, App Layering management will likely move into the Studio console or be handled in other ways.

What backup capabilities exist for UPL?
UPL is based on a VHD file on a file server or NAS. The best way to do backups is to use the native tools provided by the file server or NAS vendor. For Windows servers, this would be a VSS-type backup. For NAS vendors, they normally have native tools for this purpose. Citrix provides no tools for this purpose.

Are there any tools/processes documented to help migrating data from PvD to UPL?
Citrix does not have any processes documented. However, Microsoft has a utility called the User State Migration Tool that can be used to help with this problem. But this is also a good chance to upgrade to Windows 10 and just create a new deployment.

Are there plans to add a script for the default file connector for raw file output?
This is possible now. You can set up an agent on a Windows server like you would do with the PVS agent, then use that to run the script. After the image is uploaded to the connector location, the script will be called. The hard part here is that PowerShell scripts run by the connector do not have network access. I normally have the script create a flag file that tells another script what to do. There are variables passed to the script that you can use to get the name of the image and, therefore, the name of the vhd file. You can then use a scheduled task to run a separate PowerShell script that does have network access to process the file.

Is UPL the future direction of Citrix. Will the User Layer be removed?
They are different products used for different purposes. The UPL is intended to use on an existing image deployed using Citrix Provisioning or Citrix Machine Creation Services. The full User Layer is intended to be used when you want to use the full App Layering product to manage your published images and support elastic layering, as well. Both will remain in the Citrix portfolio.

We use Appsense. In an appliance of Unidesk, we could create a platform layer for Appsense to work. But with the new LSTR, it’s in the VDA and I don’t know how to inject Appsense to the platform layer.
If you are using UPL, then Appsense would be installed on your image. The UPL is then used for desktop writes after the user logs on, so Appsense would already be there. Remember UPL is not App Layering. If you are using App Layering with the user layer, then you can still install Appsense in the platform layer.

Are there plans to make VHDX a default output option for publishing images?
You can publish Hyper-V images now if you use the new compositing engine feature. For PVS we are still unable to create VHDX files when publishing.

Is the ELM appliance supported in Azure?
Yes. The App Layering appliance (the new name for the Enterprise Layer Manager) is available for Azure, vSphere, Citrix Hypervisor, Hyper-V and Nutanix AHV.

Is there a way to exclude/include files/folders? If not, will that be added soon?
All files/registry changes are captured in user layers and/or UPL after the user logs in and those layers are mounted. It’s possible to exclude folders from that though, we do not expect customers to do this, and we do not test it.

There is a registry key under HKLM\System\CurrentControlSet\Services\unifltr called AlwaysOnBoot.

AlwaysOnBoot is a REG_MULTI_SZ that identifies files that must not be pulled into the user layer and will remain on the boot disk. If you want to exclude an entire folder, you must make sure it ends with a “\”. You must never remove any of our settings from that key. You can edit it in the platform layer, and it must be present in the published image before it boots. The lines are just proper Windows paths. For example add “C:\Temp\” to the list.

Please note, we don’t test this or expect users to do it. If it doesn’t work right, you will want to back it out. I would also export that regkey before modifying it, but you can just go back to the previous version of the platform layer, as well.

Is there a best practice for backing up the ELM?
You will want to use a VM backup approach with a tool that clones the VM or snapshots the disks on the datastore. I would recommend you do it at least once a week and keep the backups for a month. I wrote my own backup in PowerCli that clones the VM.

Does UPL support elastic layers?
No. UPL is a standalone user layer that gets assigned to an image/catalog. To use Elastic Layering, you need to use the full App Layering product where you create an OS layer, application layers, and platform layers.

What is the average logon time we can expect for Win10 VDI using PVS and App Layering combination?
This is not something we can really answer with a number, but I can explain what affects logon time when using App Layering.

When you publish an image with Elastic Layering enabled you will be adding about five seconds to the logon, even if no layers are assigned to a user because the Ulayer service has to check the elastic layer share to see if there are any assignments. This takes a little time.

By default any assigned layers will be mounted in parallel with the logon, so the logon will proceed without having to mount the layers first. However, some layers will not work this way. For example, if you are autolaunching an application that’s an Elastic Layer, you must ensure it’s mounted before logon by setting into compatibility mode. Then the logon will wait until that layer is mounted. If the layer includes services, the services must be started before the logon continues.

In general, Elastic Layering will not add too much time to the logon process. However, based on the application requirements, they can add significant time.

With App Layering deployment, are there any license restrictions for deployment of the appliance or is it covered once a customer has a valid SA/subscription?
To use App Layering, you have to have a valid select support services agreement or higher in place. Then to use multi-hypervisor or user layers you need to own Premium. The User Personalization Layer is included in all versions, but does also require Select support. Learn more in our licensing feature matrix.

Are user layers now supported on Citrix Virtual Apps and Desktops or is it XenDesktop/VDI only?
It’s still user layers only. We do not have plans to change this due to the technical difficulty because the User layer captures all writes, including those by the system. There would not be a way to differentiate which System writes are for which users.

Are there plans for compositing engines to be available for Nutanix in a near release?
We do expect to create compositing engines for Nutanix AHV, but it is not on our near-term or intermediate roadmap. We do have regular support for Nutanix AHV in App Layering.

Can App Layering work in an environment that also includes packaging the applications using SCCM and APPV technologies?
It is difficult to use SCCM for creating layers with App Layering due to the fact that SCCM is normally integrated with the Active Directory Domain and App Layering packaging machines are not. I think it is possible but have only heard of a couple customers that have gotten this to work. Most customers who use SCCM use only the MSI packages and scripts used by SCCM directly on their packaging machines without installing SCCM.

Some customers use both App Layering and App-V for packaging, and they work well together when App-V packages are streamed. To pre-cache App-V packages, only use one layer per image. Otherwise the metadata between two App-V layers will overwrite each other.

Is UEFI supported for creating an OS layer in Server 2019 or Windows 10?
Currently, you must create your gold image VM as a bios machine, import it to App Layering, then change it to UEFI (and Gen2 in Hyper-V) in a new OS version or the platform layer. See the webinar presentation for details.  Direct import of UEFI images will be added in the future.

Are these policies available via GPO?
No. These policies aren’t available via GPO.

What happens in the case of Windows 10 build upgrade?
You would upgrade the image. UPL has a mechanism to clean up things that we know need to be cleaned up after an upgrade. The logon will take slightly longer after an OS upgrade.

Is it possible to layerize software that is packaged with SCCM? Can it be automated?
When the Cloud API is released, it will be possible. I do not think it will be easy because it is difficult to use SCCM manually to install layers. I think you will really need to understand how SCCM works in a non-domain-joined environment and how to script pulling packages down to packaging machines.

We are using a big Hyper-V environment with a lot of clusters. We are using VMM to properly mange all the clusters and host, but ELM and App Layering in general work directly on the Hyper-V hosts. We have some misunderstanding regard image template. Do you have any specific docs/kb to suggest a proper template config on Hyper-V/cluster/VM?
I am going to assume here that you mean the VM template associated with a Hyper-V connector. This is just a VM on the Hyper-V host you include in the connector that we use to model the VM we create with the connector after. That template VM should be created as a clone of the VM you used to create your OS layer, except you should remove the hard disk in it.

What about AWS support?
AWS is being asked for more and more. It is on the roadmap but not in the short term because it requires significant development.

When are click-to-run apps going to be more easy to implement?
This is not an App Layering issue; it’s the wya they work in Windows.

Is it possible to use App Layers or Elastic Layers with a different OS layer in the future?
There is a labs feature for Elastic Layers called OS Layer Switching. So, you can do it now with Elastic Layers. For published images, it can create too much instability, so you likely will not see it added there.

Is an ELM required for UPL in 1912?
No. The App Layering appliance (formerly called the ELM) is not required for UPL. UPL is a feature of the VDA that also requires a Citrix policy to define the share used to store the UPL disks.

We just upgraded to Citrix App Layering 2001. We tried to enable offload compositing, and it ended up giving us a lot of issues with Office in our Windows 10 VDIs. Is there anything special we need to do to enable offload compositing?
I think there might be a bug being worked on for that issue. In general, first add a version to your OS layer using the new compositing engine. Then you can edit or add app layers, as well.

Is support for Windows Server 2019 planned with UPL? The Citrix blog post only mentions support for windows 10 x64.
UPL is VDI only. We do plan on including Windows Server 2016 VDI (single session mode), and I would assume we would add support later for Windows Server 2019 in single session mode, as well.

What is the difference between user layers and UPL?
They are based on the same technology, but UPL does not require App Layering. With UPL, we install our filter drivers with the VDA install, and it works directly on a PVS or MC non-persistent image.

If a new OS layer is created, even from a base machine of the same OS, the existing apps layer cannot be used to create new images. How can this be done without having to recreate the apps layers?
If you create a new OS layer, you always need new app layers. However, you can upgrade an OS layer and keep all your app layers. The idea is to keep the OS layer very generic so it can be used with all your images, and the changes come from app and platform layers.

We have encountered issues with images published from the Citrix App Layering appliance to PVS/vDISK being fragmented. We need to manually defrag before the image will work. Has this been corrected in the latest versions?
I have not seen this, and it’s kind of strange because we are writing the files into the disk serially. I would expect very little fragmentation.  This is probably something to check with the Citrix support team about.

Is the cloud API for app layering is based in REST API? Can it be connected using PowerShell?
Yes. The API is RESTful, and you can use PowerShell to automate with it.

Will App Layering remain as a compatible component within the Citrix Virtual Apps and Desktops LTSR or are there plans for a separate LTSR program for App Layering?
It will remain as a compatible component because we do updates every couple of months.


Thanks again to everyone who attended our Citrix App Layering session. We look forward to seeing you in June at our next Citrix TIPs webinar.

— Rob Zylowski, Sr. Enterprise Architect, Citrix Consulting Services