How to… Application creation in XenDesktop 7

I’m sure we’ve all seen the XenDesktop 7 installation screenshots by now, we all know the differences between IMA and FMA and have read about Machine Catalogs and Delivery Groups, right? I’m just kidding, I’ve already seen multiple Blogs explaining the above subjects in great detail, it’s always fun to see how enthusiastic people get when new products are released! Me being one of them :-) Although the amount of info being published can be overwhelming, it can also be very enlightening. I’d like to have a closer look at the application creation process within XD7, talk about Machine Catalogs, Delivery Groups (which are both a requirement) and some other related technology along the way.


Compared to the Excalibur Tech Preview release you’ll notice some differences, not only in functionality but in look & feel as well. For example, we can now configure Catalogs for Remote PC Access, one of XD7’s new features and when creating Delivery Groups we can add / create applications as part of the same wizard or create them separately through an Application Creation wizard as we will see shortly. No more separate Application Delivery Groups. We also have something called auto app publishing, AppDNA & App-V integration and of-course HDX policies to have a look at.

Server or Desktop

Applications can be created (used to be called app publishing) on both server and desktop based operating systems, each has its own Delivery Agent which communicates with the XD7 Delivery Controller. A word from Citrix: The biggest difference between the two Delivery Agents is the ICA protocol stack used. For desktop machines, Citrix ships a single-user ICA stack (internally known as PortICA) which allows only one ICA session at a time.  This version connects users to the machine’s console session, similar to GoToMyPC or other Remote Access products for a Desktop OS. It also includes additional HDX features such as USB and Aero redirection, which are only available on a single-user machine. For server machines, Citrix includes a multi-user ICA stack, which extends Windows Remote Desktop Services with the HDX protocol.  This is the same ICA protocol stack developed for Citrix XenApp, just with a different management interface to make it compatible with Excalibur controllers.

What’s needed?

When creating an application in XD7 you need to make sure you have an Delivery Group with at least one machine available. Trying to create an application without a Delivery Group present or with a Delivery Group which has no machines available won’t work. It goes down like this… First you create a Machine Catalog, a Catalog holds either server or desktop orientated machines which can be virtual or physical and Manual, MCS or PVS provisioned. Next a Delivery group is created, the Catalog is then added to the Delivery Group, you pick the application(s) you want to create and add in the users that need access. I’ll outline the above steps in some more detail, screenshots included.

Machine Catalogs

For now let’s assume XenDesktop 7 is installed (you’ve clicked ‘Next’ seven times and hit ‘Finish’ the eight time) and you have set up your primary Site including your Host Infrastructure which is basically your underlying Hypervisor of choice used for machine provisioning (MCS). Unfortunately I haven’t got one configured but that doesn’t stop me from showing you how applications get created and managed, Machine Catalogs and Delivery Groups included. XD7 fully installed… I just had to throw it in here.

XD7 Installation finished

To start, from the main window as shown below click ‘Machine Catalogs’. Next you select ‘Create Machine Catalog’ from the right side menu or right-click somewhere in the middle and select ‘Create machine Catalog’.

Machine Catalog 1

After selecting ‘Create Machine Catalog’ you’ll end up with the screen below. Hit ‘Next’.

Machine Catalog 2

This is where the server or desktop part comes in. Note that we could also select ‘Remote PC Access’ this option wasn’t there in the Tech Preview. It provides users with remote access to their physical desktop PC’s. I selected ‘Windows Server OS’ since I want to create applications accessible for multiple users.

Machine Catalog 3

In the next step, Machine Management lets us choose how we want to provision the machines from which we create our applications. We can use MCS, PVS or Another service or technology. MCS can only be used if you have a Host Infrastructure (underlying Hypervisor) set up. During the Host Infrastructure set-up you also configure your storage and network used by MCS. PVS can also be selected if configured and available. Since I have neither, you can see that MCS is greyed out and that I can only use physical hardware because of this, I choose to use ‘Another service or technology’

Machine Catalog 7

Because I use ‘Physical hardware’ (I had no other choice) I need to select and add my machines manually. Click ‘Add Computers’ to select your machines from Active Directory or click ‘Import list…’ to import a bunch of machines at once. Nothing more to it really.

Machine Catalog 4

When using MCS or PVS additional configuration is needed. Unfortunately I can’t show you but when using MCS you need a Master, or Golden image from which virtual machines can be created (linked clones), you would also need to configure the amount of memory and number of CPU’s per virtual machine, hard disk specs, the number of machines to create and the Catalog type like: Pooled or Dedicated. Again, not using this technology doesn’t change the process of creating applications. After clicking ‘Next’ the Summary page will appear giving you an overview on all previous steps. Here you can also give the Catalog a name and description.

Machine Catalog 5

Finally, if satisfied, hit ‘Finish’ Once created right click the Catalog or use the menu on the right to make modifications or view its properties.

Machine Catalog 8Delivery Groups

The Delivery Group wizard can be used to create applications and to provide users or groups of users access to these applications including VDI and Hosted Shared Desktops. Applications can also be created separately outside of the Delivery Group creation wizard but will still need an existing Delivery Group with at least one available machine. This is how it works. From the main window click ‘Create Delivery group’.

Delivery Group 1

As mentioned, Machine Catalogs are added to Delivery Groups. This screen showes you all the Machine Catalogs available within your XD7 environment, if any. Select the one(s) you’d like to add and choose the number of machines from the Delivery group to be used.

Delivery Group 2

What do you want to publish? Desktops, Applications or both?

Delivery Group 3

Who need access to these resources?

Delivery Group 4

After assigning machines and users to the Delivery Group it’s time to select the applications you want to create. This is where application delivery is again made easier… The Delivery Controller queries the server or VDI desktop, through the Virtual Agent, for installed applications and lists them into Studio. It also queries any configured App-V servers connected to your XD7 Delivery Controller. Next you simply select the apps you’d like to create and you’re done. No margin for error, in fact, XD7 uses simplified workflows and automated configuration checking during the whole Site set up and configuration process to eliminate as much as 80 percent of the time and effort needed to deploy new services, or so Citrix states. This is a cool feature, no more one by one app publishing or double checking app settings for session sharing purposes.

Delivery Group 7

In most cases you will probably see a comprehensive list of applications you can select to create / publish out to your users (if your machines are actually powered on and have an Agent installed :-) Note that you can also manually add in applications by browsing the system(s) you’ve added a few steps back, it looks like this.

Delivery Group 6

When done click ‘Finish’. Once the Delivery Group is created you can rename it, delete it, add and view applications & machines and so on. Just right click the Delivery Group you want to edit / view or use the menu on the right.

Delivery Group 12

The second tab lists our created applications. From here you can view their properties, make a copy, rename or disable them etc… This tab also provides us with an alternative way of creating applications outside of the Delivery Group creation wizard. Using this wizard it’s the other way around, instead of adding an application to a Delivery Group we need to add-in the Delivery Group when creating the appplication. I’ll walk you through the (very short) process in a minute or so.

Delivery Group 10

This is how it looks when you view the properties of an application.

Delivery Group 11

App creation part two

Applications can be created in three ways, first as part of the Delivery Group creation process as we’ve just seen, secondly we can right click a Delivery Group and choose ‘Add Application’ which basically opens up the same wizard as before, and third, from the second ‘Application’ tab choose ‘Create Application’ on the right side of the screen or from the menu by right clicking in the main window, see below.

Create Application 1

The other way around, when creating applications as part of the Delivery Group wizard you need to add a Machine Catalog, now you add a Delivery Group which already has machines (Catalog(s) in it.

Create Application 2

Again the Delivery Controller queries the server, through the Virtual Agent, for installed applications and lists them in Studio. You can also add them manually as shown earlier. Select your application(s) and click next.

Create Application 3

The summary page appears, click finish.

Create Application 4HDX Policies

Once we’ve created our applications it’s time to look at (HDX) policies. I won’t go into to much detail when it comes to configuring these policies, but believe me when I say that there are plenty to choose from! Although some settings are (still) missing, not for long though, it’s pretty close to XA 6.5 I’ll show you some screenshots to give you an idea on how all this looks.

HDX Policy 1

Since I’m using XenDesktop 7 and a Server Operating System…

HDX Policy 2

Next you can select the type of settings you’d like to configure, it’s (almost) all there

HDX Policy 3

HDX Mobile SDK for Windows Applications

Here’s a short quote from one of previous Blogs: It’s all about mobility these days, with this SDK you can optimize your existing Windows apps for any mobile environment by adding in mobile specific features like Swipe and Touch functionality. It also lets you dynamically format the application for horizontal or vertical display and different screen sizes. I didn’t use it yet, but the word is that just a single line of code will be added, it’s that small and simple, or should be anyway. Have a look here You will need to log in with your My Citrix credentials to be able to download.

App-V integration

You probably know that Citrix profiling is no longer supported in XD7. Instead, App-V is now intergrated into XD7. There isn’t that much I can show since App-V is a whole other technology on it self but have a look below, this is where your App-V infrastructure blends into XD7.

App-V 1StoreFront

StoreFront offers enterprise app stores from where users can self select their applications. Since it replaces Web Interface it’s now also part of the XD7 installation process and manageable from Studio. StoreFront is smart, it is the intelligence behind Receiver. It not only keeps track of what users have subscribed to (subscribe once and have an consistent user experience on every device used from then on) it also maintains connections with running applications (persistent) making it possible to switch devices and continue working from where you left off. This is where it’s configured in Studio:

StoreFront 1Conclusion

That’s about it when it comes to the application creation process. There is a bit more to it when it comes to integrating App-V or using the new Mobile SDK for example, but for now just know these options are there if you need them. I’m about to build up my new home lab which will be a lot more advanced then the set up I have now. It will include an Hyper-V / SCVMM Host Infrastructure and a PVS server as well. But first… I’m off to the French alps, again! I’m gonna watch the 2013 Tour the France (the Alpe d’Huez stage) and do a little biking my self of-course… Go Bauke!

Bas van Kaam ©

Reference materials used:, and the E-Docs website.


16 thoughts on “How to… Application creation in XenDesktop 7”

  1. Any information on how you prepare the server that you will use to Publish Applications of.

    It seems you first have to add VDA
    But does it mean we have to have RDS role on them / install .net IIS etc

    1. Hi Kitaab,

      The server(s) you will use to create / publish your applications from will still need RDS just like with XenApp. The agent software also needs to be installed first, it uses the agent to communicate with the Delivery Controller. Also, without the agent software installed it won’t be able to query the server for installed applications like I described during the application creation process.

      Compared to XenApp (as far as software installation is concerned) not much has changed except that you now install agent software instead of running the XenApp setup which installs and configures the IMA service and uses the IMA protocol to communicate with the Data Collector / IMA Store etc… This has been replaced by the agent software. XenDesktop already uses this method for a few years now.

      If you want to publish applications from a desktop OS than you won’t need to, or can’t, install the RDS bits since a desktop OS is single user based and a server OS is multi user based made possible by RDS.

      One more thing :-) in a XenApp environment the Data Collector also needs RDS even if it isn’t used for publishing applications, this is because it’s basically still just a XenApp server but just fulfilling another task. In XenDesktop 7 the Delivery Controller doesn’t need RDS to be installed it uses the agent software instead.

      Have a look here: it discusses the differences between IMA (XenApp) and FMA (XenDesktop).

      Hope this helps? If you have any further questions let me know.



  2. Hi Bas
    Once again great article :) Thank you so much .

    Can you please explain me how HA is achieved in this Xenapp environment ?

    In older version you have the option to set load evaluator to offline mode for a server if you are planning to do any maintenance , is there a way we can do something similar or any other option available in XD7 ? Thanks

    1. hey bas

      never mind i have just figured out the answer. We can not put the server in maintenance mode. :) . Thanks

      1. Hi Suresh

        A few notes… Simply put, HA is achieved by implementing multiple Delivery Controllers and making sure that you have some sort of HA solution on your central SQL database and underlying Hypervisor.

        Load evaluators are not about HA, they are about spreading the load across multiple servers, this is still possible with XenDesktop 7. They (Load Evaluators) are configurable through policies.

        Last but not least :-) Maintenance mode is possible within XenDesktop 7… I quote ‘If you want to temporarily stop connections to a desktop so that maintenance tasks can be carried out, put the desktop into maintenance mode. You can perform this task on desktop groups as well as individual desktops’

        It’s done from Studio.



    1. Hi Bas,

      great article. Thank you very much.

      A little question…is posiible to publish an application from Delivery Controller (to have only one server for all?).


      1. Hi Raul,

        I was on holiday so a bit delayed with my answer :-) haven’t tried it myself but I think it should be possible. I assume you just want to play around with the product?

        As far as application publishing (and overall management) goes, keep in mind that you’ll need to have a domain set up etc… This needs to be a seperate machine (XD7 can’t be installed on a domain controller) Don’t forget that there’s also going to be a SQL server/database on there. If you would also like to set up your Host Infrastructure (Hypervisor environment) on the same machine it might get a bit crowded :-) I’m not sure if this will work, give it a try and share your experience!

        You can easily do without your Host Infrastructure by the way (physical machines are supported as well, like the machine you are trying to install everything on (except your domain controller) and publish applications from) and still test, almost, all features and other fun stuff that XD7 has to offer. Only MCS will not be available, a small drawback perhaps.

        Maybe it might be easier to create a few VM’s (on a server OS), if you have the resources of-course, and spread the load a little, or at least to keep it a bit more organized? Let me know what you think.



      2. Hi Bas,

        thank you for your answer,

        I only need to konw if is possible to publish an application that is installed in the Delivery Controller (if is possible to install the Virtual Delivery Agent onto the Delivery Controller, because I have many problems in this point).

        In other servers I have my Domain Controller an other services…this is not the problem.


  3. Thank you Adam, almost forgot about this one. I have short of the same set up in my lab environment at the moment, it even includes System Center Virtual Machine Manager :-) I haven’t gotten around to the VDA yet, I tried installing it last week but it didn’t work, didn’t had time to investigate further, will try again shortly. Good luck Raul, let us know how it turrned out, and sorry for not getting back to you sooner.

  4. Great article , really helped with the initial install. Do I need to install the App-V client on my blade servers (that have the VDA installed) when I want to publish Office / Adobe etc?

  5. Thanks Bas… its really a nice article…

    I need a clarification. Can we use DDC as hosted share desktop using windows server OS… ?

    Actually last time did the same using XenDesktop7 in lab but currently i am using XenDesktop 7.1 and tried to publish my DDC using windows OS but its not allowing me to published DDC.

    Can you confirm me whether its possible in XenDesktop 7.1 or need any additional configuration or it requires any prerequisite?


    1. Hi Ravi,

      Same here, I know it is possible with XD 7, but haven’t tried it on 7.1 so unfortunately I can’t confirm. I just moved to a new home and don’t have my lab set up yet so I can’t test, sorry. If you do find out, please let me know as well.



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s