EUC Weekly Digest – April 8, 2017

Last Modified: Apr 8, 2017 @ 7:51 am

Here are some EUC items I found interesting last week. For more immediate updates, follow me at http://twitter.com/cstalhood.

For a list of updates at carlstalhood.com, see the Detailed Change Log.

 

XenApp/XenDesktop

Receiver

NetScaler

XenMobile

XenServer

VMware

Microsoft

Other

  • HP Universal Print Driver 6.4.1 — Support for Windows 2016 + Win10 1607 fix – Jonathan Pitre on Twitter
  • Now available for XenDesktop 7.13: Nutanix AHV Plug-in for Citrix Director. Statistics for VM IOPS, I/O Bandwidth, Average I/O Latency – René Bigler on Twitter

App Layering – App Layers, Image Templates, and Publishing

Last Modified: Jun 19, 2018 @ 9:45 am

Navigation

Change Log

Create App Layer

Note: Citrix App Layering does not isolate applications. If you need isolation (e.g. multiple versions of Java), consider implementing Microsoft App-V. Citrix App Layering merges the layers without isolation.

  1. See Citrix CTX225952 4.x Layering Best Practices
  2. In the ELM Management Console, go to the Layers tab.
  3. Right-click in the grey, and click Create App Layer.
  4. In the Layer Details page, give the layer a name and version. Since the App Layer is tied to the OS Layer, it’s a good idea to include the OS Layer name in the App Layer name.
  5. Give the layer a Max Size. The layer disk created for the vSphere Packaging Machine is Thick Provisioned. Click the down arrow.
  6. In the OS Layer page, select an OS Layer. An App Layer created for one OS Layer cannot be used with another OS Layer. Click the down arrow.
  7. In the Prerequisite Layers page, you can select additional layers to include in your packaging machine. If there are no dependent layers, just click the down arrow.
  8. In the Connector page, select a vSphere connector, and click the down arrow.
  9. In the Platform Layer page, if you are creating the App Layer on a different hypervisor than originally used for the OS Layer, you can select the Platform Layer for the new hypervisor. If the hypervisor has not changed, just click the down arrow. The hypervisor can also be changed when publishing the Image Template later.
  10. In the Packaging Disk page, give the .vmdk file a name, and click the down arrow.
  11. In the Icon Assignment page, select an icon, or upload a new one, and click the down arrow.
  12. In the Confirm and Complete page, click Create Layer.
  13. At the bottom of the page, open the Tasks panel.
  14. Click the information icon next to the running task.
  15. Eventually the task will finish deploying the Packaging Machine.
  16. In vSphere Web Client, find the new Packaging Machine (in the PackagingVMs folder in the Layering VM folder), open its console, and install your app normally.
  17. See App layer recipes at Citrix Docs for some application install instructions.
  18. Citrix CTX226984 App Layering/Unidesk: The list of Windows Updates is usually wrong in app/platform layers and published images/desktops.
  19. Antivirus can be installed on an App layer. See Deploy anti-virus software at Citrix Docs for instructions for the following:
    • Symantec
    • McAfee
    • Trend Micro
    • Sophos
    • AVG
    • Kaspersky
  20. User settings are not captured in an Application Layer.
  21. Domain Join – CTX224668 How to install applications that require joining the domain with Citrix App Layering – In summary, you can join a layer to the domain while packaging, but you must remove it from that domain before finalization.
  22. For Office, put all Office apps in one layer.
    • Print to OneNote does not work in Elastic Layers.
  23. For Office 365 Click-to-run activation:
    1. After Office Click-to-run is installed, for all OSs other than Windows 7, run C:\Windows\Setup\scripts\Office2013Windows81_PREP.cmd as Administrator.
    2. In App Layering 4.6, Optimize.hta and Office Activate.cmd can handle Office 365 Click-to-run activation. For 4.5 and older, see Rob Zylowski at Office Activation Scripts for Office 365 at Citrix Discussions, to download these scripts . Also see O365 Office 2016 click to run online activation at Citrix Discussions.
    3. Go to C:\Windows\Setup\Scripts, right-click RunOptimizer.cmd, and click Run as administrator.
    4. Scroll down to J, check the box next to Process Office 365, and click Save Settings A-K.
    5. This creates a file called ProcessOffice365.txt.
    6. See Citrix CTX224566 Unidesk Recipe for Office 2016: Using Shared Computer Activation From Office 365 for more licensing guidance.
  24. For Office Volume License activation: (Source = Citrix CTX224900 Windows / Office 2016 KMS not activating in App Layering images (MCS Image Prep OS Rearm Failed)
    1. Go to C:\Windows\Setup\Scripts, right-click RunOptimizer.cmd, and click Run as administrator.
    2. Configure item H.
    3. Scroll down a little bit and click the button labelled Save Settings A-K. Then click the Optimizer.


    4. For all OSs other than Windows 7, run C:\Windows\Setup\scripts\Office2013Windows81_PREP.cmd as Administrator.
    5. Then rearm Office by running C:\Program Files\Microsoft Office\Office16\OSPPREAM.exe as administrator.
  25. When you are done installing your app, 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.
  26. After the machine is shutdown, in ELM Management Console, go to Layers > App Layers.
  27. Right-click the Layer that is currently being Edited, and click Finalize.
  28. In the Script Path page, if you embedded any scripts in the layer, specify the path. Otherwise, just click the down arrow.
  29. In the Confirm and Complete page, click Finalize.
  30. You can view the running tasks in the bottom window pane.
  31. It will eventually finish and say Deployable.

Windows Updates – From Gunther Anderson: “Generally, the list of updates is unreliable anywhere except the layer where the updates were installed. If your OS layer says the updates were installed, then they were. The actual list (the list is not the same as the actual updates) tends to get stepped on by your other app layers, since they remember the updates list from when they were originally created. With all of your app layers trying to set their own personal misunderstanding based on when they were initially created, what winds up in the published image is not a good reflection of any reality. However, the information from the OS layer is correct. Likewise, the list of Office updates shown in the Office layer is correct even when the list of Windows updates shown in the Office layer is not.”

OS Layer Switching – if you enabled the OS Layer Switching Lab Feature, then do the following:

  1. Right-click on your App Layer, and click Edit Properties.
  2. On the Layer Details page is a checkbox to Allow OS Layering Switching for this layer. You’ll need to repeat this for each additional App Layer. Source = Elastic layers to other OS layers not working as expected at Citrix Discussions.

Image/Template

  1. In the Management Console, go to the Images tab.
  2. Right-click in the grey, and click Create Template.
  3. In the Name and Description page, give the Template a Name that indicates the OS Layer, Platform Layer, and App Layers. Then click the down arrow.
  4. In the OS Layer page, select an OS Layer, and click the down arrow.
  5. In the Application Assignment page, select zero or more applications. Any App Layer you select here will be merged into the machine pre-boot. Elastic Layers are assigned later. Click the down arrow.

  6. In the Connector page, select a Connector for the platform you want to push this image to. If publishing to MCS, select a vSphere Connector, and click the down arrow.
  7. If you are publishing to PVS, and if you don’t have a PVS Connector, click New.

    1. From Citrix PVS connector configuration at Citrix Docs.
    2. In the Choose a Connector Type window, select Citrix PVS, and click New.
    3. For info on the other connectors, see Connectors for publishing (vSphere environment) at Citrix Docs.
    4. A new tab opens.
    5. Give the Connector a name. This Connector points to one PVS server, and one vDisk store, so the name should reflect that.
    6. The Console field contains the list of registered App Layering Agents running on PVS Servers.
    7. Enter credentials of a service account that is an administrator in PVS. Click Check Credentials.
    8. Scroll down. Use the drop-downs to select the vDisk store and other vDisk settings. Click Test.
    9. On the bottom, click Save.
    10. On the left, click Script Configuration.
    11. If you installed a PvS Connector Script, you can specify it here.
      1. Citrix CTX226060 Citrix App Layering 4.x: PVS Connector Script to Convert VHD to VHDX – a script that can convert the published VHD file to VHDX, and add it as a Version.
      2. Citrix CTX226062 Citrix App Layering 4.x: PVS Connector (BootPrivate) – a script that provides a mechanism to modify the vDisk mode to Private, Boot the vDisk on a pre-defined target so that it can run pre-defined layer scripts, the scripts shut down the target, the script waits for that shutdown then switches the mode back to standard.
    12. Click Save when done.
    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.
  8. Back in the Connector page, select the PVS connector, and click the down arrow.
  9. In the Platform Layer page, select one Platform Layer, and click the down arrow. For PVS, make sure the Platform Layer includes both VDA and PVS Target Device Software.
  10. In the Layered Image Disk page, give the .vmdk file a name, specify a size, and decide if you want Sysprep to run or not. You typically don’t need to Sysprep the image if you’re using MCS, PVS, Composer, or Instant Clone.
  11. If you wish to enable Elastic Layering, select it here. Assignment of Elastic Layers to users is described later.
    1. Note: when you enable Elastic Layering, the published image only gets 20 GB of free space due to the addition of a writable partition.
    2. From Rob Zylowski at XenApp Image Template Application Assignment vs Elastic Delay at Citrix Discussions: “There is a 5-8 second penalty just for turning on elastic layering. But its not a straight x seconds per app because the mounts run in parallel. However more apps do take longer. What can have more of an effect is if the app has a service. We have to mount the disk, read it and then start the service before we allow the logon to ensure that the service is available if your logon actually needs it. There is a log at c:\programdata\unidesk\logs that will tell you the time associated with mounting and starting elastic layers so you will know how much of the logon impact is due to elastic layering.”
    3. The path to Elastic Layers can be overridden by setting HKEY_LOCAL_MACHINE\SOFTWARE\Unidesk\ULayer:RepositoryPath on the published machine. See DFS path and Elastic Layers at Citrix Discussions, and CTX222107 You can change the Elastic Layer repository in the registry without reimaging (4.x).
    4. Citrix Profile Management Profile Streaming is not supported with Elastic Layers (source = Elastic Layers and Profile issues at Citrix Discussions)  💡
  12. As of App Layering 4.2, User Layers for Windows 7 and Windows 10 (Windows Store disabled) is a Lab feature that can be optionally enabled at System > Settings and Configuration > Labs.

    1. User Layers have the same application compatibility limitation as Elastic Layers.
    2. Storage Locations for User Layers are configured at System > Storage Locations.
    3. 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.
    4. Multiple access to the User Layer VHD is not allowed.
    5. David Wilkinson describes User Layers in detail at Citrix Application Layering – User layers.
  13. As of App Layering 4.8, Office 365 User Layers is a fully supported feature. For details (including limitations), see:
  14. Layering 4.11 adds Session Office 365 Layers to roam Outlook OST files on RDSH VDAs.
  15. Click the down arrow.
  16. In the Confirm and Complete page, click Create Template.
  17. The Image is then displayed as Publishable.

Publish Image

  1. Right-click a publishable image, and click Publish Layered Image.
  2. In the Confirm and Complete page, click Publish Layered Image.
  3. Open the Tasks pane, and click the information icon to view details of the running task.
  4. If publishing to MCS (vSphere):
    1. In the vSphere Web Client, you’ll find the Template VM under the TemplateVMs folder under the Virtual Machine folder you selected for the Connector.
    2. Citrix MCS creates VMs in the same Folder as the Master Image. You might want to move the Template VM to a different virtual machine folder.
    3. If you edit the VM’s hardware, you’ll see that the disk is Thick Provisioned.
    4. For MCS, in Citrix Studio, create a Machine Catalog using the Template VM as the Master Image.
    5. Notice that MCS creates VMs in the same Virtual Machine folder as the Master Image.
  5. If publishing to PVS:
    1. The image is uploaded to the vDisk Store as a .VHD file (not .VHDX).
    2. And it’s automatically added to the vDisk Store in the PVS Console. You can now assign it to your Target Devices.
    3. CTX226065 Citrix App Layering 4.x: PVS Image Management – choose an image, then list all the targets using that image optionally filtering on one ore more collections, then “promote” the image to all selected targets.
    4. If the PVS Image prompts for a reboot, then see CTX230767 App Layering: Published image to PVS prompts user to restart computer. Create a new Platform Layer version. Take an existing Write Cache disk and attach to the Packaging VM so it can detect the new hardware. Remove the second disk and Finalize the Layer.

Elastic Layers

From Rob Zylowski at XenApp Image Template Application Assignment vs Elastic Delay at Citrix Discussions: “There is a 5-8 second penalty just for turning on elastic layering. But its not a straight x seconds per app because the mounts run in parallel. However more apps do take longer. What can have more of an effect is if the app has a service. We have to mount the disk, read it and then start the service before we allow the logon to ensure that the service is available if your logon actually needs it. There is a log at c:\programdata\unidesk\logs that will tell you the time associated with mounting and starting elastic layers so you will know how much of the logon impact is due to elastic layering.”

Citrix.com Understanding Elastic Layering – A technical overview of the Citrix App Layering 4.x Elastic Layering Architecture and Configuration details

Citrix CTX227454 App Layering: PVS Cache Disks May Need to Be Larger with Elastic Layering: you may need to add capacity to your Cache Disks and/or Cache Memory reservation on your Target Machines to support App Layering with Elastic Layers. App Layering caches entire modified files, not individual modified blocks.

Citrix Profile Management Profile Streaming is not supported with Elastic Layers (source = Elastic Layers and Profile issues at Citrix Discussions)  💡

To assign elastic layers to users:

  1. In the ELM Management Console, go to Layers > App Layers.
  2. Right-click a Deployable App Layer, and click Add Assignments.
  3. In the Select Version page, select an App Layer version, and click the down arrow.
  4. In the Image Template Assignment page, don’t select anything. This page lets you assign this App Layer to a Image Template for pre-boot merging. For Elastic merging/mounting, just click the down arrow.
  5. In the Elastic Assignment page, note any issues that Elastic Fit discovered that would prevent the app from merging elastically correctly. If you’re OK with the issues, click the Assign Elastically button.
  6. Search for a user group you want to assign this Layer to, and check the box next to the group. Click the down arrow when done.
  7. In the Confirm and Complete page, click Assign Layer.
  8. Open the Tasks pane to see the progress while it copies the App Layer to the remote SMB share.
  9. When it’s done, go to the SMB share to see the files it uploaded, including the .json files that contain Layer assignments.
  10. To enable Elastic Layers in machines created from a ELM Image Template, edit the Template (Images), and make sure Elastic Layers is enabled in the Layered Image Disk page.
  11. Note: when you enable Elastic Layering, the published image only gets 20 GB of free space due to the addition of a writable partition.
  12. Note: if you find that App Layers are conflicting with each other, you can adjust the App Layer priority by using the Unidesk 4 Layer Priority Utility — Experimental tool.
  13. From Citrix Discussions Application from an Elastic Layer as “Published App”? You can publish an elastic app. Simply publish an app, but manually specify the path to where executable would be. The app is mounted before the user logs in, so it will be there when Citrix tries to launch the app.
  14. The path to Elastic Layers can be overridden by setting HKEY_LOCAL_MACHINE\SOFTWARE\Unidesk\ULayer:RepositoryPath on the published machine. See DFS path and Elastic Layers at Citrix Discussions, and CTX222107 You can change the Elastic Layer repository in the registry without reimaging (4.x).
  15. To debug Elastic Layers, see CTX222133 Elastic Layering Logs. Only Info logging is enabled by default.  💡
    1. In C:\Program Files\Unidesk\Layering Services\ulayer.exe.config, set LogFileAppender level to Debug
      1. Must be set before machine boots.
    2. C:\ProgramData\Unidesk\Logs\ulayersvc.log

Update Layers

  1. Right-click an App Layer, and click Add Version.
  2. In the Version Details page, enter a new version, and click the down arrow.
  3. In the OS Layer page, click the down arrow.
  4. In the Prerequisites Layers page, click the down arrow.
  5. In the Connector page, select a Connector, and click the down arrow.
  6. In the Platform Layer page, click the down arrow.
  7. In the Packaging Disk page, click the down arrow.
  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. When you are done performing 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.
  11. When done updating the Packaging Machine, right-click the App Layer that is marked as Editing, and click Finalize.
  12. In the Script Path page, click the down arrow.
  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, right-click the App Layer, and click Delete Versions.
  16. You can only delete versions that are not assigned to any Image.
  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. Right-click an Image, and click Edit Template.
    2. Click the Application Assignment page.
    3. Click the plus arrow next to a Layer and select the new version. Then complete the wizard.
  19. To update multiple images:
    1. Right-click the updated layer, and click Update Assignments.
    2. In the Select Version page, select the version you want to assign, and click the down arrow.
    3. In the Image Template Assignment page, select the templates you want to update, and click the down arrow.
    4. In the Elastic Assignment page, if this App Layer is assigned to users, you can update them too. Click the down arrow.
    5. In the Confirm and Complete page, click Update Assignments.
  20. Once an image has a new version assigned, you must republish it.

Export Layers

App Layering 4.3 and newer let you export all layers and versions to the SMB File Share.

  1. As of App Layering 4.8, Import and Export Layers is a fully supported feature.
    1. For App Layering versions 4.3 through 4.7, at System > Settings and ConfigurationLabs, click Edit.
    2. Check the box next to Import and Export Layers, and click Save.
  2. Go to the Layers tab.
  3. Right-click on the background, and click Export.
  4. App Layering 4.4 and newer lets you specify a file share for the exported layers.
  5. ELM 4.5 and newer let you select the layers and versions that you want to export. Make your selections, and then click the down arrow.
  6. Review the list of layers/versions it will export, and click Export.
  7. If you look in your SMB share, in the \Unidesk\Exported Layers folder, you’ll see a folder for the OS Layer, and in there, you’ll see a folder for each Platform and Application Layer.
  8. After creating new layer versions, if you export layers again, it will only export the layers/versions that haven’t already been exported.
  9. If you right-click the background, and click Import
  10. It only imports the layers/versions that are missing.

App Layering – OS Layer and Platform Layer

Last Modified: Jun 14, 2018 @ 1:32 pm

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 – In App Layering 4.7 and newer, Windows 10 version 1703 is supported, but only if all Store Apps are disabled. This means Enterprise or Education, but not Professional.
    • In App Layering 4.10 and newer, Windows 10 version 1709 is supported, but only if all Store Apps are disabled.
    • 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.”
  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.11 files, right-click the citrix_app_layering_os_machine_tools_4.11.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.11.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.

  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 PvS:
    1. Install the PvS Target Device Software. The ELM Templates only allow one Platform Layer per template, so you’d need to install both VDA and PvS 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.

App Layering – Enterprise Layer Manager (ELM) 4.11

Last Modified: Jun 14, 2018 @ 1:31 pm

Navigation

These App Layering pages focus on VMware vSphere as the hypervisor. For Hyper-V, see Citrix App Layering by George Spiers. 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

Licensing

From Citrix Blog Post A Breakdown of Citrix App Layering Features by Edition: Citrix App Layering is available in all editions with the exception of XenApp Secure Browser Edition. This means that you can do the following across any number of XenApp and XenDesktop sites in your environment:

  • Create an unlimited number of OS, platform and application layers
  • Create an unlimited number of layered images
  • Create an unlimited number of elastic layers

XenApp and XenDesktop Platinum Edition customers also benefit from:

  • Multiple hypervisors and/or cloud connections (e.g. XenServer and Azure or XenServer and Hyper-V). Non-Platinum sites are limited to one hypervisor or cloud connection type.
  • Multiple provisioning mechanisms (e.g. Machine Creation Services and Provisioning Services). Non-Platinum sites must select MCS or PVS and use it exclusively with Citrix App Layering.
  • Multiple broker types/platforms (e.g. XenApp and XenDesktop with VMware Horizon View). Non-Platinum sites can only use App Layering within their XenApp and XenDesktop sites
  • User Layers (currently available in Labs preview for Windows 7 and Windows 10)

For Citrix Cloud – Citrix App Layering is a cloud service offering for all customers. Those customers using the XenApp and XenDesktop Service are entitled to Platinum-level features including all Citrix App Layering capabilities. Citrix App Layering also allows you to access the management console within Citrix Cloud (currently in Labs/preview) making it even easier to get started with the technology.

Upgrade Enterprise Layer Manager

If you are deploying a new ELM appliance, skip to Import Enterprise Layer Manager.

To upgrade:

  1. When you login to the ELM, you might see a notification about Version 4.11 is now available. Click Start Upgrade.
  2. If you don’t see the upgrade notification, then download it manually:
    1. Download the App Layering 4.11 Appliance Upgrade Package from Citrix Cloud.
    2. Or download the upgrade package from Citrix Downloads.
    3. In the App Layering file share, create an Upgrade folder.
    4. Unzip the Upgrade Package, and copy the citrix_app_layering_upgrade_4.11.0.vhd file to the Upgrade folder in the App Layering file share.
    5. Login to the App Layering ELM management console.
    6. Switch to the System tab.
    7. On the right, click Upgrade.
    8. In the Upgrade Disk Details page, click Browse.
    9. Expand the Upgrade folder, select the citrix_app_layering_upgrade_4.11.0.vhd file, and click Choose.
  3. Click the down arrow (next).
  4. In the Confirm and Complete page, click Upgrade.
  5. The browser window changes to the upgrade progress page.
  6. It will eventually say that Upgrade Status is Complete. Refresh the browser.
  7. Login to the App Layering console.
  8. You might immediately see the upgrade notification. Click OK.
  9. Or, you might see some additional prompts:
    1. If the Citrix License Agreement window is displayed, check the box next to I accept the Terms and Conditions, and click Close.
    2. If the Setup Login Credentials wizard is displayed, in the About Your Credentials page, click the down arrow (next).
    3. In the Change Passwords page, enter passwords for the three accounts, and click the down arrow.
    4. In the Confirm and Complete page, click Change Credentials.
    5. Click OK when prompted that the passwords were changed successfully.
    6. Click OK when prompted that the ELM was upgraded.
  10. In the top right of the window, click About.
  11. Verify the ELM Software Version.

Upgrade OS Layer

  1. From Gunther Anderson: You do not uninstall or upgrade the Unidesk Image Preparation Tool – Setup_x64.exe. The current drivers are installed in the ELM, and every time the ELM produces an image for any purpose, it injects the current drivers into it. You do not need to touch your OS layer for that.
  2. You should download and run the OS_Machine_Tools_4.11.0.exe to allow it to upgrade your system scripts, but you don’t need to do anything beyond that.
  3. Replace the existing files.
  4. If you look on the taskbar, you might see an open program called Set KMS Version.
  5. Click Use KMS.
  6. Then close the window.

Upgrade Provisioning Services Agent

  1. If you are upgrading Provisioning Services server, you might have to re-register the PVS snap-in:
    "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe" "c:\program files\citrix\provisioning services console\Citrix.PVS.snapin.dll"
  2. On your Provisioning Services server, open Programs and Features. If it says Citrix App Layering Agent, there’s no need to uninstall.

    1. If it says Unidesk Agent, then uninstall it before upgrading.
  3. Go to the Citrix App Layering 4.11 files, and run citrix_app_layering_agent_installer.exe.
  4. If upgrading from Agent 4.2 and newer, click Yes to upgrade the agent.
  5. In the Welcome to the InstallShield Wizard for Citrix App Layering Agent page, click Next.
  6. In the InstallShield Wizard Completed page, click Finish.
  7. Programs and Features shows the installed Agent version as 4.1100.3.

Import Enterprise Layer Manager Appliance

This section is for new installs.

Download Appliance

  1. You can download App Layering 4.11 Appliance Installation Package from Citrix Downloads, or from Citrix Cloud.
  2. To download from Citrix Cloud:
    1. Go to https://citrix.cloud.com and login. You can create a Cloud account.
    2. After logging in, find the App Layering service, and click Request Trial.
    3. Once the trial is activated, in the My Services section, find App Layering, and click Manage.
    4. In the App Layering service, click the Getting Started tab.
    5. Select your hypervisor.
    6. In step 2, click Download for vSphere, or whatever your hypervisor is.
  3. After downloading, extract the .zip file.

Import ELM Appliance

ELM Notes:

  • ELM is not in the data plane. Once an image is published to a platform, ELM is no longer involved, and thus High Availability for ELM is not necessary.
  • OS, App, and Platform Layers are stored inside the ELM appliance. You can export layers from the ELM appliance.

To import the ELM appliance:

  1. In vSphere Web Client, right-click a cluster, and click Deploy OVF Template.
  2. In the Select an OVF template page, browse to the vmware_4.11.0.17.ova file, and click Next.
  3. In the Select name and location page, give the machine a name, and click Next.
  4. In the Select a compute resource page, select a cluster, and click Next.
  5. In the Review details page, click Next.
  6. In the Accept license agreements page, click Accept, and then click Next.
  7. In the Select storage page, select a datastore. The ELM appliance stores all master layers inside the appliance, so ensure there’s sufficient disk space (typically 300-500 GB) for the virtual appliance.
    1. You can view the appliance’s consumed disk space inside the ELM Management Console at System > Manage Appliance.
    2. To expand the storage, either increase the existing disk size, or add a disk to the VM. Then, on the right, is a link to Expand Storage.
  8. Select thin provision, or not. Then Click Next.
  9. In the Select networks page, click Next.
  10. In the Ready to complete page, click Finish.
  11. See Firewall ports at Citrix Docs.

Configure ELM IP Address

  1. Once imported, power on the ELM appliance.
  2. After the RUN_ONCE commands are complete, login to the console as administrator with a password of Unidesk1. You might have to press enter before the logon prompt appears.
  3. Enter c to configure networking.
  4. Enter s to assign a static network.
  5. Enter a new IP address for this appliance. Then enter y to save settings and restart networking.
  6. Press <Enter> to continue.
  7. While here, feel free to configure the time zone.
  8. Press / to search. For Central Time, search for chicago, and note the time zone number.
  9. Press Q to quit the display.
  10. Enter the time zone number to configure it.
  11. NTP is configured to use Internet servers. Feel free to change them.

Cloud Management of ELM

You are welcome to mange the ELM appliance locally by skipping ahead to the next section (Silverlight). Or, if you want manage the ELM appliance from Citrix Cloud, follow the instructions in this section.

  1. Go to https://layering.cloud.com and login. Or, after logging into Citrix Cloud, switch to the App Layering service.
  2. Switch to the Getting Started tab.
  3. In Step 1, click Get Cloud Connector.
  4. A new tab opens to the Resource Locations view. Click Download.
  5. From a dedicated server machine in your local network, right-click cwcconnector.exe, and Run as administrator. Don’t install this Connector on any machine that you don’t want to reboot without your knowledge.
  6. Click Sign In, and enter your Citrix Cloud credentials.

  7. The Connector will install.


  8. After installation, go back to your browser, and click Refresh.
  9. Your Resource Location should now have a connector. You can install a second connector. You can also rename the Resource Location.
  10. Go back to the App Layering service.
  11. In Step 4, click Log in to Appliance.
  12. Choose the Resource Location, and enter the IP address of your ELM appliance. Then click Connect.
  13. You can now login to the ELM as administrator and Unidesk1. One advantage of Citrix Cloud is no need to install Silverlight. Once logged in, skip to the First Login section.

Silverlight

  1. Use Internet Explorer to connect to the ELM IP address. Silverlight does not work in Chrome.
  2. If Silverlight is not installed, click the button to install it.
  3. Uncheck the two boxes, and then click Install now.
  4. Click Close.
  5. When you go to the ELM console, the screen will be white for a few seconds. Be patient.
  6. You can login as administrator with Unidesk1 as the default password.

First Login

  1. The first time you logon you are prompted with the End User License Agreement. Check the box next to I accept the Terms and Conditions, and then click Close.
  2. If the Setup Login Credentials wizard is displayed, in the About Your Credentials page, click the down arrow (next).
  3. In the Change Passwords page, enter passwords for the three accounts, and click the down arrow.
  4. In the Confirm and Complete page, click Change Credentials.
  5. Click OK when prompted that the passwords were changed successfully.
  6. Feel free to close the welcome wizard.

Appliance Certificate

  1. In the ELM Management Console, go to System > Settings and Configuration.
  2. Scroll down until you see the HTTP Certificate Settings section. Click the Edit button.
  3. Scroll down, and click Upload.
  4. Browse to a PEM file that contains an unencrypted RSA key, and one certificate (no chain). You can use OpenSSL to convert a .pfx file to a PEM file.
  5. If you scroll up, it should show you the Common Name of the certificate you uploaded. If it’s the root certificate, then you need to remove the extra certificate from the PEM file.
  6. Scroll down and click Save.
  7. Click Yes to restart the web server.

  8. It might take a few minutes to apply. Eventually, you should be able to point your browser to the https URL and not see any certificate errors.
  9. At System > Settings and Configuration, you can scroll down to the Security Settings section to edit the Management Console idle timeout.

File Share

  1. On a Windows file server, create a new share that will store the Elastic Layers. Only SMB shares are supported with Elastic Layers. NFS shares will not work with Elastic Layers.
  2. For High Availability, you can use any file server High Availability technology like File Server Scale-out Clustering, DFS, etc. For local high availability, Citrix recommends clustering over DFS Replication since DFS failure requires reboot of Elastic Layered Machines. See DFS path and Elastic Layers at Citrix Discussions.
  3. For DR Elastic Layer machines, the registry value HKEY_LOCAL_MACHINE\SOFTWARE\Unidesk\ULayer:RepositoryPath can be configured to point to a file share in a DR site. See DFS path and Elastic Layers at Citrix Discussions, and CTX222107 You can change the Elastic Layer repository in the registry without reimaging (4.x).
  4. Give Everyone (or equivalent) Full Control to the share.
  5. On the Security tab, make sure the Users groups only have Read access (no Modify/Write).
  6. Add a service account to the share, and give it Modify access. ELM uses this service account to upload elastic layers to the share.
  7. Back in the ELM, go to System > Settings and Configuration.
  8. Scroll down until you get to the Network File Shares section. Click Edit.
  9. Make sure Windows share is selected. Elastic Layers don’t work on NFS.
  10. Enter the file share path, the service account credentials.
  11. Click Test Network File Share.
  12. Click Save.
  1. Go to Users > Directory Service.
  2. On the right, click Create Directory Junction.
  3. Give the “junction” a friendly name (e.g. domain name).
  4. Enter one domain controller address. LDAP Load balancing is recommended.
  5. Change the port to 636 (assuming you have certificates on your domain controllers).
  6. Click Test Connection.
  7. When prompted with a certificate error, click OK.
  8. Check the box next to Ignore Certificate Errors, and then click Next.
  9. You’ll need a bind account. Get the full Distinguished Name (look in Active Directory Users & Computers > user > Attribute Editor) and enter it here in the Authentication Details page with the password. Click Test Authentication.
  10. After successful authentication, click the down arrow.
  11. In the Distinguished Name (DN) Details page, click the drop down to select the Base DN. Click Test Base DN. And then click the down arrow.
  12. In the Attribute Mapping page, leave them set to the defaults, and click the down arrow.
  13. In the Confirm and Complete page, click Create Directory Junction.

Role Based Access

  1. Go to Users > Directory.
  2. Search through the tree and find your ELM Admins group. Select it. On the right, click Edit Properties.
  3. In the Machine Association page, click the down arrow.
  4. In the Roles page, change it to Administrator, and click the down arrow.
  5. In the Confirm and Complete page, click Update Group.
  6. Logout of ELM.
  7. Log back in using an AD account that’s in your ELM Admins group.

Citrix Provisioning Services (PVS) Publishing Agent

To publish to PvS, you install the Unidesk Agent on the PvS Servers. It’s only needed on one PvS server.

The installation of the Agent can be automated. See Dennis Span Citrix App Layering Agent unattended installation.

From Install the App Layering Agent (required for PVS and Connector Scripts) at Citrix Docs.

  1. Ensure the PvS services are running as a domain account. Network Service won’t work.
  2. Run the following command on the PvS 7.7 or newer Server. Note, if you upgrade PvS, you’ll have to run this command again.
    "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe" "c:\program files\citrix\provisioning services console\Citrix.PVS.snapin.dll"

    1. If PvS 7.6, then run the following command instead:
      "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe" "c:\program files\citrix\provisioning services console\MCliPSSnapIn.dll"
  3. Go to the App Layering 4.11 files you downloaded from Citrix Cloud or Citrix Downloads, and run citrix_app_layering_agent_installer.exe.
  4. In the Welcome to the InstallShield Wizard for Citrix App Layering Agent page, click Next.
  5. In the License Agreement page, select I accept the terms in the license agreement, and click Next.
  6. In the Agent Port page, click Next.
  7. In the Ready to Install the Program page, click Install.
  8. Enter the ELM FQDN, enter ELM credentials, and click Register.
  9. Registration logs can be found at C:\Program Files (x86)\Citrix\Agent\Logs.
  10. In the InstallShield Wizard Completed page, click Finish.
  11. Programs and Features shows the installed Agent version as 4.1100.3.
  12. When an image is published to PvS, ELM can run a script. Citrix has a sample Versioning and Convert VHD to VHDX script that converts the VHD file to VHDX, and/or adds the published image as a version. The script files can be installed on the PvS server at this time. Later, you specify the path to the script when you create the PvS Connector in ELM while creating an image template.
  13. Citrix also has a BootPrivate script that modifies the vDisk mode to Private, boots the vDisk on a pre-defined target so that it can run pre-defined layer scripts, shuts down the target, waits for that shutdown, and then switches the mode back to standard.

Next Steps

Detailed Change Log

Last Modified: Jul 13, 2018 @ 7:37 pm

This post lists all minor and major changes made to carlstalhood.com.