Wednesday, July 20, 2011

Patching Citrix Presentation Server

This article descibes details about updating or patiching a Citrix Presentation Server. Do you know the difference between a general-, limited or private hotfix? What's a Rollup hotfix and how to install multiple hotifxes in one step?

Find the answers and much more in the following article.



Types of Presentation Server Hotfixes
A hotfix is a piece of software updating a Citrix product and each hotfix is product- and language specific, delivered in a self-installing package (.EXE, .MSI, .MSP). With Citrix hotfixes there are four different types of fixes that will be explained next.


General Release hotfix
These hotfixes are available from Citrix support web site http://support.citrix.com/product/ps/v4.0 or http://support.citrix.com/product/ps/v4.5 The issues they resolve are generic in nature and affect many customers. Some hotfixes introduce new registry values, enhancements or include other (previous) hotfixes.

Limited release hotfix
Is a fix that is targeted at a specific end-user issue. This problem is specific to that customer's environment and may not affect other customers. These hotfixes can be supplied to customers by the Citrix Technical Support personal (open a call), since customers don't have access to them via the Citrix website (actually some partner etc. can review the article of the limited hotfix). When Citrix notice many requests for a specific limited hotfix, it will become a general release hotfix.

Private Fix
A private fix is a preliminary code fix that is given to a customer when actively working on resolving a customer problem. It is not possible for a customer to directly get a copy of a private fix. A private fix can only be obtained via the Citrix Escalation team. Customers must contact Technical Support to open an incident.

Rollup hotfix
"Hotfix Rollup Packs (HRPs) are distribution mechanisms that provide a simplified methodology for customers to update their servers quickly and easily by grouping all available problem fixes into a single package."
That means a Rollup hotfix like R01 includes all previous released general- or some or all limited hotfixes to the day the Rollup was published (at least it should). General hotfixes releases after the Rollup get the suffix R01 (see naming convention). Rollup R02 will include all R01 general hotfixes and so on.



Hotfix Naming Convention
Citrix hotfixes are language, product dependants and they all refer to a naming convention. The hotfix name gives all required information on the supported product, platform and language.


AAAB000C11DDDDDDD222
= PSE400R01W2K3X64001

First set of characters (AAA)
Supported Product - Presentation Server (PS), XenApp (XA)


Second set of characters (B)
Product Language - Englisch (E), German (G), French (F), Spanish (S), Japanese (J)


Third set of characters (000)
Product Version - 400 (4.0), 450 (4.5)


Fourth set of characters (C)

Product Rollup - R


Fifth set of characters (11)

Product Rollup version - 01, 02, 03


Sixth set of characters (DDDDDDD)

Operating System - Windows 2000 (W2K), Windows 2003 (W2K3), W2K3 64Bit (W2K3X64)


Seventh set of characters (222)
Hotfix number - 001 up to 999




Hotfix Installation
There are different ways to install a Citrix hotfix or Rollup. The following explains the most common methods to apply Citrix Presentation Server fixes.


Manuall installation process:
(as recommended by Citrix)

  1. Copy the hotfix to an empty folder on the Server
  2. Close all applications and make sure no user is working on the Server
  3. Go to Control Panel, click on Add/Remove software (or use the "change user" command)
  4. Follow the wizard to install the hotfix from the folder created in point 1
  5. Once done, restart the server.


Silent Installation process
The silent Installation is simply a Windows Installer Command-Line option "/qn - no user interaction". Read the Microsoft article "Command-Line Switches for the Microsoft Windows Installer Tool" KB227091 for more details.

Example : Msiexec /p "hotfix.msp" /qn


Citrix Installation Manager (IM)
The Installation Manager is the most secure way to install one or multiple hotfixes. Secure in the meaning of to be 100% sure the package will be installed (see Installation process for multiple hotfixes). This is due to the fact that IM runs a install procedure for each hotfix.


  1. Create a package group in IM
  2. Add any hotfix that you want to install to the package group
  3. Set the install sequence to a numeric order
  4. Apply/Schedule the package to a Server and set "Delay reboot until end of job"




Installation process for multiple Hotfixes
The most complex method to install multiple hotfixes (not using IM, SMS etc.) is the usage of a script. Main problem with a script solution is the timing between hotfix installations. This is due to the fact that some hotfixes using the command line to run scripts or to set registry keys. In some cases process might still run whereas the main hotfix has finished and causes the next hotfix not to install itself! Actually the hotfix will be skipped without any notice.

In a first approach I advised Citrix to use the Windows "start" command to launch hotfixes. Citrix has documented this in the article CTX110104. Later on I noticed that it only worked for about 95% of the script installations. To make it 100% an additional timeout between hotfixes is needed.


Using a script
When using a script to install multiple hotfixes, then make sure you have read the following advice

  • Use the Start /wait command with each hotfix
  • Use the Windows Installer options /qn /norestart
  • Add timeouts between hotfix installations (ping command or sleep utility)
  • Reboot the Server through the Windows shutdown command (shutdown, tsshutdn)


The hotfix installation script
The hotfix installation script that I have published for quite some time in the Presentation section has been evolved over time. I made it quite flexible to install Citrix hotfixes and works as follows:

  1. Copy all hoftixes and rollup (if any) in the folder along with the script
  2. Set three options within the script
    SET CPSV=PSE400 | Presentation Server version
    SET RO=R03 | Rollup version you are installing
    SET IRO=No | Set if the Rollup itself should be installed as well
  3. Execute the script and your done.

CMD Download the script here: CPSUpdate-v1.8.zip



Hotfix Q&A

  • Q: Some hotfixes include other hotfixes that I have already installed!?
    A: That's not a problem, apply them as usual. Just keep in mind that introduced registry keys that come with a hotfix will be re-set to the default value.
  • Q: A hotfix has been released with a lower hotfix number, how do I apply the fix?
    A: Just apply the hotfix as usual. The fix should not be part of another hotfix.
  • Q: The Setup Splash Screen Displays the Highest Hotfix Number Currently Installed?
    A: Therefore see Citrix article
    CTX111783
  • Q: How can I review the installed Hotfixes or even compare fixes between Server?
    A: Hotfix Management is part of the Access Suite Console 4.0 or Access Management Console 4.5. You can also use cpatch.exe to review installed fixes or try out the MFHotfix utility
    CTX106667
  • Q: When installing post Rollup hotfixes, due I have to install the Rollup again?
    A: No.
  • Q: What hotfixes or Rollups should I apply?
    A: Only those, that fix an currently existing issue with your Presentation Server.



References

No comments:

Post a Comment