Citrix Virtual Apps and Desktops

Applications

Introduction

If your deployment uses only Delivery Groups (and not Application Groups), you add applications to the Delivery Groups. If you also have Application Groups, generally you should add applications to the Application Groups. This guidance provides easier administration. An application must always belong to at least one Delivery Group or Application Group.

In the Add Applications wizard, you can select one or more Delivery Groups, or one or more Application Groups, but not both. Although you can later change an application’s group association (for example, moving an application from an Application Group to a Delivery Group), best practice discourages adding that complexity. Keep your applications in one type of group.

When you associate an application with more than one Delivery Group or Application Group, a visibility issue can occur if you do not have sufficient permission to view the application in all of those groups. In such cases, either consult an administrator with greater permissions or have your scope extended to include all the groups to which the application is associated.

If you publish two applications with the same name (perhaps from different groups) to the same users, change the Application name (for user) property in Studio; otherwise, users will see duplicate names in Citrix Workspace app.

You can change an application’s properties (settings) when you add it, or later. You can also change the application folder where the application is placed, either when you add the application, or later.

For details, see:

Add applications

You can add applications when you create a Delivery Group or Application Group; those procedures are detailed in the Create Delivery Groups and Create Application Groups articles. The following procedure describes how to add applications after you create a group.

Good to know:

  • You cannot add applications to Remote PC Access Delivery Groups.
  • You cannot use the Add Application wizard to remove applications from Delivery Groups or Application Groups. That is a separate operation.

To add one or more applications:

  1. Select Applications in the Studio navigation pane and then select Add Applications in the Actions pane.
  2. The Add Applications wizard launches with an Introduction page, which you can remove from future launches of this wizard.
  3. The wizard guides you through the Groups, Applications, and Summary pages described below. When you are done with each page, click Next until you reach the Summary page.

Alternatives to step 1 if you want to add applications to a single Delivery Group or Application Group:

  • To add applications to only one Delivery Group, in step 1, select Delivery Groups in the Studio navigation pane, then select a Delivery Group in the middle pane, and then select Add Applications in the Actions pane. The wizard will not display the Groups page.
  • To add applications to only one Application Group, in step 1, select Applications in the Studio navigation pane, then select an Application Group in the middle pane, and then select the Add Applications entry under the Application Group’s name in the Actions pane. The wizard will not display the Groups page.

Groups

This page lists all the Delivery Groups in the Site. If you have also created Application Groups, the page lists the Application Groups and Delivery Groups. You can choose from either group, but not from both groups. In other words, you cannot add applications to an Application Group and a Delivery Group at the same time. Generally, if you are using Application Groups, applications should be added to Application Groups rather than Delivery Groups.

When adding an application, you must select the check box next to at least one Delivery Group (or Application Group, if available) because every application must always be associated with at least one group

Applications

Click the Add dropdown to display the application sources.

  • From Start menu: Applications that are discovered on a machine in the selected Delivery Groups. When you select this source, a new page launches with a list of discovered applications. Select the check boxes of applications to add, and then click OK.

    This source cannot be selected if you (1) selected Application Groups that have no associated Delivery Groups, (2) selected Application Groups with associated Delivery Groups that contain no machines, or (3) selected a Delivery Group containing no machines.

  • Manually defined: Applications located in the Site or elsewhere in your network. When you select this source, a new page launches where you type the path to the executable, working directory, optional command line arguments, and display names for administrators and users. After entering this information, click OK.
  • Existing: Applications previously added to the Site. When you select this source, a new page launches with a list of discovered applications. Select the check boxes of applications to add and then click OK.

    This source cannot be selected If the Site has no applications.

  • App-V: Applications in App-V packages. When you select this source, a new page launches where you select the App-V server or the Application Library. From the resulting display, select the checkboxes of applications to add, and then click OK. For more information, see the App-V article.

    This source cannot be selected if App-V is not configured for the Site.

  • Application Group: Application Groups. When you select this source, a new page launches with a list of Application Groups. (Although the display also lists the applications in each group, you can select only the group, not individual applications.) All current and future applications in the selected groups will be added. Select the check boxes of Application Groups to add, and then click OK.

    This source cannot be selected if (1) there are no Application Groups, or (2) if the selected Delivery Groups do not support Application Groups (for example, Delivery Groups with statically assigned machines).

As noted in the table, some sources in the Add dropdown cannot be selected if there is no valid source of that type. Sources that are incompatible (for example, you cannot add Application Groups to Application Groups) are not included in the dropdown. Applications that have already been added to the groups you chose cannot be selected.

To add an application from an assigned AppDisk, select From Start menu. If the application is not available there, select Manually defined and provide the details. If a folder access error occurs, configure the folder as shared and try to add the application through Manually defined again.

You can change an application’s properties (settings) from this page, or later.

By default, applications you add are placed in the application folder named Applications. You can change the application from this page, or later. If you try to add an application and one with the same name already exists in the same folder, you are prompted to rename the application you’re adding. You can accept the new name offered, or decline and then rename the application or select a different folder. For example, if app already exists in the Applications folder, and you attempt to add another application named app to that folder, the new name app_1 will be offered.

Summary

If you are adding 10 or fewer applications, their names are listed in Applications to add. If you are adding more than 10 applications, the total number is specified.

Review the summary information and then click Finish.

Change an application’s group association

After adding an application, you can change the Delivery Groups and Application Groups with which the application is associated.

You can use drag-and-drop to associate an application with an additional group. This is an alternative to using commands in the Actions pane.

If an application is associated with more than one Delivery Group or more than one Application Group, group priority can used to specify the order in which multiple groups are checked to find applications. By default, all groups are priority 0 (the highest). Groups at the same priority are load balanced.

An application can be associated with Delivery Groups containing shared (not private) machines that can deliver applications. You can also select Delivery Groups containing shared machines that deliver desktops only, if (1) the Delivery Group contains shared machines and was created with a XenDesktop 7.x version earlier than 7.9, and (2) you have Edit Delivery Group permission. The Delivery Group type is automatically converted to “desktops and applications” when the properties dialog is committed.

  1. Select Applications in the Studio navigation pane and then select the application in the middle pane.
  2. Select Properties in the Actions pane.
  3. Select the Groups page.
  4. To add a group, click the Add dropdown and select Application Groups or Delivery Groups. (If you have not created any Application Groups, the only entry will be Delivery Groups.) Then select one or more available groups. Groups that are incompatible with the application, or that are already associated with the application, cannot be selected.
  5. To remove a group, select one or more groups and then click Remove. If removing group association would result in the application no longer being associated with any Application Group or Delivery Group, you will be alerted that the application will be deleted.
  6. To change the priority of a group, select the group and then click Edit Priority. Select a priority value and then click OK.
  7. When you are finished, click Apply to apply the changes and leave the window open, or click OK to apply the changes and close the window.

Duplicate, enable or disable, rename, or delete an application

The following actions are available:

  • Duplicate: You might want to duplicate an application to create a different version with different parameters or properties. When you duplicate an application, it is automatically renamed with a unique suffix and placed adjacent to the original. You might also want to duplicate an application and then add it to a different group. (After duplicating, the easiest way to move an application is using drag-and-drop.)
  • Enable or disable: Enabling and disabling an application is a different action than enabling and disabling a Delivery Group or Application Group.
  • Rename: You can rename only one application at a time. If you try to rename an application and one with the same name already exists in the same folder or group, you are prompted to specify a different name.
  • Delete: Deleting an application removes it from the Delivery Groups and Application Groups with which it was associated, but not from the source that was used to add the application originally. Deleting an application is a different action than removing it from a Delivery Group or Application Group.

To duplicate, enable or disable, rename, or delete an application:

  1. Select Applications in the Studio navigation pane.
  2. Select one or more applications in the middle pane and then select the appropriate task in the Actions pane.
  3. Confirm the action, when prompted.

Remove applications from a Delivery Group

An application must be associated (belong) with at least one Delivery Group or Application Group. If you attempt to remove an application from a Delivery Group that would remove that application’s association with any Delivery Group or Application Group, you are notified that the application will be deleted if you continue. When that happens, if you want to deliver that application, you must add it again from a valid source.

  1. Select Delivery Groups in the Studio navigation pane.
  2. Select a Delivery Group. In the lower middle pane, select the Applications tab and then the application you want to remove.
  3. Select Remove Application from the Actions pane.
  4. Confirm the removal.

Remove applications from an Application Group

An application must belong to at least one Delivery Group or Application Group. If you attempt to remove an application from an Application Group that will result in that application no longer belonging to any Delivery Group or Application Group, you are notified that the application will be deleted if you continue. When that happens, if you want to deliver that application, you must add it again from a valid source.

  1. Select Applications in the Studio navigation pane.
  2. Select the Application Group in the middle pane, and then select one or more applications in the middle pane.
  3. Select Remove from Application Group in the Actions pane.
  4. Confirm the removal.

Change application properties

You can change the properties of only one application at a time.

To change the properties of an application:

  1. Select Applications in the Studio navigation pane.
  2. Select an application and then select Edit Application Properties in the Actions pane.
  3. Select the page containing the property you want to change.
  4. When you are finished, click Apply to apply any hanges you made and keep the window open, or click OK to apply changes tand close the window.

In the following list, the page is shown in parentheses.

Property Page
Category/folder where application appears in Citrix Workspace app Delivery
Command line arguments; see Pass parameters to published applications Location
Delivery Groups and Application Groups where the application is available Groups
Description Identification
File extensions and file type association: which extensions the application opens automatically File Type Association
Icon Delivery
Keywords for StoreFront Identification
Limits; see Configure application limits Delivery
Name: the names seen by the user and by the administrator Identification
Path to executable; see Pass parameters to published applications Location
Shortcut on user’s desktop: enable or disable Delivery
Visibility: limits which users can see the application in Citrix Workspace app; an invisible application can still be started; to make it unavailable as well as invisible, add it to a different group Limit Visibility
Working directory Location

Application changes may not take effect for current application users until they log off their sessions.

Configure application limits

Configure application limits to help manage application use. For example, you can use application limits to manage the number of users accessing an application simultaneously. Similarly, application limits can be used to manage the number of simultaneous instances of resource-intensive applications, this can help maintain server performance and prevent deterioration in service.

This feature limits the number of application launches that are brokered by the Controller (for example, from Citrix Workspace app and StoreFront), and not the number of running applications that could be launched by other methods. This means that application limits assist administrators when managing concurrent usage, but do not provide enforcement in all scenarios. For example, application limits cannot be applied when the Controller is in leased connection mode.

By default, there is no limit on how many application instances can run at the same time. There are several application limit settings; you can configure any or all:

  • The maximum number of concurrent instances of the application by all users in the Delivery Group.
  • One instance of the application per user in the Delivery Group.
  • The maximum number of concurrent instances of the application per machine (PowerShell only).

If a limit is configured, an error message is generated when a user attempts to launch an instance of the application that will exceed the configured limit. If more than one limit is configured, an error is reported when the first limit is reached.

Examples using application limits:

  • Maximum number of simultaneous instances limit: In a Delivery Group, you configure the maximum number of simultaneous instances of application Alpha to 15. Later, users in that Delivery Group have 15 instances of that application running at the same time. If any user in that Delivery Group now attempts to launch Alpha, an error message is generated, and Alpha is not launched because it would exceed the configured simultaneous application instance limit (15).
  • One-instance-per-user application limit: In another Delivery Group, you enable the one-instance-per-user option for application Beta. User Tony launches application Beta successfully. Later in the day, while that application is still running in Tony’s session, he attempts to launch another instance of Beta. An error message is generated and Beta is not launched because it would exceed the one-instance-per-user limit.
  • Maximum number of simultaneous instances and one-instance-per-user limits: In another Delivery Group, you configure a maximum number of simultaneous instances of 10 and enable the one-instance-per-user option for application Delta. Later, when ten users in that Delivery Group each have an instance of Delta running, any other user in that Delivery Group who tries to launch Delta will receive an error message, and Delta will not be launched. If any of the ten current Delta users attempt to launch a second instance of that application, they will receive an error message and second instance will not be launched.
  • Maximum number of simultaneous instances per machine, and using tag restrictions: Application Charlie has licensing and performance requirements that dictatehow many instances can be running at the same time on a specific server, as well as howmany instances can be running simultaneously across all servers in the Site.

    The application instances per machine limit affects any server in the Site (not just machines in a particular Delivery Group). Let’s say your Site has three servers. For application Charlie, you configure the app instances per machine limit to 2. So, no more than six instances of application Charlie will be allowed to launch site-wide. (That’s a limit of two instances of Charlie on each of the three servers.)

    To restrict an application’s usage to only certain machines within a Delivery Group (inaddition to limiting the instances on all machines Site-wide), use the tagging functionality for those machines, and configure the maximum number of instances per machine limitfor that application.

If application instances are also launched by methods other than Controller brokering (for example, while a Controller is in outage mode) and configured limits are exceeded, users will not be able to launch additional instances until they close sufficient instances to no longer exceed the limits. The instances that exceeded the limit will not be forcibly shut down; they will be allowed to continue until their users close them.

If you disable session roaming, then disable the one-instance-per-user application limit. If you enable the one-instance-per-user application limit, do not configure either of the two values that allow new sessions on new devices. For information about roaming, see the Sessions article.

To configure the maximum instances per Delivery Group limit, and the one-instance-per-user limit:

  1. Select Applications in the Studio navigation pane and then select an application.
  2. Select the Edit Application Properties in the Actions pane.
  3. On the Delivery page, choose one of the following options.

    • Allow unlimited use of the application. There is no limit to the number of instances running at the same time. This is the default.
    • Set limits for the application. There are two limit types; specify either or both.
      • Specify the maximum number of instances that can run concurrently
      • Limit to one instance of the application per user
  4. Click OK to apply the change and close the dialog box, or Apply to apply the change and leavee the dialog box open.

To configure the maximum instances per machine limit (PowerShell only):

  • In PowerShell (using the Remote PowerShell SDK for Citrix Cloud deployments, or the PowerShell SDK for on-premises deployments), enter the appropriate BrokerApplication cmdlet with the MaxPerMachineInstances parameter.
  • For guidance, use the Get-Help cmdlet. For example:

    Get-Help Set-BrokerApplication –Parameter MaxPerMachineInstances

Pass parameters to published applications

Use the Location page of an application’s properties to enter the command line and pass parameters to published applications.

When you associate a published application with file types, the symbols “%*” (percent and star symbols enclosed in double quotation marks) are appended to the end of the command line for the application. These symbols act as a placeholder for parameters passed to user devices.

If a published application does not launch when expected, verify that its command line contains the correct symbols. By default, parameters supplied by user devices are validated when the symbols “%*” are appended. For published applications that use customized parameters supplied by the user device, the symbols “%**” are appended to the command line to bypass command-line validation. If you do not see these symbols in a command line for the application, add them manually.

If the path to the executable file includes directory names with spaces (such as C:\Program Files), enclose the command line for the application in double quotation marks to indicate that the space belongs in the command line. To do this, add double quotation marks around the path, and another set of double quotation marks around the %* symbols. Be sure to include a space between the closing quotation mark for the path and the opening quotation mark for the %* symbols.

For example, the command line for the published application Windows Media Player is:

“C:\Program Files\Windows Media Player\mplayer1.exe” “%*”

Manage application folders

By default, new applications you add to Delivery Groups are placed in a folder named Applications. You can specify a different folder when you create the Delivery Group, when you add an application, or later.

Good to know:

  • You cannot rename or delete the Applications folder, but you can move all the applications it contains to other folders you create.
  • A folder name can contain 1-64 characters. Spaces are permitted.
  • Folders can be nested up to five levels.
  • Folders do not have to contain applications; empty folders are allowed.
  • Folders are listed alphabetically in Studio unless you move them or specify a different location when you create them.
  • You can have more than one folder with the same name, as long as each has a different parent folder. Similarly, you can have more than one application with the same name, as long as each is in a different folder.
  • You must have View Applications permission to see the applications in folders, and you must have Edit Application Properties permission for all applications in the folder to remove, rename, or delete a folder that contains applications.
  • Most of the following procedures request actions using the Actions pane in Studio. Alternatively, you can use right-click menus or drag and drop. For example, if you create or move a folder in a location you did not intend, you can drag/drop it to the correct location.

To manage application folders, select Applications in the Studio navigation pane. Use the following list for guidance.

  • To view all folders (excluding nested folders): Click Show all above the folder list.
  • To create a folder at the highest level (not nested): Select the Applications folder. To place the new folder under an existing folder other than Applications, select that folder. Then, select Create Folder in the Actions pane. Enter a name.
  • To move a folder: Select the folder and then select Move Folder in the Actions pane. You can move only one folder at a time unless the folder contains nested folders. (The easiest way to move a folder is to use drag and drop.)
  • To rename a folder: Select the folder, and then select Rename Folder in the Actions pane. Enter a name.
  • To delete a folder: Select the folder, and then select Delete Folder in the Actions pane. When you delete a folder that contains applications and other folders, those objects are also deleted. Deleting an application removes the application assignment from the Delivery Group; it does not remove it from the machine.
  • To move applications into a folder: Select one or more applications. Then, select Move Application in the Actions pane. Select the folder.

You can also place applications you are adding in a specific folder (even a new one) on the Application page of the Create Delivery Group and Create Application Group wizards. By default, added applications go in the Applications folder; click Change to select or create a folder.

Control local launch of applications on published desktops

When users launch a published application from within a published desktop, you can control whether the application is launched in that desktop session or as a published application. Citrix Workspace app searches for the installation path of the application in the Windows registry on the VDA and, if present, launches the local instance of the application. Otherwise, a hosted instance of the application is launched. If you launch an application that is not installed on the VDA, the hosted application is launched. For more information, see vPrefer launch.

In PowerShell (using the Remote PowerShell SDK in Citrix Cloud deployments or the PowerShell SDK in on-premises deployments), you can change this action.

In the New-Broker Application or Set-BrokerApplication cmdlet, use the LocalLaunchDisabled option. For example:

Set-BrokerApplication -LocalLaunchDisabled <Boolean>

By default, this option’s value is false (-LocalLaunchDisabled $false). When launching a published application from within a published desktop, the application is launched in that desktop session.

If you set the option’s value to true (-LocalLaunchDisabled $true), the published application is launched. This creates a separate, additional session from the published desktop (using Citrix Workspace app for Windows) to the published application.

Requirements and limits:

  • The application’s ApplicationType value must be HostedOnDesktop.
  • This option is available only through the appropriate PowerShell SDK. It is not currently available in the Studio graphical interface.
  • This option requires minimum: StoreFront 3.14, Citrix Receiver for Windows 4.11, and Delivery Controller 7.17.