XenApp 7.6 Install – Part 2: Delivery Controller, StoreFront, License Server Installation

This is part 2 in the Citrix XenApp 7.6 installation and configuration guide. In this article we go through the steps required to install the core components, which are the Delivery Controller, Citrix StoreFront, Licensing Server and Citrix Studio and Citrix Director.

Quick Links

Here are the links to each of the articles that make up this series:

Step-by-Step Guide

To install Citrix XenApp 7.6 Delivery Controller, Studio, Director and License Server, follow the steps below:

1. Log onto your Citrix Delivery Controller as a local administrator

This is where we will install the Citrix Delivery Controller, Citrix StoreFront, Licensing Sever and Citrix Studio & Director

2. From the Installation Media, click Start for the XenApp installation

3. Click Delivery Controller Installation

4. Select I agree and click Next

5. Select the installation options below and click Next

6. Un-tick SQL Server 2012 Express install as we will be using our own database and then click Next

7. Click Next

8. Click Install

9. The  Citrix XenApp 7.6 Delivery Controller will now install

10. Click Finish

Up Next…

The next guide coming up in the series is: Citrix XenApp 7.6 Install Guide – Part 3: Create & Configure a new Citrix Site

Any questions or queries, then please let me know below.



  1. Thanks for the info. As the number of users increases, which core component(s) do you recommend splitting off to their own VM(s)? I’m preparing to install XenApp 7.6 with a potential of ~100 concurrent users. Thanks.

    1. Hi Torsten,

      I would recommend that you have the Delivery Controller and the StoreFront in separate VMs, that way you can grow your environment in the future. Also with only 100 users you can get away with one Delivery Controller, however if you are running production or critical workloads in the XenApp 7.6 environment, then I would recommend you go with at least two Delivery Controllers for redundancy. This is the same for the Citrix StoreFront servers as well.

      Hope this helps


      1. Thanks for the suggestion. Here is the installation order that I did for my four separate VMs:
        1. Install just the License server on the “main” XenApp VM.
        2. Install Studio and Delivery Controller on the XenApp Delivery Controller VM.
        3. Run Studio to create the database on your SQL server VM.
        4. Install Director and optionally Studio on the “main” XenApp VM.
        5. Run Studio and add the StoreFront VM.

        Now to learn and experiment with the remaining configurations, whee.

  2. Good Morning,

    I am in the process of rebuilding our Citrix Farm that is presently on a Windows 2003 OS with XenApp 5 up to Windows 2012 R2 64x OS and planning to use XenApp 7.6. I recently took a XenApp 6.5 Training class, but now we have decided to move up to XenApp 7.6 since it will allow us to use Windows 2012 R2 OS. My question is would it be better to build multiple servers as also recommended in the 6.5 install guide? At the present time we have over 100 user connected at any time and that will grow in the future with more HealthCare Apps being accessed via Citrix. If that is the best way, which servers can be together and which ones need to be by themselves? When I started to built a new 6.5 farm I setup a License server first then started on the others, is that the best way?


    Michael W. Bernier

    1. Hi Michael,

      I recommend you have at least duplicates of each server type for redundancy (unless there is a specific reason why you don’t really require redundancy). Also ensure you SQL server is highly available by (if possible) placing it on virtual infrastructure with HA capabilities and then coupling that with application HA such as Microsoft SQL Clustering or SQL Always On or something like that. This is because XenApp 7.6 (and 7.0) no longer uses the old IMA technology but rather uses FMA (Flexible Management Architecture), which is highly dependant on your SQL database. XenApp 7.6 does include a new feature called Connection Lingering which is similar to Local Host Cache, but it is not a replacement for not having a highly available SQL database.

      You can find out more about XenApp 7.6 Design with Connection Leasing here >>> http://blogs.citrix.com/2014/11/11/xendesktop-7-6-connection-leasing-design-considerations/

      Hope this helps

  3. Good evening, Luca. I am new to the XenApp structure and have been tasked to install a new installation which will support up to 250 concurrent users. I plan to use seven virtual machines running Server 2012 r2. My original thought is to mimic our current Program Neighborhood Farm and install all the core components on both server 1 and server 7, and then install an instance of VDA on all servers. Is there a better configuration? Do you see any issues with this configuration? Many thanks in advance!

    1. Hi Tavares,
      In order to implement the best XenApp 7.6 solution within your environment, you will need to take into consideration a few key points:

      Redundancy & Availability. How critical are the applications or desktops you will be running on the XenApp platform? What is an acceptable level of uptime? And what are the RTO and RPO targets for these solutions?

      The answers to these questions will greatly affect your design. For example, if the applications you will be hosting aren’t business critical, then your virtualisation environment my be enough to meet your needs – e.g. VMware HA.

      Alternatively if they are business critical, then you will need to ensure the XenApp environment is also highly available and hence you will need to ensure you have multiple instances of the core components – i.e. Delivery Controller, StoreFront, etc.

      Growth. How much growth do you expect in the environment in the short to medium term? If you expect a considerable amount of growth, then you need to factor this into your design as you don’t want to have to re-design the environment soon after it was implemented.

      SQL solution. This is one of the most important considerations, as Citrix XenApp heavily depends on a highly available SQL solution being in place. This is especially true for the new XenApp FMA (FlexCast Management Architecture) releases. Although new XenApp 7.6 features such as Connection Leasing help mitigate some of these dependencies, it is still very important to ensure your SQL server is highly available and backed up and is easily recoverable in a DR situation.

      For this reason, it is recommended you use one of the Microsoft SQL server HA solutions that are compatible with Citrix XenApp 7.6. You can find all of the details and compatibility here >> XenApp 7.6 System Requirements.

      I hope this helps you in designing the best possible solution for your environment.

      Let me know if you need any more help


      1. Thanks for the reply glad I remembered to return. Do you have any “optimal” setup guidelines. Like Directory on separate vm, or how they need to be broken out (besides master vm and sql instance)

        1. Hi Tavares,

          No problems, hope it helped. Well its hard to say as it depends on your environment and specific requirements. I would focus on getting SQL highly available and on a supported platform and then build from there. The good thing is that when \ if your environment grows you can expand your Citrix core infrastructure by adding on additional Delivery Controllers, StoreFront servers, Citrix application servers, etc.

          For this reason it is better to split the roles onto separate servers as much as you can so that you can grow easily in the future if need be. In regards to the Citrix License server, you can either place that onto one of the Delivery Controllers or if you already have an RDP license server you could just put it on that, either way.

          Hope this helps


  4. Hello Luca,

    I am also in the process of rebuilding our Citrix Farm that is presently on a Windows Server 2003 with XenApp 4.5, and looking to deploy XenApp 7.6 on Window Server 2012 R2.
    In our environment we are only licensed for up to 10 concurrent users, and so it’s a relatively small deployment. Currently, we mainly have productivity applications published (ex. Microsoft office applications, Adobe Acrobat, Adobe Photoshop, etc), some web links to internal only websites, and other applications. None I would say that are mission-critical in which access must always be available via Citrix.

    For the new deployment, my thought is to just create two VMs…one for the license server, and the other for the rest of the core components (Delivery Controller, StoreFront, Director, Studio). I don’t foresee any intentions on increasing the number of licenses anytime in the near future, but it’s certainly possible.

    What configuration would you recommend?

    Should I add one of the other components with the license server?


    1. Hi Richie,

      I would preferably co-host the license server with the Delivery Controller. Your second VM could then be used as the Citrix StoreFront server. This is the most common way it is done, Delivery Controller and StoreFront server as two separate servers. It also allows for any growth in the future (if you have any) where you would like to add a second StoreFront server or a second Delivery Controller but not necessarily both. It also allows you to move the StoreFront server into the DMZ if you so require without having the entire solution out there.

      Also another consideration is your SQL Server. Are you going to place that onto the same box as the Delivery Controller or will that be a separate VM? SQL is a core part of the solution and needs to be highly available, so I would consider using either an existing SQL cluster or building a new one. Alternatively if you really feel like you don’t need that level of availability you could just build a third VM and host SQL on it.

      Hope that helps

      1. Hi Luca,

        Thank you for the information.
        So to recap:
        VM#1 – Install License Server, Delivery Controller
        VM#2 – Install StoreFront (placed on DMZ)

        What about the Studio, Director, and VDA? Does it matter which server to install it on?

        As for the SQL server, I would plan to use our existing SQL server.

        Thank you,


        1. Hi Richie,

          That looks pretty good, except if you are not servicing external clients then you don’t need the storefront in the DMZ. Also I would put Citrix Studio and Director on VM#1. Studio is the client that is used to manage the environment, so you can install that on as many management machines as you require. Director is a website, so it runs on IIS and is therefore accessed via its website.

          Sounds good on the SQL server, just make sure it meets the requirements for Citrix XenApp 7.6. You can find those out here >>> http://support.citrix.com/proddocs/topic/xenapp-xendesktop-76/xad-system-requirements-76.html

          The Citrix VDA is installed on your Citrix worker servers (i.e. the servers that host the applications and \ or desktops that you will publish).

          Hope this helps


          1. Hi Luca,

            Thank you for the clarifications. I feel better now. 🙂
            I will plan on creating a 3rd VM to function as the Citrix application server with VDA installed and the applications I plan on publishing.



          2. Ok awesome! I would consider having at least 2 VMs as Citrix application servers so that way you can spread the load across two servers. Also it allows for some redundancy in case one fails.


  5. I am having trouble understanding the site concept… Is a site like a farm? Currently we have a Xenapp 6.5 farm. I am supposed to
    deploy a 7.6 xenapp and xendesktop in tandem. Do I need a site for the xenapp side and a site for the xendesktop part? Or can I
    have one site with both eg companyname-xenapp-desktop-site

    1. Hi David,

      A site is the new terminology for a farm – it is one and the same.

      Yes you can deploy a single site that will provide both XenApp and XenDesktop functionality (i.e. published applications and a VDI solution). You can achieve this by installing either a XenApp or XenDesktop Delivery Controller as they are essentially the same thing. The only thing that will limit you is licensing. You will need to check your licensing around what you can publish and what you can’t. I hope this helps


  6. Good day,
    I’m deploying a second CTXDC Delivery Controller. Join Domain and join Citrix site is fine. But I am experiencing issue of Set Redundancy Fail. Has anyone encountered this before or know how to fix this?

    Below is Join_Site log:

    2017-07-23 03:53:33 : INFO : Script Version:
    2017-07-23 03:53:33 : INFO : Start to join site for citrix delivery controller.
    2017-07-23 03:53:33 : INFO : Start Time: 07/23/2017 15:53:33
    2017-07-23 03:53:33 : INFO : Check registry information on this computer…
    2017-07-23 03:53:33 : INFO : Check registry information on this computer done.
    2017-07-23 03:53:33 : INFO : Waiting for Citrix site…
    Current site is created on VM: TCNNRL1VM70.tcrl1n81.lab.netact.vodacom.co.za.
    2017-07-23 03:54:02 : INFO : Citrix site server is: TCNNRL1VM70.tcrl1n81.lab.netact.vodacom.co.za .
    2017-07-23 03:54:02 : INFO : Stop waiting for Citrix site…
    2017-07-23 03:54:06 : INFO : Citrix site on: TCNNRL1VM70.tcrl1n81.lab.netact.vodacom.co.za is ready for joining…
    2017-07-23 03:54:06 : INFO : Waiting for Citrix site done.
    2017-07-23 03:54:06 : INFO : Check status on VM: TCNNRL1VM70.tcrl1n81.lab.netact.vodacom.co.za …
    2017-07-23 03:54:06 : INFO : Check status on VM: TCNNRL1VM70.tcrl1n81.lab.netact.vodacom.co.za done.
    2017-07-23 03:54:06 : INFO : Restart Citrix service: Citrix Diagnostic Facility COM Server …
    2017-07-23 03:54:06 : INFO : Restart Citrix service: Citrix Licensing …
    2017-07-23 03:54:13 : INFO : Restart Citrix service: Citrix AD Identity Service …
    2017-07-23 03:54:15 : INFO : Restart Citrix service: Citrix Analytics …
    2017-07-23 03:54:16 : INFO : Restart Citrix service: Citrix Broker Service …
    2017-07-23 03:54:17 : INFO : Restart Citrix service: Citrix Configuration Logging Service …
    2017-07-23 03:54:19 : INFO : Restart Citrix service: Citrix Configuration Service …
    2017-07-23 03:54:21 : INFO : Restart Citrix service: Citrix Delegated Administration Service …
    2017-07-23 03:54:22 : INFO : Restart Citrix service: Citrix Environment Test Service …
    2017-07-23 03:54:39 : INFO : Restart Citrix service: Citrix Host Service …
    2017-07-23 03:54:40 : INFO : Restart Citrix service: Citrix Machine Creation Service …
    2017-07-23 03:54:42 : INFO : Restart Citrix service: Citrix Monitor Service …
    2017-07-23 03:54:49 : INFO : Restart Citrix service: Citrix Storefront Privileged Administration Service …
    2017-07-23 03:54:50 : INFO : Restart Citrix service: Citrix Storefront Service …
    2017-07-23 03:54:52 : INFO : Restart Citrix service: Citrix Licensing Support Service …
    2017-07-23 03:54:52 : INFO : Import Citrix related modules, it takes about 3 minutes, please wait…
    2017-07-23 03:54:57 : INFO : Import Citrix related modules done.
    2017-07-23 03:54:57 : INFO : Check the Citrix storefront join environment …
    2017-07-23 03:54:57 : ERROR : Unexpected error while get storefront tasks …
    Get-SfTask : An exception occurred. The associated message was There was an error deserializing the object of type
    Citrix.Fma.Sdk.ServiceCore.TaskTerminatingError. Unexpected end of file. Following elements are not closed:
    ErrorMessage, TaskTerminatingError. Line 1, position 164.
    At C:\runtime\JoinSite.ps1:440 char:24
    + $MyTasks = Get-SfTask -AdminAddress localhost
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation: (:) [Get-SfTask], InvalidOperationException
    + FullyQualifiedErrorId : Citrix.XDPowerShell.Status.ExceptionThrown,Citrix.Storefront.Sdk.Cmdlets.Commands.GetSfT

    2017-07-23 03:54:57 : INFO : Join Citrix site SUCCESS.
    2017-07-23 03:54:57 : ERROR : Set redundancy FAIL.
    2017-07-23 03:54:57 : INFO : Setting completed flag file…
    2017-07-23 03:54:57 : INFO : Set flag ‘Failed’ to file done.

    2017-07-23 03:54:57 : INFO : End Time: 07/23/2017 15:54:57

    Both Citrix Studio are on version 7.6.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.