Goal:
Extracted MSI method with Single Sign-on Enabled and Security configured.
Install OfflinePlugin, too
CAVEAT: the DONOTSTARTCC=1 property no longer exists, therefore Receiver is launched
during install and the incomplete APPSRV.INI is copied from Program Files to the Installer's profile.
The quick and dirty solution is to delete the incomplete APPSRV.INI from the Installer's profile.
USERPROFILE%\AppData\Roaming\ICAClient\APPSRV.INI is then RE-created by launching reciever which
copies the fully complete version from C:\Program Files (x86)\Citrix\ICA Client\APPSRV.INI
CAVEAT2: ENABLE_SSON=Yes property does not fully enable SSON and we must add EnableSSONThruICAFile=On
ourselves.
*Step 1:extract the MSIs:
CitrixReceiverEnterprise.exe /extract [Destination_name]
(Caveat: Destination Folder must exist for extraction to work)
Open the CTX_UPDATE_PACKAGE file by adding .ZIP
Or use the empty Temp folder trick
*Step 2: Create an MST for SSONWrapper.msi
To Fully enable SSON we need to append EnableSSONThruICAFile=On
to %USERPROFILE%\AppData\Roaming\ICAClient\APPSRV.INI, for each user, at first log on
%USERPROFILE%\AppData\Roaming\ICAClient\APPSRV.INI is created by launching reciever which
copies it from C:\Program Files (x86)\Citrix\ICA Client\APPSRV.INI
So instead of creating an ActiveSetup package, the "EnableSSONThruICAFile=On" line was added to
C:\Program Files (x86)\Citrix\ICA Client\APPSRV.INI
To do this using Wise Package Studio:
Edit SSONWrapper.msi
In Setup Editor, in the Features tab
SSON -> Combined -> INI files -> Program Files\Citrix\ICA Client\APPSRV.INI
Double click and add EnableSSONThruICAFile=On
Careful not to replace what is there
We also need to import a bunch of REG changes in [HKLM\SOFTWARE\Wow6432Node\Citrix\ICA Client\Client
Selective Trust\oidInternetRegion] exported from a 64bit OS
Since MSI will deal with the 32vs64bit stuff at install time and the MSI is authored in 32bit
we must convert the reg file to 32bit reg by removing \Wow6432Node in the [KEY path] lines
Then to import it:
In Setup Editor, in the Components tab
create a new component called SsonRegx86
click OK
Now we can import the SsonRegx86.reg file
-Right-click on SsonRegx86 component
new -> Registry Key
In the Features Tab, right-click on Components -> New -> Component Assignment
assign SsonRegUpx86 to the default folder given.
(Now the SsonRegUpx86 component is no longer Red)
Save the changes as Citrix_Receiver.MST
*Step 3: Create Install Script
The PDF from Citrix mentions to install them in this order:
RIInstaller.msi
ICAWebWrapper.msi
SSONWrapper.msi
GenericUSB.msi
DesktopViewer.msi
CitrixHDXMediaStreamForFlash-ClientInstall.msi
PNAWrapper.msi
Vd3dClient.msi
You can use any scripting language you want. I used CMD:
SET PKGNAME=Citrix_Receiver
SET PROPERTIES=SERVER_LOCATION="http://CitrixServices" ENABLE_DYNAMIC_CLIENT_NAME=Yes ENABLE_SSON=Yes
SET MSINAME=RIInstaller
%SYSTEMROOT%\System32\msiexec.exe /i "%~DP0%MSINAME%.MSI" %PROPERTIES% ALLUSERS=1 /l*v "%TEMP%\Install\%
PKGNAME%_%MSINAME%.log" /qb!-
SET MSINAME=ICAWebWrapper
%SYSTEMROOT%\System32\msiexec.exe /i "%~DP0%MSINAME%.MSI" %PROPERTIES% /l*v "%TEMP%\Install\%PKGNAME%_%
MSINAME%.log" /qb!-
SET MSINAME=SSONWrapper
%SYSTEMROOT%\System32\msiexec.exe /i "%~DP0%MSINAME%.MSI" %PROPERTIES% TRANSFORMS="%~DP0\%PKGNAME%.MST"
SET MSINAME=GenericUSB
%SYSTEMROOT%\System32\msiexec.exe /i "%~DP0%MSINAME%.MSI" %PROPERTIES% /l*v "%TEMP%\Install\%PKGNAME%_%
MSINAME%.log" /qb!-
SET MSINAME=DesktopViewer
%SYSTEMROOT%\System32\msiexec.exe /i "%~DP0%MSINAME%.MSI" %PROPERTIES% /l*v "%TEMP%\Install\%PKGNAME%_%
MSINAME%.log" /qb!-
SET MSINAME=PNAWrapper
%SYSTEMROOT%\System32\msiexec.exe /i "%~DP0%MSINAME%.MSI" %PROPERTIES% SILENT=1 /l*v "%TEMP%\Install\%
PKGNAME%_%MSINAME%.log" /qb!-
SET MSINAME=Vd3dClient
%SYSTEMROOT%\System32\msiexec.exe /i "%~DP0%MSINAME%.MSI" %PROPERTIES% /l*v "%TEMP%\install\%PKGNAME%_%
MSINAME%.log" /qb!-"
REM Delete incomplete INI from Installer's profile
Del "%APPDATA%\ICAClient\APPSRV.INI"
REM Next time client launches it will Copy-in complete INI from source
REM In Upgrades to future version, this will have to be done via Active Setup
REM Install OfflinePlugin, too
SET MSINAME=CitrixOfflinePlugin_6.5.0
ECHO Installing %MSINAME%. Please wait and don't touch.
"%~DP0CitrixOfflinePlugin.exe" /C:"setup /norestart /l ""%TEMP%\install\%PKGNAME%_%MSINAME%.log"" /qr!-"
This website uses cookies.
By continuing to use this site and/or clicking the "Accept" button you are providing consent
Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our
websites or when you do business with us. For more information about our
Privacy Policy and our data protection
efforts, please visit
GDPR-HQ