As part of our Agile commitment to continuous innovation, we are extending and improving the experience of publishing applications and desktops in each quarterly release of XenApp and XenDesktop. As I mentioned in my previous blog post, the guiding principles that we are following are:

  • Emphasize Application Publishing while keeping Desktop Publishing essentially as it is today
  • Simplify by making new functionality available in the right place
  • Minimize the amount of unnecessary change

What are Application Groups?

Application Groups are a new concept that we have introduced in the 7.9 release of XenApp and XenDesktop.

 App group An Application Group consists of three things:
  • A collection of applications.
  • A list of users that may access the applications.
  • Settings that apply to all of the applications in the group.

Application groups can be used to categorize applications into collections and enable some settings to be administered for all applications in a group. You may have noticed that there are now three places where you can define users: applications, delivery groups and application groups. We recommend that users are defined at just one level and a general Active Directory user group is used elsewhere. If you start to use application groups, it makes sense to use them for all applications.

Application groups can be linked to one or more delivery groups. This means that changing an application contained in an application group, or a setting on the application group itself, will affect all of the delivery groups. The list of users on an application group provides a further restriction of the users that are defined on each of the linked delivery groups.

App and delivery groups

When an application group links to multiple delivery groups, such as App Group 2 in the diagram above, you can set a priority 0, 1, … on the link to each delivery group where 0 is the highest priority. Delivery group priority for an application group can be used to:

  • Prioritize access to delivery groups according to machine criteria (e.g. performance or age)
  • Load balance applications between machines in delivery groups

The priority controls the order in which the machines in each delivery group should be evaluated for the delivery of an application in the group. Delivery groups with equal priority for an application group are load balanced.

Note that applications can also be added to multiple delivery groups and delivery group priorities also exist for applications.

When would I want to use Application Groups?

The first thing to notice about application groups is that they are entirely optional. Small scale deployments will work just fine without application groups, but as you scale out your deployment to a larger number of applications and delivery groups you should consider whether introducing application groups would simplify the management of your deployment.

Let’s look at a particular use case for application groups.

Consider a Microsoft Office application group. Before upgrading all users to the latest version of Office, you would like to stage its release and gather feedback from beta testers. This could be achieved by creating “Beta Users” and “Prod Users” Active Directory user groups, where Beta Users is a subset of Prod Users, and then using Citrix Studio to publish the Office applications to both user groups as in the diagram below.

App groups - Office beta testing

Users that are not beta testers will always consume Office applications from one of the production machines. When a beta tester connects to an Office application, the application will be launched from a beta machine when one is available, otherwise it will be launched from a production machine. So the beta testers should not experience any downtime. The Beta Delivery Group can be disabled once the Office applications have moved into production.

This model can easily be extended with more application groups to support the Development, Test, Acceptance and Production life cycle.

New Application Group Workflows

In this blog post we are going to view the application group workflows from the perspective of Citrix Studio. As with all object types in the FMA architecture (7.x), all functionality relating to application groups is also available from the PowerShell SDK.

From the Applications node in Citrix Studio, select the Create Application Group wizard to create an application group. You can create an application group either before or after creating delivery groups.

Create App Group wizard in Citrix Studio - 7.9

After creating an application group, its details are available in the Applications node. The Groups details tab displays all of the application and delivery groups that contain the selected application. It also displays the relationship between the application, delivery groups and machines as in the entity relationship diagram above.

App Group Details on Applications Node in Citrix Studio - 7.9

The delivery groups and machine counts are hyperlinks. Clicking on a delivery group hyperlink will take you to the delivery group on the Delivery Groups node and clicking on a machine count hyperlink will take you to the list of machines on the Search node.

Selecting an application group and clicking Edit Application Group will take you to the page below. From here you edit the Users, Delivery Groups and Settings for the application group.

Edit App Group Details in Citrix Studio - 7.9

On the Delivery Groups page, you can manage the delivery groups that link to the application group and their priorities. On the Settings page, you can disable the sharing of sessions with other application groups that are linked to the same delivery group.


  • Application groups are optional.
  • Application groups can be used to categorize applications into collections.
  • Users and settings on an application group apply to all of the applications in the group.
  • When using application groups, we recommend that you use them for all applications and only define users on the application groups.
  • Application groups can be linked to multiple delivery groups and delivery group priorities can be used to control failover and load balancing.

See the product documentation for more information about Application Groups.

If you have any questions about Application Groups, feel free to ask in the comments section below.

Blog Banners -- FOOTER-2