In the past Citrix released a feature that was called Personal vDisk. This was an extra disk attached to a Citrix Virtual Desktop. On this vDisk users could install applications that were not in the default image. This sounds as a nice solution for many developers, who had to work on virtual workstations and using many complex development tools. But this Personal vDisk could not be used in a pooled environment. In my opinion the name was not as it should be. It’s not a user’s personal vDisk, but a Machine bound vDisk. If you added this disk for a user, that machine became dedicated for that unique user. When the machine would crash, it was not so easy to attach the vDisk to another virtual desktop.
User personalization layer
From Citrix virtual apps and desktops version 1909 and later it is possible to use a real Personal vDisk. It is called “User personalization layer” and can only be used on a single session VDA (Virtual Delivery Agent). So, it can only be used in a VDI environment and not in a multi session SBC environment.
The user personalization layer feature is based on Citrix App Layering technology,but does not need the whole App Layering infrastructure with a Citrix App Layering appliance. The user personalization layer can also be used with pooled desktops. This is the first Citrix product that can be used with non-persistent machines. It does not matter if these non-persistent machines are created with Citrix Provisioning (PVS) or Machine Creation Service (MCS).
- Users can install almost all applications on their VDI with this feature. The installed applications will be stored on the user personalization layer virtual hard drive. But there are some exceptions. Applications that modify the network stack or hardware are not supported . For example VPN client software. Applications that have boot level drivers are also not supported. Virus scanners are an example of this type of applications. Also, applications that install a driver like printer drivers. And the last are enterprise applications such as Microsoft Office and Visual Studio. Most of the time this kind of applications are already installed into the master image. So, this exceptions are not really an issue. The last exception are applications that install a local user or group on the machine. That user or group change will not be persistent. This seems logical as we want that this user layer can be used on non-persistent/pooled machines.
If you want to implement the user personalization layer feature there are some requirements.
The required components versions are:
• Citrix Virtual Apps and Desktops 7 version 1909 or later
• Virtual Delivery agent (VDA) version 1912 or later
• Citrix Provisioning version 1909 or later (optional)
• Windows 10 Enterprise x64 version 1607 or later
Citrix is also advising to use a good profile management solution, to keep and roam the user settings. If you decide to use Citrix Profile management, turn off the deletion of user information at logoff. Applications installed by the users can have settings who need to roam with the user to the next session.
Maximize the layer size
There is an option to maximize the user layer. De default size is 10 GB but you can change the size as you like with a Citrix GPO in Citrix Studio. It is also possible to set a hard quota on the VHD’s by using Microsoft’s quota manager on the file server.
With the Citrix GPO in studio you must also set the User Layer Repository Path. This is the path to a file share close to your VDI’s on fast storage. You need to set some special file permissions on this UNC path. See the table below:
User personalization layer has still some limitations. You cannot update the machine catalog with a master image running a new OS installed. Even the same version of Windows 10. Best practice is to apply updates to the OS within the same master image used when creating the machine catalog. This statement from Citrix is a big disappointment. We know that Citrix App layering had also no support to add existing layers to a new OS. But for Windows 10 Images you will need this. We hope support for this will be on the roadmap. Secure boot is also not supported yet. User layer settings override settings applied in the Master image and Computer GPO’s loaded during a boot. So, it is best practice to create a User Logon Script to run gpupdate /force at user login. This will have impact on your login performance.
If you would like to know more about this subject, feel free to contact us via email@example.com
Door Vincent van Zeijl