Wilco van Bragt - LinkeIn Wilco van Bragt - Twitter rssa 

How to install Citrix Presentation Server unattended? Part 2


In the first article I described the automated creation of the Datastore database followed by the creating a ODBC connection file. Also the required helper applications like MSI Installer 3.1 and Java Runtime Environment were build to silent installations. In the first article we started with the parameters of Citrix Presentation Server installation concerning the database. In this article I continue with the parameters for creating and joining the farm. Also using a local database will be described in this second part.

Create Farm parameters



In the first article we already described the parameters need to create the datastore within the predefined database. For the first server, which is also creating the farm the following parameters are necessary:


With this parameter with the value create the installation knows that this is the first server and that the farm should be created. 


This parameter specifies the farm name for the Presentations server you are installing. This is a required parameter when installing the first server.


With this parameter the zone name can already 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 filled in for becoming 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. The parameter is required.


Within Citrix Presentation Server there is the possibility 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 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 determinates 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.

Default value is CopyUsers when this parameters is not specified.




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 with Remote Control the remote keyboard and mouse may be used during Remote Control. Pleas pay attention that the value No allows usage of the remote keyboard and mouse.

With the last two parameters the behavior of Remote Control can be configured. CTX_MF_SHADOW_PROHIBIT_NO_NOTIFICATION configures if users are notified when Remote Control is being used. No allows no notification, Yes takes cares for that notification is always used. CTX_MF_SHADOW_PROHIBIT_NO_LOGGING configures the logging of the remote control sessions. No allows logging, Yes takes care that logging can not be used.



If IIS is installed on the same machine as a Presentation Server (which is not advisable) both IIS as the Citrix XML service use the same port. If the situation is there with the parameter CTX_MF_XML_CHOICE you can specify is 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 specify 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 being used. With this parameter you can specify which you would like to install. Values could 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 could be used. I advise not to use this parameter and configure it later via policies, so you are more flexible in your configuration.


Specifies whether or not to use ICA Client Distribution wizard within your installation. Mostly Citrix Administrator chooses to use another distribution mechanism or add these clients later to the Presentation Servers.


With this parameter you could exactly 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 accomplish the silent installation finaly the standard MSIEXEC command should or could 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. Incluse /qr for silent running the MSI file.

Above we mentioned the most used parameters, although there are a few more you do not need those normally. Combining the parameters the silent installation for creating the farm could be like the example in figure 1.


Figure 1: Example silent installation for creating Citrix farm

Join Farm parameters

When the first server is in up- and running more Citrix Presentation servers can be added to the farm. Logically this part can also be made unattended. Because the database already exists in this script you only need to create the DSN file (exactly the same as at the create script) and installing the required helper applications.

For the Presentation Server installation some special parameters are available for accomplishing 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 create 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.

A join installation could be filled in like figure 2.


Figure 2: Example silent installation for joining Citrix farm

Parameters for creating a farm with a local database

In small environments you could choose not to use a third-party database (like SQL or Oracle) but an Access or MSDE database. Also using this kind of databases are supported for an 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.

In the first part also the farm and the database is created. 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 a 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 would 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 are pointing 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.

At both scripts the same other parameters can be used to customize the application to your needs.



Citrix offers lots of possibilities for installing Citrix Presentation server silent. With this article in combination with the first article I described how to create a full silent installation for Citrix Presentation server in combination with a SQL database. Also all useful parameters are explained with their values, so you can create your own to your needs customized unattended installation.


Article previous published at MSTerminalServices.org.