How to: Unattended Citrix Presentation Server Installation (Part 2)
In the first article I described the automated creation of the Datastore database followed by the creation of an ODBC connection file. Also the required helper applications like MSI Installer 3.1 and Java Runtime Environment were installed silently. In the first article we started with the Citrix Presentation Server installation parameters concerning the database. In this article I will continue with the parameters for creating and joining the farm. I will also describe how to create a farm with a local database.
Create Farm parameters
In the first article we had already described the parameters needed to create the datastore within the predefined database. For the first server, which also creates the farm the following parameters are necessary:
With this parameter the value "create" lets the installation know that this is the first server and that the farm should be created.
This parameter specifies the farm name for the Presentation server you are installing. This is a required parameter when installing the first server.
- CTX_MF_ZONE_NAME=CTX_ ZONENAME
With this parameter the zone name can be filled in. If you do not specify this parameter the default zone name, normally the IP range, in which the server exists, will be used.
When installing Citrix Presentation server one account can be selected as the Citrix Administrator. This parameter specifies this account and is a required parameter.
Normally the user account used as Citrix administrator will be a domain account. Therefore you need to specify the domain of the user at the parameter CTX_MF_USER_NAME with this parameter. This parameter is required.
Within Citrix Presentation Server it is possible to add all members of the local administrator group to the Citrix Administrator role. With the value Yes these users are added. If not specified the default value will be used, which is No (so that the users are not added).
With this parameter you can choose to disable the creation of the fifteen anonymous local accounts when using the value No. When the parameter is not used the default Yes (creating the users) will be used. When the parameter CTX_MF_CREATE_REMOTE_DESKTOP_USER is used with the value AddEveryone this parameter is ignored and the anonymous accounts are created during installation.
This parameter determines if users are added to Remote Desktop Users group. Only users added to this group have the option to use Terminal Services/Citrix. Three values can be used:
- AddEveryone: authenticated users are added to the Remote Desktop Users group.
- CopyUsers: Copies all current users in the local user group to the Remote Desktop Users group.
- DoNothing: Nothing is added to the Remote Desktop Users group. You could use AD command line tools to accomplish adding your specific group or users to this group.
- AddEveryone: authenticated users are added to the Remote Desktop Users group.
Default value is CopyUsers when this parameters is not specified.
- CTX_MF_SHADOWING_CHOICE=Yes CTX_MF_SHADOW_PROHIBIT_REMOTE_ICA=No
These parameters are used to specify how Citrix Remote Control is configured. With the parameter SHADOWING_CHOICE you enable or disable the Remote Control functionality.
The parameter REMOTE_ICA specifies if a remote keyboard and mouse may be used during Remote Control. Please note that the value No allows usage of the remote keyboard and mouse.
The last two parameters configure Remote Control behavior. CTX_MF_SHADOW_PROHIBIT_NO_NOTIFICATION configures if users are notified when Remote Control is being used. No allows no notification, Yes ensure that notification is always used. CTX_MF_SHADOW_PROHIBIT_NO_LOGGING configures the logging of the remote control sessions. No allows logging, Yes ensures that logging can not be used.
If IIS is installed on the same machine as a Presentation Server (which is not advisable) both IIS and the Citrix XML service use the same port. If this situation exists you can, with the parameter CTX_MF_XML_CHOICE, specify if IIS and the XML share (value: share) or use both their own (separate) port number. With CTX_MF_XML_PORT_NUMBER the port number for the XML service can be defined (default is 80, which will be used if the parameter is not specified).
When creating the farm normally the installation asks for the license server or to fill in the license server later. This parameter answers the same question. With the value DontKnow the installation does not fill in any License Server information. When given the value Point, the installation fills in the name specified by CTX_MF_LICENSE_SERVER_NAME.
When using the parameter CTX_LIC_CHOICE_FOR_CREATE (or the parameter CTX_MF_LIC_CHOICE_FOR_JOIN_OR_UPGRADE in a join script) the value of the parameter CTX_MF_LICENSE_SERVER_NAME will be used as the license server name and the value of CTX_MF_LICENSE_SERVER_PORT will be used as the Citrix license port (standard 27000, will be used when parameter is not specified).
For all versions of Citrix Presentation Server the same source is used. With this parameter you can specify which you would like to install. Values can be S (Standard Edition), A (Advanced Edition) and E (Enterprise Edition). When this parameter is not specified the Enterprise Edition will be installed.
If you are using Published Applications only, you could enforce that only Published Applications can be used. I advise not to use this parameter and configure it later via policies, so that you allow more flexibility within your configuration.
Specifies whether or not to use ICA Client Distribution wizard within your installation. Mostly Citrix Administrators choose to use another distribution mechanism or add these clients later to the Presentation Server.
With this parameter you can specify which components (like Resource Manager, Installation Manager, Packager, etcetera) of Presentation Server should be installed on your server. All possible values are explained (just like all parameters) in the Citrix Administrators Guide in Appendix B.
- MSIEXEC parameters
To finish off the silent installation the standard MSIEXEC command should be added. To suppress the reboot after the installation, use the parameters REBOOT=ReallySuppress. To choose a different installation path than default, use the parameter INSTALLDIR. If you would like to log the installation, use the parameter /liewa with a logfile specified. Include /qr to silently run the MSI file.
Above we mentioned the most used parameters. Although there are a few more, normally you do not need those. Figure 1 shows an example of how to combine the parameters within the silent installation.
Figure 1: Example silent installation for creating Citrix farm
msiexec /i "\mps.msi" /qr CTX_MF_FARM_SELECTION="Create" CTX_MF_CREATE_FARM_DB_CHOICE="Thirdparty" CTX_MF_ZONE_NAME="StandardZone" CTX_MF_SILENT_DSNFILE="%TEMP%\SQL.dsn" CTX_MF_ODBC_USER_NAME="ctx_db_user" CTX_MF_ODBC_PASSWORD="password" CTX_MF_NEW_FARM_NAME="Company Farm" CTX_MF_USER_NAME="administrator" CTX_MF_DOMAIN_NAME="vanbragt.net" CTX_MF_SHADOWING_CHOICE="Yes" CTX_MF_LIC_CHOICE_FOR_CREATE=DontKnow CTX_MF_SHADOW_PROHIBIT_REMOTE_ICA="No" CTX_MF_SHADOW_PROHIBIT_NO_NOTIFICATION="Yes" CTX_MF_SHADOW_PROHIBIT_NO_LOGGING="No" CTX_MF_XML_PORT_NUMBER="80" CTX_MF_LAUNCH_CLIENT_CD_WIZARD="No" CTX_MF_SERVER_TYPE="E" REBOOT="ReallySuppress" /liewa "%LOGFILE%.log" INSTALLDIR="c:\serverapps\"
Join Farm parameters
When the first server is up and running more Citrix Presentation servers can be added to the farm. Logically this can also be unattended. Because the database already exists, in this script you only need to create the DSN file (exactly the same as the create script) and install the required helper applications.
For the Presentation Server installation some special parameters should be used in order to create the join script.
First of all the parameter CTX_MF_FARM SELECTION is required, this time with the value JOIN. Also for the license server a special parameter is available.
The parameter CTX_MF_LIC_CHOICE_FOR_JOIN_OR_UPGRADE should be used for providing information for the license server. Values are POINT (combined with the parameter CTX_MF_LICENSE_SERVER_NAME) or the value “UseFarmSettings”. With the value UseFarmSettings the license server is not checked and the installation assumes that the license server is filled in correctly within the farm.
To complete the silent installation some more parameters are required, but they are exactly the same as in the creation installation. CTX_MF_CREATE_FARM_DB_CHOICE, CTX_MF_SILENT_DNSFILE, CTX_MF_ODBC_USER_NAME, CTX_MF_ODBC_PASSWORD, CTX_MF_USER_NAME, CTX_MF_DOMAIN_NAME are required parameters.
Figure 2 shows an example of a "joining" installation script.
Figure 2: Example silent installation for joining Citrix farm
msiexec /i "\mps.msi" /qb-! CTX_MF_FARM_SELECTION="Join" CTX_MF_CREATE_FARM_DB_CHOICE="Thirdparty" CTX_MF_ZONE_NAME="Standard Zone" CTX_MF_SILENT_DSNFILE="%TEMP%\SQL.dsn" CTX_MF_ODBC_USER_NAME=ctx_db_user " CTX_MF_ODBC_PASSWORD="”passwird" CTX_MF_NEW_FARM_NAME="Company Farm" CTX_MF_USER_NAME="adnubustrator" CTX_MF_DOMAIN_NAME=”vanbragt.net" CTX_MF_SHADOWING_CHOICE="Yes" CTX_MF_SHADOW_PROHIBIT_REMOTE_ICA="No" CTX_MF_SHADOW_PROHIBIT_NO_NOTIFICATION="Yes" CTX_MF_SHADOW_PROHIBIT_NO_LOGGING="No" CTX_MF_XML_PORT_NUMBER="80" CTX_MF_LAUNCH_CLIENT_CD_WIZARD="No" CTX_MF_SERVER_TYPE="E"
REBOOT="ReallySuppress" /liewa "%LOGFILE%.log" INSTALLDIR="%CTX_INSTPATH%"
Parameters for creating a farm with a local database
In small environments you can choose not to use a third-party database (like SQL or Oracle) but an Access or MSDE database. Using these kinds of databases are supported for unattended installation of Citrix Presentation Server. For preparation only the required helper programs are needed. No DNS file is needed for a local database installation.
The farm and the database are created during the first part of the process. First of all, you need to specify the database choice. Therefore the parameter CTX_MF_FARM_DB_CHOICE is also used. For local databases the value should be Local.
Secondly when using the local value for this parameter the CTX_MF_LOCAL_DATABASE is also required. If using an Access database the value should be Access and when using the MSDE the value should be SQL.
If you are using MSDE you can, if you wish, fill in the instance name of the database with the parameter CTX_MF_MSDE_INSTANCE_NAME (default is Citrix_Metaframe). The parameters CTX_MF_NEW_FARM_NAME, CTX_MF_USER_NAME, CTX_MF_DOMAIN_NAME and CTX_MF_FARM_SELECTION are the other required parameters (already explained at the create farm with SQL section in this article).
Joining a farm using a local database also requires some different parameters. Basically these parameters point to the server hosting the database for this farm.
To connect to this machine a user account should be provided with access to this server. This information needs to be filled in using the parameters CTX_MF_INDIRECT_JOIN_USER_NAME and CTX_MF_INDIRECT_JOIN_DOMAIN_NAME. Logically also the server hosting the database should be specified. Therefore the parameter CTX_MF_JOIN_FARM_SERVER_NAME is available. If the default IMA port is changed on your infrastructure you could define the parameter CTX_MF_JOIN_FARM_SERVER_PORT with the right value. Also the parameters CTX_MF_FARM_SELECTION with value Join and CTX_MF_JOIN_FARM_DB_CHOICE=Indirect are required for a successful installation.
With both scripts the same other parameters can be used to customize the application to your needs.
Citrix offers lots of possibilities for a silent installation of Citrix Presentation Server. Within this series I described how to create a full silent installation for Citrix Presentation server in combination with an SQL database. Also all useful parameters were explained with their values, so you can create your own customized unattended installation.
The content of this two part article is based on my professional experience and the best practices we use within Login Consultants. Feel free to give any feedback or comments!