This script will uninstall ALL versions of Citrix online plugin AND Receiver and then install Citrix Receiver, it should work for any version of Receiver but I wrote it for 3.4.
The script should work on Windows XP, Windows Vista, Windows 7, Windows 8, Windows 2003, Windows 2008, and Windows 2008 R2 but I haven’t tested it on all so let me know if you get an issues.
Citrix Workspace app is the new universal app for all workspace services, that will encompass all Citrix clients and app capabilities over time. This article describes how to install Citrix Receiver for Windows and configure Single Sign-on authentication to XenApp/XenDesktop.
It first kills the processes that can prevent uninstall and then at the end it checks that PnSson is in the network binding provider order as I have been having problems with this and it stops single sign on working.
- Install CitrixReceiver.exe from the command line using the /ALLOWADDSTORE=N option. Prior to installing Citrix Receiver.exe, set the following Windows Registry value on the target machine. This can be done manually from the Windows Registry Editor or from an Active Directory Group Policy Object (GPO).
- While the package installation may terminate in an error, it is possible (and likely) Citrix Receiver did install and functions normally. In these cases, it will not always register as a program on the OS (for example, be listed in appwiz.cpl). Our testing indicates the behaviors outlined above are due to the Citrix Receiver installer.
- Note: The Receiver Clean-Up Utility can be run in unattended mode if desired using the /silent command line option. C:/ ReceiverCleanupUtility.exe /silent ReceiverLogs folder is created in the location where the utility is run and tracks all uninstall actions and results.
Under the ##InstallReceiver section you need to edit
$InstallFiles= Enter the full path to the CitrixReceiverEnterprise.exe. N.B This path needs to be in your I.E Local intranet sites to prevent a Open File – Security Warning appearing
$ArgumentList= Add or remove all your required features including updating SERVER_LOCATION with the path to your services site. I have included the options I use
See eDocs for the command line install options
#*FileName: Citrix_Client_Uninstall_and_Install.ps1
#*
#*Created 10/05/2013
#*Author: Shaun Ritchie
#*www.shaunritchie.co.uk
#*
#*
#*
#*
#* SCRIPT BODY
#*
##Kill Citrix Client Processses that prevent uninstall
Stop-Process -ProcessName wfcrun32 -force
Stop-Process -ProcessName ssonsvr -force
##Uninstall old clients that use GUIDs, 11.000 and below
$Guids=”DAA13EB6-C53F-4038-9880-C310500B49E9″,”3049E69E-74F2-48C0-B9A1-9CD8125588E9″,”956F3E9A-3AED-40F8-8522-5F6A524CFC3E”,`
“8F5F8B07-50AC-401F-A441-A37740851A5C”,”2C42ED1E-6315-4E63-89E6-057EA114EBB8″,”76E4A642-BC3E-438A-8450-0C15A36B5B18l”,`
“4E21223F-8D6C-446E-9CD3-587D206A8400″,”E92B7A19-5FD5-4AEE-9FEF-7AD5DD3A675E”,”DF1D5FEC-D67C-43C8-9230-41F5DF350196″,`
“D989BCC0-757C-4FB6-893C-512DF4382656″,”7A1FB67F-A340-472A-97C3-A6AFFE078AAE”,”B2AE44CB-2AAB-4C08-A54B-D264BD604DA8″,`
“E89956F9-5B89-470E-818D-BD46102D0A01″,”42ACCB45-3363-47E0-94E9-F0074CC8BC56″,”2624B680-02BC-4CBC-839C-DA20DF6EF6EC”,`
“331741EC-DD63-4DA8-957E-D0C70412EF54″,”388C130B-0079-46B4-A0D5-DC2DD7A89A7B”
ForEach ($Guid in $Guids)
{
$ArgumentList = “/x” + “{” + $Guid + “}” + ” /qn REBOOT=ReallySuppress /quiet”
Start-Process -FilePath msiexec.exe -ArgumentList $ArgumentList -wait
}
##Get the correct location of install directory
$OSVersionNo = [System.Environment]::OSVersion.Version
##Windows XP and Windows Server 2003
If (($OSVersionNo.Build -eq 2600) -or ($OSVersionNo.Build -eq 3790))
{
$InstallLocation=$env:AllUsersProfile + “Application Data”
}
Else
{
$InstallLocation=$env:ProgramData
}
##Uninstall clients 11.2 and above
$InstallDirs = “`”$InstallLocationCitrixCitrix online plug-inTrolleyExpress.exe`””, “`”$InstallLocationCitrixCitrix online plug-in – webTrolleyExpress.exe`””
foreach ($InstallDir in $InstallDirs)
{
Start-Process -FilePath $InstallDir -ArgumentList “/uninstall /cleanup /silent” -wait
}
##Uninstall all versions of Receiver
$InstallDir = $InstallLocation + “CitrixCitrix Receiver (Enterprise)TrolleyExpress.exe”
Start-Process -FilePath $InstallDir -ArgumentList “/uninstall /cleanup /silent” -wait
##Install Receiver
$InstallFiles = “”
$ArgumentList = ‘/noreboot /silent /includeSSON ADDLOCAL=”ReceiverInside,ICA_Client,PN_Agent,SSON,USB,DesktopViewer,Flash,Vd3d” Enable_SSON=”Yes” Enable_KERBEROS=”No” LEGACYFTAICONS=”True” Enable_DYNAMIC_CLIENT_NAME=”Yes” ENABLEPRELAUNCH=”True” SERVER_LOCATION=””‘
Start-Process -FilePath $InstallFiles -ArgumentList $ArgumentList -wait
##Make sure Single Sign is in Provider Order Key
$Path = “HKLM:systemCurrentControlSetControlNetworkProviderOrder”
$ProviderOrder = (Get-ItemProperty -path $path).ProviderOrder
If ($ProviderOrder -NotLike “*PnSson*”)
Citrix Receiver Silent Install
{
Set-ItemProperty -path $path -Name ProviderOrder -value ($ProviderOrder + “,PnSson”)
$NewProviderOrder = (Get-ItemProperty -path $path).ProviderOrder
Write-Host Provider Order key now has the following values $NewProviderOrder
}
Else
Citrix Receiver Silent Install For Windows
{
Write-Host “PnSson already present in Provider Order”
}