In this step by step guide, I will show you the steps for upgrading a XenDesktop 7.x infrastructure to the latest release.
Upgrading a XenDesktop 7.x environment
With the previous release of Citrix XenApp version, upgrading was a word which was not available in the Citrix dictionary. It was adviced to go through a new install and also in practice this was the way to go to a newer version of the Citrix software. In that timeframe it was not a bad thing as almost every upgrade also involved a new version of the Operating System. When this was no longer the case for all scenarios, Citrix introduced tools to export the configuration out of the current environment and import it again.
The first step Citrix made were tools to export the configuration of the current environment to the new infrastructure. With the release of XenDesktop 7.0, Citrix changed the way the versions were released. They made the decision to release versions in a smaller timeframe (including less changes per version). For the Current Release cycle every quarter a new version will be released. Logically within just released cycles, upgrades are a requirement to keep up to speed.
For this article I will upgrade a XenDesktop 7.8 to the 7.9 (which is the latest release during writing this article), however the article applies to any 7.x version as the steps are the same for each version.
Happily, upgrading to a new version of Citrix XenDesktop (where I write XenDesktop, you can also read XenApp. The software is exactly the same, it’s on a license that makes the difference) is not that hard. Citrix did a great job by simplifying the installation and upgrade process.
The first step is to create a back-up of the XenDesktop database. During the upgrade the database will be altered, so in case the upgrade fails we need to have the possibility to go back to a database just before the upgrade.
The back-up should be made from the SQL Management Studio or ask your database administrator to create a full back-up.
After creating the back-up, Citrix describes two upgrade paths. In the first scenario (which is shown within the upgrade wizard described later on) you first upgrade the VDAs, followed by the Directory and the Delivery Controllers. In the other scenario you first upgrade Director, the Delivery Controllers and later on the VDAs. Personally I like the second scenario better. It provides an easier roll-back path, while Citrix officially supports older VDA versions managed by a higher level Delivery Controller.
So I will start describing the installation steps of the Delivery Controller.
A good way to go back after failing upgrades it to create a snapshot/checkpoint (in the case of virtual machines) within the hypervisor.
Delivery Controller Upgrade
The best way to Delivery Controller Upgrade is using the autorun on the ISO download. This will start the full installation, which ensures that all prerequisites will be installed if required. The installation will automatically detect the installed components.
In my demo environment I have also StoreFront and Directory installed on the Delivery Controller and those will automatically upgrade as well. There is no way to change this behavior using the GUI, so take that into account (especially if you have multiple StoreFront servers as this can cause outages on StoreFront). For larger deployments, StoreFront and Director are often installed on another machine. The upgrade starts by clicking the upgrade pane on the left. The upgrade wizard starts with accepting the license agreement.
The following screen describes the upgrade path Citrix recommends. As stated this is just a preferred path, not required. For example also PVS is added to the path, while the product can be upgraded separately in advance or later as well. As mentioned I will use another strategy that Citrix supports.
After the instruction we can choose if the installation may update the Windows Firewall or if you will perform these steps manually. They are the same ports as the previous versions were using, so in theory those ports should be already configured. To be 100% sure I’m choosing to add the ports by the XenDesktop Upgrade.
Next an overview will be shown of which components will be upgraded. Via the upgrade button the upgrade is actually started. If any prerequisites are not available, the installer will automatically install those. In my case the prerequisites are already in place and are not shown. At each component the progress is shown till the upgrade has finished.
After the upgrade the wizard automatically continues with the next question. Citrix built in a component to gather information that is useful for Citrix to improve the product. They call this part Call Home, which can only be enabled or disabled (easily with a GUI) during the installation or upgrade as shown in the figure below.
After choosing to participate or not in the Call Home program the upgrade of the software is finished and the final upgrade screen will be shown stating that the upgrade was successful.
The next step is to start Studio to continue with the upgrade. If you want, the adminitration console can be started directly after the upgrade by checking the Launch Studio box at the end of the upgrade process.
When Studio is started after the upgrade of the software, the database needs to be upgraded as well. There are two scenarios available: upgrading via Studio or via PowerShell scripts to modify the database.
The last option is required if your account or the Citrix Service Account does not have sysadmin rights and the SQL administrator will take care of the database upgrade. For the automatic site upgrade the account running the wizard should have the sysadmin rights. I have customers that provide that right temporarily during the upgrade and change the rights back to dbowner only after the upgrade process.
For this article I’m using the automatic site upgrade option. When choosing the 'Start the automatic Site upgrade', a message appears reminding you that you should have made a back-up of the database.
After choosing the Upgrade button, the database modifications will be executed. After some time the site upgrade will be completed successfully.
After the upgrade, Citrix Studio is showing a warning that the other Delivery Controllers should be upgraded as well. So let’s continue with the upgrade of the other Delivery Controllers.
The installation part is exactly the same, so I will be reffering to those steps as described above for the first delivery controller. During this upgrade the second Delivery Controller was automatically registered again and the warning was not shown in Studio anymore (after starting the console again). If the message still shows up, click the warning Upgrade remaining Delivery Controllers followed by Register Controllers.
Citrix Director / StoreFront
In the upgrade of the Delivery Controller, StoreFront and Director were automatically upgraded as they were installed on the same machine as the Delivery Controller role. However it would advise to install StoreFront and Director together on a different machine. In that case we need to upgrade the Director and StoreFront on that machine. The easiest way is to use the auto select of the ISO for this part as well especially if you installed the current version used on the ISO. For example StoreFront is often installed via the separate provided executable. First take a look at the upgrade process using the ISO.
The start-up screen shows in the left pane that there are server components available to upgrade. In the right pane we see that the installer automatically detected StoreFront and Director installed.
We need to select the upgrade option in the left pane which leads us to the license agreement part of the upgrade process.
After accepting the license agreement by choosing I have read, understand and accept the terms of the license agreement the steps are shown to successfully upgrade, just like the installation of the Delivery Controller.
The next step is to define your Delivery Controllers. This information is being used for Citrix Director, so this software component can communicate with the XenDesktop site.
Also for Director. (however it is already added by the previous installation) the Windows Remote Assistance feature will be added.
Next the earlier seen firewall question is asked again to automatically or manually open the required firewall ports on the machine.
After the firewall question, the upgrade process will be actually started via the Upgrade button.
Just as the previous upgrade processes, the installer shows the progress of the update.
At the end the wizard it will show that the upgrade was successful and we are done upgrading StoreFront and Director. Especially for StoreFront you should be careful because if you have multiple servers (which are not configured to only communicate on their own for the StoreFront part). I advise to upgrade the other StoreFront server(s) directly after the first one.
In the above steps we started the process of upgrading the XenDesktop environment to a higher version (in this article to version 7.9). We started discussing the upgrade order, showing that there are multiple paths to a successful migration. We continued with the upgrade steps of the Delivery Controllers, followed by Citrix Director and StoreFront.
In the below steps I will continue with the Citrix StoreFront stand-alone upgrade, followed by the VDA upgrade.
In the first part we upgraded StoreFront installed from the ISO of XenDesktop. However StoreFront is also available as a separate installation executable which is often used to install StoreFront. It’s a best practice to update via the same installation process as the original. So if you installed StoreFront using the installation executable, also update using the same process. For XenDesktop 7.9 this means we are using the StoreFront 3.6 installation executable. After double clicking the installation executable (StroreFront-x64.exe) the upgrade process will start with the License agreement, which logically should be accepted before the upgrade wizard will continue.
The second step is already showing which will be installed (including prerequisites if required, but most will be already there).
Just as the other Citrix installers the progress is shown during the upgrade.
When the component is successfully upgraded the installation wizard will notify you.
After pushing finish the upgrade is finished. If you look at the installation wizard it looks like the installation is a new install, however all your settings are retained. If you start the StoreFront administration console you will see that your earlier configuration, Store and Receiver for Web settings are still available, while you can see that the StoreFront version is on a higher level.
If you need to do additional configuration steps really depends of which version of StoreFront you were running before. If you upgrade from a StoreFront 2.x to a StoreFront 3.x version you need to decide if you still want to use the Green Bubble look and feel or would like to change it to the Unified Gateway view. If you are already on a StoreFront 3.x and using the Unified Gateway you don’t have to do anything. What is really nice is that when you used the new way of branding/customizing the Receiver for Web these customizations are preserved, so your customized Receiver for Web is fully available after the upgrade.
The first thing is about the way you are provisioning the VDAs. You can use PVS, MCS or your own technique. In this article I'm not going into details for each methodology (an article about upgrading PVS will follow after this series). I also presume you don’t have any active users on the machine. Logically the action should be executed on a machine that is not being used. The upgrade also requires a reboot.
I will start at the point you are ready to actually upgrade the VDA software bits. This can be done via two ways.
Using the autoselect on the ISO or download the executable VDA<
>setup.exe. In this article I’m using the software for servers (XenApp), but the steps are the same for the workstation based VDA software. When using the ISO the start screen is shown where in the middle pane Upgrade Machine and Images will be shown.
If you choose this option the same installation process is started when using the executable. The steps shown are exactly the same for both methods.
The upgrade starts with providing the option to configure the firewall automatically or perform the action manually. As these settings should already be in place (maybe you miss the framework ports if you upgrade from a lower 7.x version). When you use the MS Firewall I would use the automatic option.
Next a summary is shown with what information will be used during the upgrade. Also if prerequisites are applicable those will be shown (and automatically installed during the upgrade). As I’m upgrading from 7.8 to 7.9 no prerequisites are already in place (same prerequisites for XenDesktop 7.9 as 7.8).
Also for the VDA the Call Home function can be enabled or disabled. Changing it later on can only be done with a PowerShell cmdLets.
After configuring the Call Home, the installation process is finished and a summary will be displayed showing a successful upgrade. To finalize the upgrade the VDA needs to be restarted.
When the VDA is started again you check within Studio if the VDA is reporting the correct version. You need to select the column agent version via Select Columns button. In my case the machines are now upgraded to 184.108.40.206.
When all VDAs are upgraded within a Machine Catalog, you can upgrade the Machine Catalog. This will enable possible enhancements on this level. To start the upgrade of the Machine Catalog you select the catalog within Machine Catalogs and choose Upgrade Catalog out of the right mouse button menu or use the action pane on the right side of the console.
To upgrade a machine catalog the VDAs in the Machine Catalog need to be upgraded. The upgrade catalog wizard is checking that the VDAs are on the right level. If one or more is not on the required level the wizard will mention that and even shows which machines are not on the right level. However you can continue upgrading the machine catalog.
After pushing the upgrade button there is no feedback of the upgrade process. Personally it would be nice if there was a quick message that mentions that the upgrade of the catalog is successful.
The same steps need to be executed on the Delivery Group. For this part you select the corresponding Delivery Controller and choose Upgrade Delivery group available in the right mouse button menu of the right pane called actions.
Also for the upgrade of the Delivery Group the VDAs should be on the correct software level. This is the same as at the Machine Catalog level checked by the upgrade wizard of the Delivery Group. If the level of the VDA is not correct a warning appears, but you can continue the upgrade if you want.
No message is shown about the result of the Delivery Group upgrade, the same as for the Machine Catalog. If you have more Machine Catalogs and/or Delivery Groups you need to repeat these step for each Machine Catalog and/or Delivery Group.
After all Machine Catalogs and Delivery Groups are upgrade we also ended the upgrade steps for XenDesktop. If using the current release you only have to wait for the next quarter to redo these steps for the next version.
Wrapping things up
In this article I described the upgrade steps of a XenDesktop environment. In first part we started with the upgrade of the Delivery Controllers, followed by Citrix Director and Citrix StoreFront. In second part described the upgrade steps of the stand-alone Citrix StoreFront installation and the upgrade of the VDAs, the Machine Catalogs and the Delivery Groups. Citrix made the upgrade pretty smooth and easy, which logically was a requirement if you release a new version each quarter. Because the process is smooth and easy I don’t see any issues to keep up to date using the Current Release lifecycle of XenDesktop for many organizations.