FlexApp Click-to-Layer for Published Apps


ProfileUnity’s FlexApp Technology includes exclusive Click-to-Layer capabilities and Citrix XenApp and Microsoft RDSH session isolation for FlexApp application packages. FlexApp’s Click-to-Layer feature allows instant delivery of FlexApp layered applications on-demand upon the application open action by a user. The user simply clicks on the application’s native icon on the Desktop or in the Start Menu and the application is instantly delivered via FlexApp and is ready for use. The option improves desktop readiness times compared to other layer delivery options because applications are not mounted unless they are in use. Now even dozens of layered applications can be readily available in a user’s Windows environment without needing to actually layer every available application that might not be used during a user’s session.

FlexApp’s Session Isolation feature provides enhanced delivery support providing session-based layering for published applications running on Citrix XenApp, Microsoft RDSH, and Microsoft RemoteApp. Before, all applications published on a server were visible to all connected users whether they need them or not. Now when FlexApp applications are delivered to a user’s published desktop, other users are not automatically exposed to those applications. Every user’s desktop can remain unique, even for users on the same Windows Server environment.

Click-to-Layer in a server environment offers an additional advantage. The first user to request an application to open will experience a slight delay as the FlexApp package is layered into the environment. However, after the application is layered into the server environment, the process does not need to be repeated. Subsequent users will not experience any delays on an application open.

This document explains how to configure FlexApp’s Click-to-Layer feature for published applications.

Updating FlexApp Settings for Click-to-Layer with Published Applications

Before configuring Click-to-Layer with your preferred method of publishing applications, complete the following steps:

  1. Package your application with the FlexApp Packaging Console v6.7 or later.
  2. Note: If the desired application has been packaged prior to FlexApp Packaging Console v6.7, the package can be updated for Click-to-Layer compatibility by opening the FlexApp Packaging Console v6.7, selecting Edit the package’s metadata for the desired package, and then clicking OK.

  3. If you have not already done so, go to Administration Settings > ProfileUnity Tools of the ProfileUnity Management Console to your Deployment Path, which is normally your folder called \\[domain]\NETLOGON\ProfileUnity
  4. Click the Download or Deploy Client Tools button.
  5. Enabling Click-to-Layer for published applications requires you to edit FlexApp configuration settings inside the flexapp.zip file that was just copied to the Deployment Path as part of the Client Tools. The default location for flexapp.zip is in the NETLOGON\ProfileUnity folder. Copy flexapp.zip locally.
  6. Unzip flexapp.zip.
  7. Create a new subfolder under the unzipped FlexApp folder for the Click-to-Layer files called CTL.
  8. Copy the following files from the FlexApp folder into FlexApp\CTL:
    • JitCut.exe
    • JitCut.exe.config
    • lwl_userapp_player.exe
    • lwl_userapp_player.xml
    • lwl_userapp_player64.exe
    • lwl_userapp_trigger.exe
    • lwl_userapp_trigger64.exe
    • vhd.exe
  9. Edit FlexApp\CTL\JitCut.exe.config updating JitCut.exe.config package validation settings by opening and changing the following setting from True to False:
  10. <setting name="Validate" serializeAs="String">
  11. <value>False</value>
  12. Replace JitCut.exe.config in the FlexApp\CTL folder with the modified version for Click-To-Layer.
  13. Rezip the contents of the FlexApp folder with the added \CTL subdirectory as flexapp.zip. You can rename this file to avoid overwriting the original flexapp.zip, but remember to copy it as flexapp.zip in the next step. 
  14. Go back to your environment’s Deployment Path, which by default is
  15. Copy the modified flexapp.zip to your environment’s Deployment Path.
  16. If the client software has previously been deployed to the end user machines in your environment, you will need to uninstall the existing client software. If the client software has not been previously deployed to the end user machines in your environment, the client software will be installed through a Group Policy computer startup script from the Deployment Path with the modifications that were made to flexapp.zip for FlexApp Click-To-Layer.

Next, you will continue the configuration process based on your choice of application-publishing brokers.

Citrix XenApp

  1. Log in to Citrix Studio and navigate to Applications.
  2. In the Actions field on the right side of the screen, click the Add Applications button.
  3. Proceed through wizard until you get to the Applications screen.
  4. Click the Add button, then select the Manually option from the list that appears.
  5. In the Path to the executable file field, enter the full client-side path to the modified Click-to-Layer version of the JitCut.exe file:
  6. C:\Program Files\ProfileUnity\FlexApp\CTL\JitCut.exe
  7. In the Command line argument field, specify the path to the package xml, which is stored alongside the package that the FlexApp Packaging Console creates. Enter the path using the following format:
  8. "\\MyServer\Share\Chrome_20170619\Chrome_20170619.package.xml" 0
  9. In the Application name field, enter whichever applications you want.
  10. Click OK.
  11. The Add Applications wizard reappears. 
  12. Complete the Add Application wizard and verify the application has been added successfully.
  13. In the Citrix Studio screen, right-click the Applications folder and go to Properties.
  14. On the Application Settings screen that appears, click the Delivery button in the left column. 
  15. In the Application icon field, click the Change button.
  16. On the Select Icon screen that opens, select the Choose an icon from a file on a representative machine radio button.
  17. Select the .ico file located in the package path.
  18. Press OK to save your changes and verify that the new icon appears . 
  19. The application can now be assigned and launched from the Citrix StoreFront screen.
  20. OSX:Users:Home:Desktop:XenApp:XA_09.png

VMware Horizon RDSH

  1. Log in to the VMware Horizon Admin Console.
  2. In the left column, navigate to Catalog > Application Pools.
  3. On the Application Pools screen, click the Add button to add a new application.
  4. On the Add Application Pools screen, select the Add application pool manually radio button.
  5. Enter an ID, Display name, Version and Publisher for the pool.
  6. In the Path field, enter the full client-side path to the modified Click-to-Layer version of JitCut.exe
  7. C:\Program Files\ProfileUnity\FlexApp\CTL\JitCut.exe
  8. In the Parameters field, specify the path to the package .xml, which is stored alongside the package that the FlexApp Packaging Console creates. Enter the path in the following format:
  9. "\\MyServer\Share\Chrome_20170619\Chrome_20170619.package.xml" 0
  10. Click the Finish button.
  11. The application can now be assigned and launched from the VMware Horizon Client.
  12. OSX:Users:Home:Desktop:ViewRDSH:VVR_03.png

Note that starting with VMware Horizon 7.1, VMware has added experimental support for changing the default icons for published applications. Both VMware Horizon 7.1 and PowerCLI 6.5 R2 are required. After installed, the icon can be changed by opening a PowerShell cmd prompt and performing the following:

  1. Load the required PowerCLI modules:
    • Get-Module - ListAvailable VMware.VimAutomation.HorizonView | Import-Module
    • Get-Module - ListAvailable VMware.Hv.Helper | Import-Module
  2. Connect to the VMware Horizon connection server:
  3. Connect-HVServer -Server your.connectionserver.com
  4. Set the Application icon to an image file (.ico, .png, .jpg, etc.):
  5. Set-HVApplicationIcon -ApplicationName Chrome -IconPath C:\MyIcons\chrome.ico

Microsoft RemoteApp

  1. Log in to the Microsoft RemoteApp server.
  2. In the left column, go to Collections > QuickSessionCollection.
  3. In the RemoteApp Programs field, click the Tasks drop-down menu and select Publish RemoteApp Programs.
  4. OSX:Users:Home:Desktop:RemoteApp:RA_01.png
  5. The Publish RemoteApp Programs wizard starts. Click the Add button to add an application manually.
  6. Navigate to and select the modified Click-to-Layer JitCut executable:
  7. C:\Program Files\ProfileUnity\FlexApp\CTL\JitCut.exe  
  8. Complete the Publish RemoteApp Programs wizard.
  9. In the RemoteApp Programs field again, right-click the new JitCut application and select Edit Properties.
  10. OSX:Users:Home:Desktop:RemoteApp:RA_04.png
  11. On the General screen for the JitCut application, change the RemoteApp program name field to the name of the application intended to be published.
  12. On the Parameters screen, specify the path to the package xml, which is stored alongside the package that the FlexApp Packaging Console creates. Use the following format:
  13. "\\MyServer\Share\Chrome_20170619\Chrome_20170619.package.xml" 0
  14. Click OK to complete the application configuration process.
  15. The application can now be assigned and launched from the RemoteApp portal.
  16. OSX:Users:Home:Desktop:RemoteApp:RA_07.png

PowerShell can be used to customize the icon seen in the RemoteApp portal. To do so, launch a PowerShell prompt on the RemoteApp server and:

  1. Type the following to replace the application icon with a new one from a .ico, .exe, or .dll file:
  2. Get-RDRemoteApp -Alias "JitCut" | Set-RDRemoteApp -IconPath “C:\MyIcons\chrome.ico"
  3. Log out of the RemoteApp portal and then log back in for changes to take effect.