What is Citrix XenApp? – Part I

For beginners I think Citrix technologies can be a bit daunting. There's loads of documentation out there but it can take ages to read it and at the end you still might not have a good understanding of what XenApp is.

One of my pet hates is software vendors marketing material. Coming from a technical point of view, sometimes it's impossible to get to the bottom of what a product actually does.

So in this article I will outline, in layman terms (but from a technical point of view), what Citrix XenApp is, what it can do, and how it works. I am trying to keep in simple so I cannot include every possible feature or configuration scenario, of which there are many. The idea is to give you a high level overview.

What is Citrix XenApp?

In its simplest form XenApp is just a piece of software or a collection of pieces of software. XenApp used to be known as Presentation Server, MetaFrame, and WinFrame.

What it does

XenApp allows you to install applications on a server and then access those applications without having to install anything on the client apart from the Citrix client software. All processing is done by the server. All that passes between the client and the server is mouse clicks / movement and keystrokes; and all the passes between the server and the client is screen refreshes. This is done over Citrix's proprietary remote display protocol called Independent Computing Architecture (ICA). To the users it (mostly) looks and feels like the application is running locally on their client operating system.

It is also possible to publish the server desktop and give users a complete Windows user interface on the server along with access to the applications installed on it. This is known as a Hosted Shared Desktop.

The last 3 versions of XenApp have offered application streaming, also known as Application Virtualization. This replaced the application isolation feature that was available in some previous versions of XenApp. By profiling an application using the Citrix Streaming Profiler you can stream the application down to a target Operating Systems without having to install anything apart from the Citrix Offline Plug-in.

With Application Streaming you have the option of streaming the application to the client device, or to a XenApp server. If you stream to a client device it will run locally on that device and consume local resources (CPU, memory etc), if you stream to a XenApp server it will run on the XenApp server and be accessed over ICA just like a traditional XenApp server-installed application.

Streamed applications are cached on the target operating system and therefore only pulled across the network on first run or when the central package is updated.

How it helps

The advantages of Session Virtualization / Hosted Shared Desktops is you can centrally manage the Operating System and Applications and quickly deploy applications to many thousands of users without having to "touch" each client device. You install the Citrix client software once and then you can deploy pretty much any application to any machine without having to ever visit them again. Because all the processing is done on the XenApp servers you can deploy apps that would potentially not run on older desktops.

If you are considering thin clients you can potentially run all of your users on XenApp and get rid of the maintenance costs associated with PC Operating Systems and hardware.

Citrix streamed applications execute locally on the target Operating System within a sandbox (isolation environment). This means that the applications cannot interfere with or break other applications on the target Operating System. Streamed applications can be run offline on laptops for up to 365 days.

Streamed applications can be updated and patched centrally and will be pulled down to the target Operating System the next time a user request it.

How it works

Server Software

The latest version is XenApp 6.5 which can only be installed on Windows 2008 R2. You must have Windows Remote Desktop Services Session Host Role installed.

There are four versions of XenApp: Fundamentals, Advanced, Enterprise, and Platinum. This Comparative Feature Matrix explains what features are available in each version.

Client Software

In order to be able to connect to a Citrix XenApp server to view hosted applications or a hosted desktop you must have some client software installed.

If you are only using the Citrix Web Interface through a browser then the very minimum you need in terms of client software in the Citrix Online Plug-in Web.

If you would like to have user's Start Menus automatically populated with application icons, the full Citrix Online Plug-in is required.

To be able to stream applications to clients you must have the Citrix Offline Plug-in installed.

The Citrix Receiver is a client that works across multiple devices (Windows, iOS, Android) and gives a unified look and feel to users, whichever devices they are using. It also incorporates function such as user self services to applications.

Receiver Plug-ins such as the Offline Plugin add functionality such as Application Streaming.

Web Interface

To be able to connect to Citrix XenApp to run virtual applications, hosted shared desktops, or streamed application you need to have a Citrix Web Interface server or servers. This is installed on a Windows 2008 R2 on top of the IIS Role. Web Interface is being replaced by Cloud Gateway Express. Web Interface will go End of Life in 2015.

Thomas Koetzing has a feature comparison matrix on his website

The Web Interface can either be accessed through a browser or directly via the Online Plug-in or the Offline Plug-in.

This allows you to configure the Citrix client software once to point at the Web Interface or Cloud Gateway Express server and then all the configuration is done using the respective Management Console. This allows you to easily add and remove XenApp (or XenDesktop) Farms, or XML brokers without having to make any changes to the clients that have the client software installed.

You can configure the Web Interface to populate Client's Start Menus and /or Desktops with the icons for your Hosted Applications, Streamed Applications, or Hosted Desktops.


To use XenApp you need to have a Remote Desktop Services License Server and a Citrix License Server. It is common to put the two on the same server. Remote Desktop Services Licensing is installed as a Window 2008 R2 role and the Citrix Licensing Server component is downloaded from Citrix.com.

You must have Remote Desktop Services Client Access Licenses (RDS CALs) and Citrix Concurrent User Licenses. There is no getting around these license requirements. You HAVE to have both.

Remote Desktop Services is licensed on a Per Device or Per User model. In Per Device mode each device connecting to the RD Session Host server requires a permanent license. In Per User Mode an RDS Per User CAL gives one user the right to access an RD Session Host server (in this case a XenApp server) from an unlimited number of client computers or devices. RDS CALs are NOT concurrent. This means you need one per device or per user.

XenApp Fundamentals is licensed Per Device and all other versions of XenApp are licensed in a concurrent user model.

Per Device   = One user, any device, unlimited connections to virtual applications

Concurrent = Any user, any device, one connection to unlimited virtual applications.

A picture speaks a thousand words

As they say, a picture speaks a thousand words so here is what a very simple XenApp environment might look like


Further information

Introduction to XenApp 6 on Citrix TV

XenApp eDocs Section

I am planning to write a similar article for XenDesktop and also a more advanced one for XenApp. Please leave comments if you feel these would be useful for you.






35 Responses

  1. RajMan


    Thanks for the writeup. It was useful.

    • No, problem. Keep a eye out for the next article which I am writing at the moment. I will go into more depth in Part II

  2. Seems writing is a genetic. you have it in your genes. This article was awsome. look forward for XenDesktop article.

    • Thanks you. Very kind.

  3. Lucio

    Extremely useful. As you say it’s very difficult for a technical person to cut through the marketing babble and understand what the thing really biols down to. I’m looking forward for part II, any plans for it?

    • Thanks for the comment. At the moment I am snowed under and I have some other topics I want to address first. But sign up to the site and you will get notified of new articles.

  4. Padmanabha

    Excellent article, where any layman with bit of IT knowledge or an IT guy who would prefer to have an insight into Citrix XenApp will have good understanding at one read.
    Gr8 way of articulation.
    I am eager to read via your part II (In depth)
    Thnx again.

  5. Raghav

    Very nice article with loads of useful information regarding citrix xenapp. Thank you.

  6. Bigl

    Thank you so much. Great simplified explanation. I am an IT Support pro with very little experience with Citrix, and until now
    unable to wade through the needlessly cryptical descriptions of the use and specs of Citrix

  7. Jim

    Thanks! Now I actually stand a chance of seeing why my app doesn’t work with xenapp.

  8. iano

    Great post, your writing style is Brill, very easy to understand. Bring on the next post.

  9. Dave

    Priceless! Just what I needed for light bedtime reading. Thank you. Would love to know more about applying patching to OS and Apps in a Hosted Shared Desktop deployment though. Look forward to part 2, especially when I can identify with being snowed under. Kudos Shaun. Good job!

  10. Sarvesh

    Hi, This is a great article for novice as well as someone who has worked in Citrix environment before. Personally did some work in implementing Citrix during the Presentation era. I do have one query. If I use Citrix XenApp Application streaming feature and use Linux Desktop at client end, Do I still need to buy Microsoft CAL/RDS CAL ?? Thanks.

    • Seeing as you are using a Linux Desktop then you will be streaming to server (XenApp server) so yes, you would need as RDS CAL

      • Sarvesh


  11. Ket

    is there a link to part 2?

    • Sorry, not yet. I will try to get round to writing it soon

  12. Hi,

    a bit reductive but surely the second part will provide more details…

    I do acknowledge it is hard to get a good technical overview of XenApp (maybe XenDesktop is easier to get?) but for those who wish to go deep, I am sure the old courseware (10 years old!) for a certification can be found on the web. Still today it is the most technical and complete official documentation I ever saw on XenApp/Presentation Server/MetaFarme/WinFrame. The PDF were called “Citrix Core Technologies vol 1.pdf” and “Citrix Core Technologies vol 2.pdf” from courseware CTX-6100. Most of the stuff in there is still valid with XenApp 6.5 (IMA etc) even if MANY things have been improved, if you seek the basics you’ll find them.

    last, don’t forget to check out the tools sections on XenApp and XenDesktop (http://support.citrix.com/product/xa/v6.5_2008r2/#tab-tool)

  13. Chris

    Thanks for this article – very informative, finally feel like I have a handle on the way Citrix works. Looking forward to the next one.

    • Good. Only problem is it is all changing now with the upcoming release of XenDesktop 7

  14. sushant d

    nice info thanks shaun

  15. bagya

    Very good introduction to Citrix. Thanks a ton, Shaun!

  16. Thanks for this post. Could you please suggest the best licensing mode for RDS considering 200 concurrent licenses for XenApp and possibly the number of RDS licenses?

    • Depends on your use case. Most people go for Per User but if it was for a business where staff operate in a shift patern and use the same PCs then you might want to go for per device.

      I couldn’t really tell you how many RDS CALs you need. It really depends on how many users you have and how many of them are likely to use XenApp.

  17. muhammad khan

    Thanks a lot. Very useful and to the point.

  18. perinp

    Very good explanation of concepts not easy to grab the first time

    thanks a lot

  19. […] For a decent half page description on Citrix XenApp I would recommend this blog post by Shaun Ritchie: http://www.shaunritchie.co.uk/what-is-citrix-xenapp-part-i […]

  20. Janak

    Very Nice Article…. Helped me lot to understand use of Xenapp.

    Thanks a lot

  21. Thomas

    Excellent blog post! Thank you so much! Makes it very easy to understand for a new beginner to Citrix!

  22. Mir Haq

    Nice article…looking forward for the next part.

  23. Phil

    Thanks for the overview, very useful.

  24. Julie

    Thank you Shaun this article was very helpful to me.

  25. Diane

    Great Article!

  26. SK

    The article was very informative.

  27. in One Word. Awesome

  28. […] Citrix XenApp Plugin: What is Citrix XenApp? – Part I | shaunritchie.co.uk http://www.shaunritchie.co.uk/what-is-citrix-xenapp-part-i […]

  29. Manoj

    Excellent write up, thanks

  30. […] What is Citrix XenApp? – Part I | Shaun Ritchie […]

Leave a comment