Citrix can be a lot of different things these days , but the traditional Citrix product that does what we call “application virtualization” has been around for a long time, under the names “WinFrame”, then “MetaFrame XP”, “XP FR3”, Presentation Server 3”, and then “Presentation Server 4”. Presentation server 4 was a robust product, and there are still several of these running in production environments.

Then about three years ago Citrix released Presentation Server 4.5, with several useful new advances –configuration admin logging, streaming to servers, load throttling –  but with the “4.5” number on it, and the fact that multiple management consoles were used, people got the idea that it was a “transitional version”, and were waiting for the next solid plateau.

But it turns out that Presentation Server 4.5 on Windows Server 2003 is the solid plateau, and has been for a while now.  And with a few HotFix Rollups, a new client, and a new Web Interface component, this solid plateau gets the new name, “Citrix XenApp 5”.

So at this point, if you’ve got your “Subscription Advantage” licensing up to date, it’s definitely in your interest to make the upgrade to the current version. The only obstacle would be the expertise, and the expertise is there, as thousands of customers have already made the leap and found their way. Now Capital Network Solutions can provide you with a straight forward build process, and help you avoid any pitfalls.

In the early days of CPS 4.5 there were experiments with running CPS 4 and 4.5 in the same farm together. We did the experiments too, and though we did support it, we preferred to avoid it, since you had to be careful not to set blanket farm settings on all the servers when some of the servers couldn’t handle the newer features.

The Best Practice, explained in the CPS 4.5 admin guide, is two run two parallel farms, and makes the upgrade seamless to the users. This blog outlines the project.

What we need, to do this upgrade properly, is three things – a box, an Organizational Unit in Active Directory, and a day.

The box is needed because this is a one-way upgrade,  so although there is such a thing as upgrading in place, there is absolutely no way to go back, due in part to a new version of the JRE. At least temporarily, CPS 4.5 should be installed on a separate box, mimicking the old farm’s settings, so that just in case anything isn’t exactly what the customer needs, there’s always that old farm to go back to. And the truth is you could probably use some better hardware now anyway, it’s been 4 or 5 years since you purchased CPS 4.

The Organizational Unit in AD is because we can probably do better with the GPO’s than the last implementation did. Starting fresh is always a good thing. We usually review the existing GPO’s, and mimic what needs to be kept, while adding in Citrix & CNS Best Practices if not there already, and if new version of Microsoft Office is involved, adding templates for that as well.

And the day is for the server build. From O/S build to Citrix build with apps, to Group Policy configuration with Best Practices usually takes from one to two days, depending on the applications.

The new server build involves creating a new farm, so the old farm is audited, and again any needed settings are mimicked, or optimized for the new environment., when you’ve done this as many times as we have at CNS.

Before upgrading anything or starting this project, the Citrix Admin guide recommends reviewing how the clients access Citrix. If the answer is “Program Neighborhood”, then that is the first thing that should be changed, before anything else. The reason for this is that the Program Neighborhood can’t span two farms, and also needs to be reconfigured at each desktop. The preferred method is to use a Web Interface server, which can be part of the Citrix server in a small implementation, and to set up either a Web Interface site or a PNAgent (now called a “XenApp services”) site. The web interface and the XenApp Plugin/ PNAgent clients both are configured centrally, and are capable of “spanning” farms, so that the old production farm applications and the new test farm applications are integrated alphabetically as if they are all in one Application set. The idea is that we can upgrade boxes gradually on the back end, and the users are never interrupted, just more and more users hit the test farm when they click their applications. The License server will also span farms, as long as both farms are pointing at the same Citrix license server, and the Access Management console (AMC) spans farms as well, making it easy to manage both during the transition.


Typically, we want to do some testing on the user side of things before we upgrade the rest of the old Citrix farm. Since the apps are seamlessly integrated at the client, we often manually distinguish them with an “application folder”, publishing the apps in the test farm under a folder called “new farm” or “test farm”, and then tap a few users on the shoulder and have them log in to the apps in that folder for a while, and get their impression.  There may be printer drivers or mappings to be added, or minor changes to application settings.


After getting the green light for moving to the test farm, one by one we can decommission old servers and build new ones, or, if the hardware is up to date enough, whether we do an in place upgrade (now that we have a tested new farm), or, safer, just build it back clean from the O/S up. As each server comes up, it joins the new farm.  After all servers are upgraded, the last step is to go back to the Web Interface or XenApp services/ PNAgent site, and remove the pointer to the old farm. Users should never notice anything other than faster and more reliable performance, if there was any room for improvement on the old implementation.

One big advantage to moving to a new farm is cleaning up print drivers. In the days of CPS4, the “Citrix Universal Printer” was new, and people didn’t understand right away, and were still loading print drivers on Citrix servers. These days the Best Practice is to minimize print drivers on the Citrix servers, and use the Citrix Universal Printer as much as possible. More on exactly how to configure this in the next blog on how to configure printing right in Citrix.

So at this point, is the new farm called CPS 4.5, or XenApp5? If it’s on Windows Server 2003, there’s only a subtle difference between the two.

Making CPS 45 into XA5 involves:

a)      adding Hotfix rollup 4 to all Citrix servers in the farm

b)      upgrading the License Server to version 11.6, which requires Visual C++ SP1 redistributable

c)       using Web Interface 5 (version 5.0.1 is the current CNS standard)

d)      using the Access Management console 4.6.3 on all Citrix servers in the farm

e)      using ICA Client version 11, whether the web client, PN Agent/web plugin, or old Program Neighborhood.


That’s it. Many of these components are downloaded separately from Citrix’ website. It turns out XenApp 5 for Windows Server 2003 is just a well patched and updated CPS 45 server. On Windows 2008, there’s more, and there are some more serious changes and additional features.  But if you’re sticking with Windows Server 2003 for a while, this is how to build the current solid Citrix plateau.

 -Charlie Messemer, CNS