App Layering – OS Layer and Platform Layer

Last Modified: Sep 2, 2018 @ 7:53 am

Navigation

This page assumes the Enterprise Layer Manager has already been imported and configured. See Create and update the OS Layer in Unidesk 4.0.8 by George Spiers for Hyper-V and PvS focused instructions. For Azure, see How to configure Citrix Cloud – App Layering 4.8 to deliver virtualized apps and Office 365 caching – User Layers for XenApp and XenDesktop Service Cloud Workspaces in Microsoft Azure by Christiaan Brinkhoff.

Change Log

Layers Overview

A Technical Overview of Citrix Application Layering – 24-page Citrix whitepaper

Enterprise Layer Manager (ELM) uses several types of layers:

  • Operating System Layer
  • Platform Layer
  • Application Layer
  • Image Template
  • User Layer

The master versions of all Layers are stored inside the Enterprise Layer Manager virtual appliance.

Citrix CTX225952 4.x Layering Best Practices

Operating System Layer

Operating System Layer is just the base OS (with patches) and VMware Tools. Other components are usually installed in Platform and Application Layers.

  • If you install .NET Frameworks in the OS Layer, then you only need to run Windows Updates on the OS Layer. However, Office should always be installed in an Application Layer.
  • Windows Store apps should be removed from the OS Layer, not other layers.

Platform and Application Layers are tied to the OS Layer – The remaining layers (Platform and Application) are created from an OS Layer. These layers are linked to one OS Layer, and can’t be used on any other OS Layer.

  • If you upgrade the hypervisor tools in the OS Layer, then you might have to recreate the Platform Layer.

Only OS Layer captures changes to local groups and local apps – Any application that creates local users (e.g. XenApp 6.5) should be installed in the OS Layer. Platform Layer and Application Layers do not capture changes to local groups or local users.

Platform Layer

Platform Layer is the highest priority layer and should contain the following: (from CTX225997 Considerations When Creating a Platform Layer in Citrix App Layering 4.x)

  • Citrix Virtual Delivery Agent, or VMware Horizon Agent.
  • Citrix Provisioning Services Target Devices Software
  • NVIDIA Drivers
  • Join the Domain
  • Citrix Receiver – for the Single Sign-on Component
  • Citrix Workspace Environment Management Agent
  • Imprivata
  • Hypervisor Tools – if packaging or publishing to a different hypervisor than originally used to create the OS Layer.

SAM database changes (local users, local groups) are not captured in the Platform Layer. You might have to use group policy to create and populate local groups. For example, Citrix Virtual Delivery Agent creates local users adds domain users to local groups. See Direct Access Users Group Missing All Layers at Citrix Discussions.

  • Domain Join in Platform Layer does not capture adding Domain Admins to local Administrators group and Domain Users in the local Users group. Use Group Policy Restricted Groups or Group Policy Preferences Local Users and Groups to add these Domain Groups to the Local Groups.

  • Here are some additional settings in a Group Policy at Computer Configuration > Preferences folder > Control Panel Settings  Right-click the Local Users and Groups node, point to New, and select Local Group.
    • Action – Update – Group – Remote Desktop Users – Add Members “DOMAIN\Domain Users”
    • Action – Update – Group – Remote Desktop Users – Add Members “NT AUTHORITY\Authenticated Users”
    • Action – Update – Group – Performance Log Users – Add Members “NT Service\CitrixTelemetryService”
    • Action – Update – Group – Performance Monitor Users – Add Members “NT Service\BrokerAgent”
    • Action – Update – Group – Administrators – Add Members DOMAIN\Your_Citrix_Admins_Group
    • Action – Create – Group – Anonymous
    • Action – Create – Group – Direct Access Users – Add Members DOMAIN\Your_User_Group

Windows 10 apps should be removed from the OS Layer, not from the Platform Layer.

An Image Template (the composed machine that is published to the hypervisor) can contain only one Platform Layer. If you are creating a Platform Layer for Citrix Provisioning Services, then that one Platform Layer should include both the Citrix VDA, and the Citrix PvS Target Device Software.

Application Layers

Application Layers contain anything not in the OS Layer or Platform Layer, including the following:

  • Applications
  • Antivirus
  • Print Drivers
  • SCCM Client

Per-user settings (profile changes) are not captured in an Application Layer.

When creating a Layered Machine, there are two methods of merging the Application Layers:

  • Pre-boot – ELM merges the App Layers with the OS Layer and Platform Layer to create a single monolithic disk file. This method provides the greatest application compatibility. Use this method for Apps with boot time services or drivers.
  • Elastic – When the user logs into a Layered Machine, a service looks in a file share for any Elastic Layers assigned to the user, and merges (mounts) them as the user logs in. Different users can have different Elastic Layers, even on multi-user Remote Desktop Session Host (XenApp) machines. However, Elastic Layering doesn’t work for apps that need boot-time services/drivers.

A single App Layer can be merged using either of these methods. If the App Layer doesn’t work Elastically, then you can mount it Pre-boot (Image Template) instead. There is no need to create separate App Layers for each mounting method.

Elastic App Layers are stored in a SMB file share. You can use any desired method to provide High Availability for this file share, including: Scale Out File Server, DFS Namespace/Replication, etc.

FSLogix creates local groups every time the service restarts. Thus it works when installed inside an Application Layer.

Image Template

Image Template contains one OS Layer, one Platform Layer, and zero or more App Layers. The App Layers assigned in the Image Template are merged pre-boot.

You then Publish the Image Template to your hosting platform.

  • For MCS, the Template is pushed to a hypervisor (e.g. vSphere) virtual machine, which becomes the master image for an MCS Catalog.
  • For PvS, ELM creates a VHD file, and pushes it to a PvS vDisk Store, so you can assign it to Target Devices.

For Elastic Layers, you must enable Elastic Layers in the Image Template.

User Layers

User Layers allow users to install their own applications. In ELM 4.6, User Layers and Office 365 Layers are a lab feature.

User Layers require additional consideration for backup, replication, and recovery.

User Layers are tied to OS Layer – From Gunther Anderson: “Like App and Platform Layers, User Layer disks are tied to the OS layer they were originally built from. If you have a user login to images from two different OS layers, you will see the User Layer disks in two different directories on the share, one for each OS layer. The image itself knows what OS layer it was built from, and the ULayer service uses that information.”

  • If you want profile portability, store the profile outside of the User Layer by implementing Citrix Profile Management.

The default size for User Layers is 10 GB. You can change this size by setting HKLM\Software\Unidesk\Ulayer\DefaultUserLayerSizeInGb on the managed machines. Source = Understanding Elastic Layering > Scaling (tab) > User Layer Size.

Layering Tips

From Citrix Blog Post 5 Tips for Packaging Your Apps with Citrix App Layering:

  1. .NET Frameworks go in the OS Layer
    1. Store apps are removed from the OS Layer.
  2. Keep the layer as clean and as small as possible
    1. A packaging machine will not be part of your domain
    2. Delete any installers from the desktop, delete any temp directories, and empty the recycling bin
    3. If Windows Updates, delete the contents of C:\Windows\SoftwareDistribution\Download
  3. Underlying applications should be layered first, and then selected as prerequisite layers when you go to create a layer for the subsequent application
  4. Use  Application Layer Recipes
    1. Turn off the application’s auto-updater
    2. For antivirus, follow the manufacturer’s steps to “generalize” or remove any unique client identifiers
    3. Handle application licensing – rearm, activation, etc.
  5. Run ngen.exe update

Also see Citrix CTX225952 4.x Layering Best Practices:

  • Operating System Layer:
    • Application Layers are tied to the Operating System Layer.
    • ELM automatically upgrades OS Layer drivers. However, OS Layer Scripts should be updated reinstalling the Machine Tools.
    • .NET should be in the OS Layer.
    • OS Layer is lowest priority.
    • Patch OS by creating an OS Layer Version.
    • When patching, ensure Windows is activated.
    • VMware Tools goes in the OS Layer. Update it too.
    • Windows Store apps should be removed from the OS Layer.
  • Application Layers:
    • Per-user profile settings are not captured.
    • Local users and local groups are not captured. Use Group Policy Restricted Groups instead.
    • A single utility layer can include Java, Flash, Adobe Reader.
    • Turn off application automatic updates.
    • If domain membership required for an app installation, join domain, install app, remove from domain.
    • Antivirus can go in OS Layer or App Layer.
    • Printer drivers can be layered – but not elastically
    • Use Layer Recipes.
    • All Office apps needed by a machine/user should be combined into a single Office Layer
    • Office cannot be elastically layered
    • When patching Office, update the OS Layer first.
    • Max 50 layers per desktop.

CTX226984 App Layering/Unidesk: The list of Windows Updates is usually wrong in app/platform layers and published images/desktops.

Operating System Preparation

  1. See Citrix CTX225952 4.x Layering Best Practices
  2. Windows 10
    1. In App Layering 4.12 and newer, Windows 10 version 1803 is supported, including Store Apps.
    2. In App Layering 4.11 and newer, Windows 10 version 1709 is supported, including Store Apps.
    3. In App Layering 4.10, Windows 10 version 1709 is supported, but only if all Store Apps are disabled.
      1. From Gunther Anderson at Citrix Discussions: “Testing wasn’t completed in time for the 4.10 release, but it turns out that 4.10 actually does work with Store Apps.”
    4. In App Layering 4.7 through App Layering 4.10, Windows 10 version 1703 is supported, but only if all Store Apps are disabled.
  3. Create a virtual machine.
  4. If vSphere:
    1. Make sure your OS Layer creation machine has a SCSI controller 0 of type LSI Logic SAS. VMware Paravirtual will not work.
    2. Make sure your OS Layer creation machine has a NIC of type VMXNET 3.
  5. GPT and UEFI are not supported, only MBR and BIOS.
  6. Install an operating system, and patch it.
  7. Install VMware Tools.
  8. Make sure the NIC is set to DHCP.
  9. XenApp 6.5 – Since local accounts are not captured in a Platform Layer, Citrix recommends installing XenApp 6.5 in the OS Layer instead of the Platform Layer.
  10. Don’t join the template machine to the domain. Leave it in a workgroup.
  11. Disable Automatic Updates on the template machine. You can use layers to install updates. An easy method to disable it is in Group Policy (gpedit.msc) at Computer Configuration | Policies | Administrative Templates | Windows Components | Windows UpdateConfigure Automatic Updates. Disable the setting.
  12. To stop Windows from performing maintenance and consuming 100% CPU, set the following registry value: (source = Win 10 Image – CPU Utilization 100% non-stop at Citrix Discussions)  💡
    • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Schedule\Maintenance
      • MaintenanceDisabled (REG_DWORD) = 1
  13. For Windows 10 version 1703, mkelly439 at Unable to finalize App Layers with ELM 4.7 – DO NOT UPGRADE TO 4.7 at Citrix Discussions says Defender should be disabled to prevent an import error.
    • HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender
      • DisableAntiSpyware (REG_DWORD) = 1
  14. For Windows 10 or newer, configure Windows Update to defer feature updates. Set it to Current Branch for Business (or Semi-Annual Channel Broad), and defer the feature updates for a long period of time. This should prevent Windows Update from upgrading to an unsupported version.

  15. If PVS, George Spiers says IPv6 should be disabled.
  16. Go to the downloaded App Layering 4.13 files, right-click the citrix_app_layering_os_machine_tools_4.13.0.exe file, and click Run as administrator.
  17. Click Install.
  18. If you look on the taskbar, you might see an open program called Set KMS Version.
  19. Click Use KMS.
  20. Then close the window.
  21. If Set KMS Version did not run automatically, then manually run C:\Windows\Setup\scripts\SetKMSVersion.hta as administrator (elevated).
    1. Shift right-click the file to copy it’s full path.
    2. Open command prompt as administrator, paste the path, and run it from there.
    3. Click Save Script.
    4. This adds the file runipkato.cmd to C:\Windows\Setup\scripts\kmsdir, which ELM will run when it publishes the image. The script installs the KMS Client key and activates it.
    5. If you used runipkato.cmd to handle KMS, then you’ll probably want to configure MCS to not rearm KMS since ELM is already handling it. See the ImagePrep section in the Catalogs post to disable Rearm (or fully disable ImagePrep).
  22. If this is a Windows 10 virtual machine, and if you want to remove Store apps, remove them from the OS Layer instead of the Platform Layer. Note: In App Layering 4.11 and newer, Store apps are supported, and it is no longer necessary to remove them.
    1. From Gunther Anderson at Citrix Discussions: “Testing wasn’t completed in time for the 4.10 release, but it turns out that 4.10 actually does work with Store Apps.”
    2. App Layering 4.7 and newer has a script at C:\Windows\Setup\Scripts\RemoveStoreApps.cmd that can remove the store apps. Note: this script removes Calculator, so you’ll probably want to find a replacement Calculator.
    3. Citrix Optimizer can remove Store apps.
    4. Citrix Optimizer also has a Citrix_AppLayering_Supplement at CTX229705.
  23. Rob Zylowski at Publishing a layered image fails every time with the same error at Citrix Discussions says that OfficeHub in Windows 10 1607 might interfere with Layering. Run the following to remove it. Note: Citrix Optimizer might not remove this app correctly. Note: David Felgueiras in the comments says that this problem has been fix in Layering 4.6 and newer.
    get-appxpackage -name "*officehub*" | remove-appxpackage
    Get-AppxProvisionedPackage -Online | where Displayname -EQ "Microsoft.MicrosoftOfficeHub" | Remove-AppxProvisionedPackage -Online
  24. Run setup_x64.exe from C:\Windows\Setup\scripts. Make sure you run it elevated.
  25. In the Welcome to the InstallShield Wizard for the Citrix App Layering Image Preparation Utility 4.13.0.75344 page, click Next.
  26. In the Specify your answer file page, click Next.
  27. In the InstallShield Wizard Completed page, click Finish.
  28. George Spiers Citrix App Layering Preparation Script: runs a number of tasks to clean out temporary folders, clear out Event Log entries, remove ghost devices from Device Manager, etc.
  29. Shut down the machine.

Import OS Layer

  1. In the ELM Management Console, go to the Layers tab.
  2. Right-click in the grey area, and click Create OS Layer.
  3. In the Layer Details page, give the OS Layer a name and version.
  4. Specify a Max Layer Size. Note: the packaging machine is thick provisioned using the size specified here.
  5. Click the down arrow to proceed to the next page.
  6. In the Connector page, if you already have a vSphere connector, select it, and click the down arrow. If you don’t already have a vSphere connector, then click New. ELM 4.1 and newer can import directly from vSphere.

    1. To create the vSphere connector, in the Choose a Connector Type window, select VMware vSphere, and click New.
    2. For info on the other connectors, see Connectors for publishing (vSphere environment) at Citrix Docs.
    3. A new tab opens.
    4. Give the Connector a name (e.g. vCenter name). The Connector specification includes specific storage, so the Connector name should indicate the storage name.
    5. Enter the vCenter FQDN and service account credentials.
      • The vCenter permissions needed by the service account are detailed at vSphere Prerequisites at Citrix Docs.


    6. Click Check Credentials.
    7. Scroll down and use the drop downs to select where you want Packaging VMs and Published Templates to be created.
    8. The Packaging VMs and Published Templates will be created under the Virtual Machine Folder that you specify here.
    9. If MCS, in the Virtual Machine Template (optional) field, search for a Template VM that will be copied to create the MCS master image. The Template VM needs CPU, Memory, and GPU settings, but no disks. See Required information for this Connector Configuration at Citrix Machine Creation Services for vSphere Connector Configuration at Citrix Docs.
      • To ensure that the published images have the correct time zone, it may help to generate a new template for your Connector, by having (or building) a Windows VM that has booted in the correct time zone. Shut it down, clone it, delete the attached disk from the clone, and convert that to a template for your Connector configuration in the Layering Management Console. More info at CTX230562 App Layering: Machine time on a published image is wrong at first boot.
    10. Layer Disk Cache Size in GB speeds up App Layer creation operations if you are creating multiple App Layers for the same OS/Platform combination. The size should be greater the size of the OS/Platform combinations.
    11. Click Test.

    12. When the Test is successful, click Save.
    13. Then click Close.
    14. Note: in Layering 4.11 and newer, Connectors can also be created and edited from System > Connectors. This page also indicates Connector Cache information.
  7. Back in the Connector page, select the vSphere connector, and click the down arrow.
  8. In the OS Disk Details page, click Select Virtual Machine.
  9. Click the … next to Virtual Machine.
  10. Select the OS Layer Virtual Machine, and click OK.
  11. Click OK.
  12. Click the down arrow.
  13. In the Icon Assignment page, select an icon, or upload a new one. Then click the down arrow.
  14. In the Confirm and Complete page,  you can enter a Comment to indicate who created this layer and when. Then click Create Layer.
  15. At the bottom of the screen, click the up chevron to display the Tasks pane.
  16. You’ll see a Running task. Click the information icon to view more details.

  17. Eventually it will say completed successfully.
  18. And the OS Layer will be Deployable.

Platform Layer

  1. See Citrix CTX225952 4.x Layering Best Practices.
  2. See Citrix CTX225997 Considerations When Creating a Platform Layer in Citrix App Layering 4.x.
  3. In the Layers tab, right-click in the grey area, and click Create Platform Layer.
  4. In the Layer Details page, give the Platform Layer a name and version. Note: Platform Layers are linked to OS Layers, so it’s best to indicate which OS Layer this Platform Layer is based on. You can’t use a Platform Layer created on one OS Layer on a different OS Layer.
  5. Specify a Max Layer Size. Note: the packaging machine is thick provisioned using the size specified here, plus the size of the OS Layer.
  6. Click Next (down button).
  7. In the OS Layer page, select the OS Layer (and layer version) this Platform Layer will be based on, and click the down arrow.
  8. In the Connector page, if you already have a vSphere connector, select it, and click Next. If you don’t already have a vSphere connector, then click New to create one. Click the down arrow.
  9. In the Platform Types page, change the selection to This platform layer will be used for publishing Layered Images. The other selection is if you want to deploy the vSphere OS Layer on a different hypervisor (e.g. Azure).
  10. Use the drop downs to select the Hypervisor, Provisioning Method, and Connection Broker. These can be changed later. Click the down arrow.
  11. In the Packaging Disk page, enter a name for the .vmdk disk that will be created in vSphere. Click the down arrow.
  12. In the Icon Assignment page, select an icon, or upload a new one. Click the down arrow.
  13. In the Confirm and Complete page, click Create Layer.
  14. On the bottom of the screen, open the Tasks pane.
  15. Click the information icon to view what the task is doing.
  16. Eventually it will say Pending (Action Required), meaning it’s waiting for you to perform the packaging in vSphere.
  17. In vSphere Web Client, in the VMs and Templates view, expand the Layering folder, expand Packaging VMs, and click the new Packaging Machine.
  18. If you edit the VM’s hardware, notice that the disk is Thick Provisioned.
  19. Join the machine to the domain. Only join the Platform Layer to the domain. OS Layer and App Layers must not be joined to the domain. You’re welcome to change the computer name.

    1. After joining the domain, move the computer object to your VDA OU so the GPO computer settings are applied to the Platform Layer.
  20. You can now access the console of the Packaging VM, and install VDA software.

    • Note: UPM Profile Streaming and Elastic Layers was fixed in App Layering 4.12.
  21. Feel free to reboot the Packaging VM.
  22. Rob Zylowski at Imprivata App Layers at Citrix Discussions recommends installing Imprivata in the same Platform Layer that contains the VDA.
  23. According to Direct Access Users Group Missing All Layers at Citrix Discussions, the Platform Layer does not capture or merge changes to local groups.
    1. Use Group Policy Restricted Groups or Group Policy Preferences Local Users and Groups to configure local groups.

    2. Here is a list of Local Group changes that should be configured in a Group Policy at Computer Configuration > Preferences folder > Control Panel Settings, right-click the Local Users and Groups node, point to New, and select Local Group.
      • Action – Update – Group – Users – Add Members: “DOMAIN\Domain Users”
      • Action – Update – Group – Administrators – Add Members: “DOMAIN\Your_Citrix_Admins_Group”, “DOMAIN\Domain Admins”
      • Action – Update – Group – Remote Desktop Users – Add Members: “NT AUTHORITY\Authenticated Users”
      • Action – Update – Group – Performance Log Users – Add Members: “NT Service\CitrixTelemetryService”
      • Action – Update – Group – Performance Monitor Users – Add Members: “NT Service\BrokerAgent”
      • Action – Create – Group – Anonymous
      • Action – Create – Group – Direct Access Users – Add Members: “DOMAIN\Your_RDP_Allowed_User_Group”
  24. If Provisioning Services:
    1. Install the Provisioning Services Target Device Software. The ELM Templates only allow one Platform Layer per template, so you’d need to install both VDA and Provisioning Services Target Device components in a single Platform Layer.
    2. Citrix CTX227404 App Layering: Considerations for the “RAS Async Adapter” network device (asyncmac): PVS-booted App Layering vDisk images appear to lose network connectivity and/or get BNIStack errors after initially appearing to boot properly. Take ownership of and delete the following two files.
      \Windows\inf\netrasa.inf
      \Windows\inf\netrasa.pnf
    3. Rearm KMS licensing (slmgr /rearm). MCS does this automatically during Image Prep.
  25. From Citrix CTX225997 Considerations When Creating a Platform Layer in Citrix App Layering 4.x): Additional software to install in the Platform Layer:
    • NVIDIA Drivers
    • Join the Domain – after joining, login as network account, then login as local account, and delete the profile of the network account.
    • Citrix Receiver – for the Single Sign-on Component
    • Citrix Workspace Environment Management Agent
    • Hypervisor Tools – if packaging or publishing to a different hypervisor than the one originally used to create the OS Layer.
  26. SAM database (local users and groups) are not captured in the Platform Layer. You might have to use group policy to create local users and populate local groups.
  27. Windows 10 apps should be removed from the OS Layer, not from the Platform Layer.
  28. CTX226984 App Layering/Unidesk: The list of Windows Updates is usually wrong in app/platform layers and published images/desktops.
  29. When done installing components, finalize the layer:
    1. George Spiers Citrix App Layering Preparation Script: runs a number of tasks to clean out temporary folders, clear out Event Log entries, remove ghost devices from Device Manager, etc.
    2. Double-click the Shutdown for Finalize icon on the desktop. If it finds issues, it will tell you what to do (e.g. reboot needed). Otherwise, it will shut down the VM.
  30. Back in the ELM Management Console, in Layers > Platform Layers, right-click the Editing layer, and click Finalize.
  31. In the Confirm and Complete page, click Finalize.
  32. You can click the information icon next to the running task to see what it’s doing.

  33. Eventually the icon will say Deployable.
  34. You can click the information icon on the Platform Layer to view its details.

Next Steps

Update OS or Platform Layers

  1. Right-click an OS Layer or a Platform Layer, and click Add Version.
  2. In the Version Details page, in App Layering 4.8 and newer, select a Base Version that you want to update.
  3. In the New Version field, enter a new version, and click Next.
  4. In the OS Layer page, select an OS Layer version, and click Next.
  5. In the Connector page, select a Connector, and click Next.
  6. In the Platform Types page, click Next.
  7. In the Packaging Disk page, click Next.
  8. In the Confirm and Complete page, click Add Version.
  9. The task details shows the current progress.
  10. When the Packaging Machine is deployed, you can connect to its console and perform any desired updates.
  11. When done installing updates, finalize the layer:
    1. George Spiers Citrix App Layering Preparation Script: runs a number of tasks to clean out temporary folders, clear out Event Log entries, remove ghost devices from Device Manager, etc.
    2. Double-click the Shutdown for Finalize icon on the desktop. If it finds issues, it will tell you what to do (e.g. reboot needed). Otherwise, it will shut down the VM.
  12. When done updating the Packaging Machine, right-click the Layer that is marked as Editing, and click Finalize.
  13. In the Confirm and Complete page, click Finalize.
  14. View the task details to see the current progress.
  15. To confirm that you have a new version, move your mouse over the layer icon, and click the information icon.
  16. The available versions are shown.
  17. There are two methods of assigning a new version: one image at a time, or multiple images.
  18. To edit one image:
    1. Go to the Images tab.
    2. Right-click an Image, and click Edit Template.
    3. Click the OS Layer or Platform Layer page.
    4. Click the plus arrow next to a Layer and select the new version. Then complete the wizard.
  19. To update multiple images:
    1. On the Layers tab, right-click the updated layer, and click Update Assignments.
    2. In the Select Version page, select the version you want to assign, and click Next.
    3. In the Image Template Assignment page, select the templates you want to update, and click Next.
    4. In the Confirm and Complete page, click Update Assignments.
  20. Once an image has a new version assigned, go to the Images tab, and republish the image.

145 thoughts on “App Layering – OS Layer and Platform Layer”

  1. I am new to App Layering and setting up in home lab.
    Environment: App Layering 4.13, ESXi6.5, OS Layer Server 2016, VDA and PVS 7.18

    I can create an OS Layer using either Windows ISO manually or using AF3.8, then create a Platform layer with VDA and PVS, and then create a VDA(desktop) and launch using PVS without an issue.

    When I create an App Layer using the same OS Layer, when the vm boots up in order to install the app, I get a Missing Clpsp.sys missing. C000000F

    I have tried MANY times in many combinations ( no optimizations, uninstall Defender ) . What am I missing?

    Thanks in advance for pointing me in the right direction.

  2. Thanks Carl, very helpful, still using this to finish off a POC.
    Question: The target devices are showing a C drive of 10GB with 3 free, where is this set when my OS layer is 40 GB with 15 free and the Platform layer is 15GB with 12 free.
    Regards,
    J

      1. yes, user layers enabled
        So the users only get to see their user layers as C in the target devices?
        User layer set at default 10GB but without installing anything it is 75% usage already?
        In the packaging machines, we are slowly running out of disk space, how can we expand the OS layer C drive?

      1. If I update the OS layer from 1703 to 1803 then the “OS Machine Tools” are gone too. And I had to run Citrix Optimizer again. Can I update the Platform layer or do I have to build a new one.

  3. Hi Carl!

    Thanks for the Article.
    Was working on testing App Layering out creating a Demo but at # 16 and # 17 of this article After creating the Platform Layer from the VM i deployed (Not Joined to the domain, had APPL tool installed and shutdown) My Platform later OS created on Vsphere will not boot up stuck at windows logo. (Windows Server 2012 R2)

    Do you have any idea what might be causing this? Or is there something i’m missing here?

    Any help will be appreciated. Thanks

    1. I put it in the original OS VM that is imported to ELM. But you can always add it later to an OS Layer. Or put it in a Platform Layer.

      1. Yup thats exactly what I did too carl. Because when you create a new VM in vCenter, it doesnt have network, display drivers etc, it cant connect to network. if you want to remove unwanted apps or stop any services, you have to manually write each and every command in the posh console or batch script as you cant copy/paste in the vm and it cant connect to network. So, I installed vmware tools in the original base image, removed unwanted apps and then added software in the app layer. It worked great.

  4. Hi Carl,

    Thank you for your detailed document, this is very handy for my learning.

    l need a help in importing the App layers to a new ELM machine which are created by different Appliance ( identical appliance in different DC). in new Appliance connection to SMB share is getting established successfully on the version selection screen it says no items available. could you please suggest me how to import the layer to new machine.

    Thank you

  5. Carl, Everytime I try to add a Citrix user (like CitrixTelemetryService) to the Local Groups GPO, the policy window crashes. Have you ever seen this?

  6. Hi Carl,

    At point 20. I think you could mention that this issue has now been fixed in versions 4.6+ of App Layering.

    BTW I use your blog as reference at every deployment! you the man!

  7. Thanks again Carl for this detailed doc.

    During OS layer creation \ Import OS Layer \vMware connector
    I am importing a VM from vcenter, I will not be using MCS for creating one (for OS layer machine or future VDAs) – I am using PVS.
    Do I need to enter these details “Virtual machine Resources” before moving on to “select Virtual Machine” (to import) tab? – I’m unclear what these settings represent in my scenario

    I cannot work out whether this settings will be used later to create a “Packaging Machine” for App Layering or something else.

  8. I have a XenDesktop VDI environment, already built primarily on PVS and some MCS.
    I am not looking for an OS layer with App Layering, I am perfectly happy with the current OS provisioning methods we have and our master image update and management solution.

    What I want to achieve is decommission PVD and replace with App Layering (Elastic), so I can continue with pooled PVS VDIs without PVD.

    -I understand a packaging machine is required in the OS layer – for running the setup and capturing the settings for the App.
    -What I cannot get my head around is how I can connect App Layers to my existing VDIs in PVS and MCS without the need to represent them as OS layers.
    -Are there tools/ agents/plugins to make this possible?

    1. The drivers for Elastic Layering are added when the ELM publishes an image, which is based on OS Layer, Platform Layer, etc. It currently is not supported to use Elastic Layers with VMs not based on an ELM published image.

  9. Hi Carl, I used win10 pro iso with no updates on the OS. While I tried to install xendesktop 7.16 VDA, it says vda cant be installed in this OS, and it needs min 1607 or 1709 version. I am in platform layer now, installing windows updates and i know we shouldnt install windows updates in platform layer. Any idea how to get through this, other than deleting my platform layer and OS layer and recreating them again? Also, if i do it, i have to install 1607 or 1709 win updates and then start capturing OS layer and platform layer. any suggestion here ?

Leave a Reply to Kent Söderlund Cancel reply