Skip to content

Unattended Install: Citrix Presentation Server 4.0

This script requires that the Sun Java Runtime Environment is deployed first. It also is able to use the latest version of the Sun JRE so that version 1.4.2_06 is not a requirement for the Citrix Management Console.

@ECHO OFF
ECHO Configuring Java Environment for CPS..
REM Find the lastest version of the install JVM from the default path
FOR /D %%d IN ("%ProgramFiles%\Java\*") DO SET JAVAVERSION=%%d
REG ADD "HKLM\SOFTWARE\JavaSoft\Java Runtime Environment\1.4" /v JavaHome /d "%JAVAVERSION%" /t REG_SZ /f
REG ADD "HKLM\SOFTWARE\JavaSoft\Java Runtime Environment\1.4" /v MicroVersion /d "2" /f
REG ADD "HKLM\SOFTWARE\JavaSoft\Java Runtime Environment\1.4" /v RuntimeLib /d "%JAVAVERSION%\bin\client\jvm.dll" /t REG_SZ /f
REG ADD "HKLM\SOFTWARE\JavaSoft\Java Runtime Environment\1.4.2_06" /v JavaHome /d "%JAVAVERSION%" /t REG_SZ /f
REG ADD "HKLM\SOFTWARE\JavaSoft\Java Runtime Environment\1.4.2_06" /v MicroVersion /d "2" /t REG_SZ /f
REG ADD "HKLM\SOFTWARE\JavaSoft\Java Runtime Environment\1.4.2_06" /v RuntimeLib /d "%JAVAVERSION%\bin\client\jvm.dll" /t REG_SZ /f

SET OPTIONS=ALLUSERS=TRUE REBOOT="ReallySuppress" /l*v "%SYSTEMROOT%\temp\mf40.log" /QB
SET OPTIONS=%OPTIONS% CTX_MF_FARM_SELECTION="Join"
SET OPTIONS=%OPTIONS% CTX_MF_JOIN_FARM_DB_CHOICE="Direct"
SET OPTIONS=%OPTIONS% CTX_MF_ZONE_NAME=""
SET OPTIONS=%OPTIONS% CTX_MF_SILENT_DSNFILE="MF20.DSN"
SET OPTIONS=%OPTIONS% CTX_MF_ODBC_USER_NAME="
SET OPTIONS=%OPTIONS% CTX_MF_ODBC_PASSWORD=”
SET OPTIONS=%OPTIONS% CTX_MF_SHADOWING_CHOICE=”Yes”
SET OPTIONS=%OPTIONS% CTX_MF_SHADOW_PROHIBIT_REMOTE_ICA=”No”
SET OPTIONS=%OPTIONS% CTX_MF_SHADOW_PROHIBIT_NO_NOTIFICATION=”No”
SET OPTIONS=%OPTIONS% CTX_MF_SHADOW_PROHIBIT_NO_LOGGING=”No”
SET OPTIONS=%OPTIONS% CTX_MF_XML_CHOICE=”share”
SET OPTIONS=%OPTIONS% CTX_MF_LAUNCH_CLIENT_CD_WIZARD=”No”
SET OPTIONS=%OPTIONS% CTX_MF_SERVER_TYPE=”E”
SET OPTIONS=%OPTIONS% CTX_MF_REBOOT=”No”
SET OPTIONS=%OPTIONS% CTX_IGNORE_MCM=”No”
SET OPTIONS=%OPTIONS% CTX_REMOVE_WI_TURNKEY=”Yes”
SET OPTIONS=%OPTIONS% CTX_MF_ENABLE_VIRTUAL_SCRIPTS=”Yes”
SET OPTIONS=%OPTIONS% CTX_MF_LICENSE_SERVER_NAME=”localhost”
SET OPTIONS=%OPTIONS% CTX_MF_LICENSE_SERVER_PORT=”27000″
SET OPTIONS=%OPTIONS% CTX_MF_LICENSE_SERVER_PORT_DEFAULT=”1″
SET OPTIONS=%OPTIONS% CTX_MF_LIC_CHOICE_FOR_CREATE=”UseFarmSettings”
SET OPTIONS=%OPTIONS% CTX_MF_LIC_CHOICE_FOR_JOIN_OR_UPGRADE=”UseFarmSettings”
SET OPTIONS=%OPTIONS% CTX_RDP_DISABLE_PROMPT_FOR_PASSWORD=”Yes”

ECHO Citrix Presentation Server 4.0..
START /WAIT MSIEXEC /I MPS.msi %OPTIONS%

ECHO Configuring Presentation Server..
REM Other ICA settings should be configured via MetaFrame Farm Policies
REG QUERY “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v fDisableEXE
IF “%ERRORLEVEL%”==”0″ (

IF EXIST “Conferencing Manager\CMCM.msi” (
ECHO Citrix MetaFrame Conferencing Manager..
ECHO Starting MetaFrame COM Server..
START /WAIT NET START “MetaFrame COM Server”
REM Set server hosting the Confernce Organising Service
SET COSERVER=
SET OPTIONS=
SET OPTIONS=ALLUSERS=TRUE REBOOT=”ReallySuppress” /l*v “%SYSTEMROOT%\temp\CM40.log” /QB-
SET OPTIONS=%OPTIONS% CMCMCFG_PARS=”/CORGANIZER_SERVER:%COSERVER% /PRIMARY_XML_SERVER:%COSERVER%:80 /BACKUP_XML_SERVER:%COMPUTERNAME%:80″
SET OPTIONS=%OPTIONS% LOCALUSER=1
IF “%COMPUTERNAME%”==”%COSERVER%” (SET OPTIONS=%OPTIONS% ADDLOCAL=CR,CMCM,CO) ELSE (SET OPTIONS=%OPTIONS% ADDLOCAL=CR,CMCM)
START /WAIT MSIEXEC /I “Conferencing Manager\CMCM.msi” %OPTIONS%
REG ADD “HKLM\SOFTWARE\Citrix\CMCM” /v OutlookIntegration /d “On” /f
)

IF EXIST “Administration\Access Suite Console\CitrixMMC.MSI” (
ECHO Citrix Access Suite Console..
START /WAIT MSIEXEC /I “Administration\Access Suite Console\CitrixMMC.MSI” ALLUSERS=TRUE REBOOT=SUPRESS /QB-
)

REM Disable Anonymous users created by Presentation Server..
NET USER | FIND “Anon” > %SYSTEMROOT%\TEMP\USERS1.TXT
FOR /F “tokens=1,2,3″ %%u IN (%SYSTEMROOT%\TEMP\USERS1.TXT) DO ECHO %%u >> %SYSTEMROOT%\TEMP\USERS2.TXT & ECHO %%v >> %SYSTEMROOT%\TEMP\USERS2.TXT & ECHO %%w >> %SYSTEMROOT%\TEMP\USERS2.TXT
TYPE %SYSTEMROOT%\TEMP\USERS2.TXT | FIND “Anon” > %SYSTEMROOT%\TEMP\USERS3.TXT
FOR /F %%u IN (%SYSTEMROOT%\TEMP\USERS3.TXT) DO NET USER %%u /ACTIVE:NO > NUL

ECHO Presentation Server settings..
REG DELETE HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v ICABAR /f
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Citrix\ClientPrinterProperties /v fPurgeAnyWay /t REG_DWORD /d 0×00000001 /f
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Citrix\ClientPrinterProperties /v fNotInheritKeepPrintedJobs /t REG_DWORD /d 0×00000001 /f

ECHO ICA-tcp Settings..
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v fInheritAutoLogon /d 0×00000001 /t REG_DWORD /f
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v fInheritResetBroken /d 0×00000001 /t REG_DWORD /f
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v fInheritReconnectSame /d 0×00000001 /t REG_DWORD /f
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v fInheritInitialProgram /d 0×00000001 /t REG_DWORD /f
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v fInheritCallback /d 0×00000000 /t REG_DWORD /f
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v fInheritCallbackNumber /d 0×00000001 /t REG_DWORD /f
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v fInheritShadow /d 0×00000000 /t REG_DWORD /f
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v fInheritMaxSessionTime /d 0×00000001 /t REG_DWORD /f
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v fInheritMaxDisconnectionTime /d 0×00000001 /t REG_DWORD /f
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v fInheritMaxIdleTime /d 0×00000001 /t REG_DWORD /f
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v fInheritAutoClient /d 0×00000000 /t REG_DWORD /f
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v fInheritSecurity /d 0×00000000 /t REG_DWORD /f
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v fPromptForPassword /d 0×00000000 /t REG_DWORD /f
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v fInheritColorDepth /d 0×00000001 /t REG_DWORD /f
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v fResetBroken /d 0×00000000 /t REG_DWORD /f
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v fReconnectSame /d 0×00000000 /t REG_DWORD /f
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v fLogonDisabled /d 0×00000000 /t REG_DWORD /f
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v fAutoClientDrives /d 0×00000001 /t REG_DWORD /f
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v fAutoClientLpts /d 0×00000000 /t REG_DWORD /f
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v fForceClientLptDef /d 0×00000000 /t REG_DWORD /f
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v fDisableEncryption /d 0×00000001 /t REG_DWORD /f
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v fDisableCpm /d 0×00000000 /t REG_DWORD /f
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v fDisableCdm /d 0×00000000 /t REG_DWORD /f
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v fDisableCcm /d 0×00000000 /t REG_DWORD /f
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v fDisableLPT /d 0×00000000 /t REG_DWORD /f
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v fDisableClip /d 0×00000000 /t REG_DWORD /f
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v fDisableExe /d 0×00000000 /t REG_DWORD /f
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v fDisableCam /d 0×00000000 /t REG_DWORD /f
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v Shadow /d 0×00000002 /t REG_DWORD /f
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v KeyboardLayout /d 0×00000000 /t REG_DWORD /f
REG ADD “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp” /v ColorDepth /d 0×00000000 /t REG_DWORD /f
)