Launching App-V applications published through Studio on the same VDA

Citrix Studio integrates with App-V in either Single Admin or Dual Admin mode. The benefits of Single Admin mode is that essentially no App-V Management or Steaming servers are required. This is achievable because Citrix Virtual Apps and Desktops can directly hook into the SMB network share where App-V packages are stored.

One of the limitations I have recently encountered some customers facing is how App-V packages are launched when published from Studio and accessed via shared desktops.

Take the following scenario: You have a Virtual Apps deployment and most of your users access a hosted shared desktop, which runs on Windows Server 2016 OS. App-V is also used in the environment, so you have added App-V packages to Studio using Single Admin mode and published them to the same Delivery Group that delivers your hosted shared desktop.

Workspace app is installed on the shared desktop VDA and places the App-V application shortcuts in the user’s Start Menu.

When a user goes to launch an App-V application, the behaviour is not what you might expect. Instead of the App-V application launching locally, it instead launches on a different VDA within the same Delivery Group.

This means that the entire logon process takes place again, and a new HDX session is established.

The end result is a new ICA connection and a longer application launch time.

With vPrefer/PreferWithout vPrefer/Prefer
Application launch time13 seconds47 seconds

There are two ways to work around this current limitation. You can either use the vPrefer (newer) feature, or the older Prefer feature.

If you are using Virtual Apps and Desktops versions up to 7.16, you can only use the Prefer method. If you are using Virtual Apps and Desktops versions from 7.17 and above, you can use the vPrefer method.

vPrefer – Virtual Apps and Desktops 7.17+

Requirements (minimum):

  • StoreFront 3.14 (ships with 7.17 Virtual Apps and Desktops media)
  • Delivery Controller 7.17
  • Receiver for Windows 4.11

Configuration:

On your Delivery Controller, launch PowerShell and run command asnp Citrix.* followed by Get-BrokerApplication. In this example, notice how the Firefox App-V application I have published from Studio has a property called CommandLineExecutable and a value of CtxAppVLauncher.exe.

To make vPrefer launch the App-V package locally, we need to reference the full path to CtxAppVLauncher.exe. To do so for all App-V applications published in Studio, run command:

Get-BrokerApplication -CommandLineExecutable ctxAppVLauncher.exe | Set-BrokerApplication -CommandLineExecutable "C:\Program Files\Citrix\Virtual Desktop Agent\ctxAppVLauncher.exe"

Next run Get-BrokerApplication to confirm the value has changed to the full path.

Note: If you want to change the CommandLineExecutable property value on only particular applications, use a command such as:

Get-BrokerApplication -Name "Firefox - AppV" | Set-BrokerApplication -CommandLineExecutable "C:\Program Files\Citrix\Virtual Desktop Agent\ctxAppVLauncher.exe"

Open Group Policy Management Console, create a new GPO which applies to your VDAs. The policy setting named vPrefer that you should enable is found under Computer Configuration -> Policies -> Administrative Templates -> Citrix Components -> Citrix Receiver -> SelfService

You have three options to choose from:

  • Allow all apps – All applications including Win32 apps such as Notepad and Calculator will launch instead of the equivalent published app.
  • Allow installed apps – Locally installed applications that are not Win32 apps will launch instead of the equivalent published app.
  • Allow network apps – Published apps will always launch.

Note: If the above policy is unconfigured, the default behaviour is Allow installed apps.

Select Allow all apps and click OK.

That is all that is required for vPrefer to launch App-V applications on the same VDA that a user is already receiving their published desktop from.

Prefer – Virtual Apps and Desktops below version 7.17 (including 7.15 LTSR)

Configuration:

Just like vPrefer, to make Prefer launch the App-V package locally, we need to reference the full path to CtxAppVLauncher.exe via PowerShell for each App-V application. To do so for all App-V applications published in Studio, run command:

Get-BrokerApplication -CommandLineExecutable ctxAppVLauncher.exe | Set-BrokerApplication -CommandLineExecutable "C:\Program Files\Citrix\Virtual Desktop Agent\ctxAppVLauncher.exe"

Next run Get-BrokerApplication to confirm the CommandLineExecutable value has changed to the full path.

Note: If you want to change the CommandLineExecutable property value on only particular applications, use a command such as:

Get-BrokerApplication -Name "Firefox - AppV" | Set-BrokerApplication -CommandLineExecutable "C:\Program Files\Citrix\Virtual Desktop Agent\ctxAppVLauncher.exe"

On each Shared Desktop VDA, you need to create a folder with shortcuts to the applications you want Prefer to launch locally. On your Gold Image for example, create an AppShortcuts directory under C:\.

On each Shared Desktop VDA, you need to create a registry string that points to the directory you just created. On your Gold Image for example, create a PreferTemplateDirectory string with value C:\AppShortcuts under HKLM\SOFTWARE\WOW6432Node\Citrix\Dazzle.

Populate the AppShortcuts directory with shortcuts to your App-V applications. The shortcut must begin with the path to CtxAppVLauncher.exe, and end with the App-V application GUID. First, under Type the location of the item, enter “C:\Program Files\Citrix\Virtual Desktop Agent\CtxAppVLauncher.exe”.

To obtain the GUID of each App-V application you want to launch locally, open Citrix Studio and browse to the App-V application properties. Under the Location tab you will find the GUID. Copy it.

Paste the GUID value into the field as below. Click Next.

Specify a name for the shortcut that is different from the name published in Studio. If you don’t, Workspace app will not know what app to select. Click Finish.

Perform the same task for each of the App-V applications that you wish to launch locally.

Browse back to Studio and edit each App-V application. On the Identification tab and under the Description and keywords field, enter KEYWORDS:prefer=Firefox where Firefox equals the name of the shortcut you published to the AppShortcuts folder. Note that prefer is case sensitive. Click OK and repeat for each App-V application.

As a user logs on to their shared desktop, with Start Menu integration configured for Workspace app, the shortcuts from the AppShortcuts folder will be copied as below. When launched, App-V launches locally rather than a new HDX session establishing.

Note: Applications have to be in the Start Menu for the Prefer keyword to work. Disabling Self Service, disabling User Subscriptions (in StoreFront) or assigning the Mandatory keyword to App-V applications will force them to appear in the Start Menu.



3 Comments

Leave a Reply