By Arjan Pater
At one of my customers, I am upgrading the Citrix XenApp environment to the latest Long Term Service Release (LTSR). In this case, I am upgrading the Citrix Virtual Delivery Agent (VDA) to 7.15 LTSR and the Citrix Receiver to version 4.9 LTSR.
The customer has Current Release (CR) installed and needed to be upgraded. It was decided to upgrade to the latest LTSR versions because of the 5 years support cycle.
However, in this blog post, I focus on the installation of the Citrix Receiver with the help of Login Automation Machine (Login AM). To successfully install the Citrix Receiver there are some tricks and tweaks needed. In this bog I will give a solution and a possible explanation.
The first step is to find out if it is possible to install the Citrix Receiver in an unattended way. Citrix has built the installer in a way that the Citrix Receiver can be installed unattended. In addition, Citrix is so kind to provide us with the necessary information, for more, please click here.
The command I used is:
CitrixReceiver.exe /AutoUpdateCheck=disabled /includeSSON /Enable_SSON=yes /EnableCEIP=false ALLOWADDSTORE=n DONOTSTARTCC=1 /silent /noreboot
In Login AM, this translates to the following:
After starting a deployment reboot of the test server, I ended up with the following error: “Waiting for other AM event to finishing”
To find out the reason, the log files are a good place to start. To open the log files of the Citrix installer, go to the following folder:
C:\Users\[LOGIN_AM_SERVICES_ACCOUNT]\AppData\Local\Temp\CTXReceiverInstallLogs-[DATA]-[TIME]\
In the “TrolleyExpress” log, the last entry is about the “ICAWebwrapper.msi”. This Microsoft Installer (MSI) has been started, however, it never finished. If we open the corresponding log, it shows that the “ICAWebwrapper.msi” is trying to execute a custom action. Apparently, that custom action is not working and the installation is on a hold and will never finish.
The Citrix Receiver installation file is a wrapper and is extractable. After extracting, there will be ten separate MSI installer files. For more information how to do this, click here.
This results in a collection of MSI files:
To install the Citrix Receiver in a correct way, Citrix advises to install all the MSI in a special order with some parameters. Thus, for every MSI installer I created a Microsoft Transform (MST) file. For example, with a program called Orca, it is possible to generate a MST file. For more information about Orca, please click here.
With Orca, I added the Citrix recommended properties to the property table and some extra properties I always use when I am making customizations:
I am using the “DONOTSTARTCC” property in the MST file because In a Citrix support document, the “DONOTSTARTCC” property is recommended for installations that are carried out with Group Policy Objects (GPO) and System Center Configuration Manager (SCCM) for example. For more information, please click here.
To install the Citrix Receiver, use for every extracted MSI and created MST the following command:
Msiexec /I <path to the .msi package> TRANSFORMS= <path to the .mst package> /qn
After putting the commands needed to install the Citrix Receiver into Login AM, the installation process is started. Again, the installation process hangs with the same message. The log files show the same problem.
Concluding from the logging, I could try at least two options:
Earlier, the logging of the installation process showed that the installation was stuck when the ICAWebWrapper.msi was installed. During the installation, there are several custom actions trying to launch a sub process. Because this was not working, I decided to change the custom actions that are responsible for launching this sub process. With the adaptations, the custom actions should not launch any sub process anymore during the installation process. Unfortunately, this did not help and the installation process was stuck on the same error again.
No time to be gentle anymore. I removed the custom actions shown in the Citrix Receiver installer logs and tried to install the Receiver again. Now, this was successful. The Citrix Receiver installed without problems, but as it turned out, the Single-Sign-On option was not working properly. Everything looked fine but apparently, the custom actions I removed were doing more than just starting a sub service.
The last option is to install the Citrix Receiver with the system account. Login AM uses its own service account that is comparable with a normal account that is dedicated to Login AM. However, the system account has more rights and is comparable to a Linux root account.
First, it is needed to run the installer under the system account. That can be done with PsExec. PsExec is part of the PsTools package. For more information and a download link, click here.
The PowerShell script is starting PsExec with all the arguments needed to run it in the background. PsExec will, in return, start the command under system account to install the Citrix Receiver.
The PowerShell code:
Start-Process -FilePath 'C:\INSTALL\PsExec.exe' -ArgumentList "-accepteula -s cmd /C C:\INSTALL\CitrixReceiver.exe /AutoUpdateCheck=disabled /includeSSON /Enable_SSON=yes /EnableCEIP=false ALLOWADDSTORE=n DONOTSTARTCC=1 /silent /noreboot" -Wait -PassThru -WindowStyle Hidden
In Login AM, the PowerShell script, the PsExec.exe file, and the Citrix Receiver installation file will be copied to the local disk of the target machine. Login AM will start the PowerShell script from the targeted machine and the Citrix Receiver will be installed under the system account. In Login AM, it looks like this:
The Citrix Receiver installation automatically uninstalls older Citrix Receiver installations. In this case, the Citrix Receiver Cleanup tool should be used. We want to end with exit code 0. If the Citrix Cleanup tool is not used, the installation will end with exit code: 3010 (A Reboot is required.) As a result, PsExec will stay active in the background and Login AM will give you the following message: “Waiting for other AM event to finish”.
Now the installation is working like a charm. I can only conclude that the newer Citrix Receiver installation files need to be installed under system account because of the custom actions present inside the “ICAWebwrapper.msi”. Also, colleagues who are using SCCM or GPO didn’t come across any issues and these installation tools are all using the system account to install software.
26 March 2018
05 December 2017
28 June 2017
28 June 2017
Powered By Impressive Business WordPress Theme