XenApp Server Agent Command Line Options

FlexNet Manager Suite (Cloud)

XenApp server agent (FnmpXenAppAgent.exe) is a command line tool which runs regularly on a Citrix XenApp server (for Citrix Virtual Apps) to determine which end-users have the right to run applications through that server. The data it collects is sent back to FlexNet Manager Suite and processed further once the inventory import process runs. Here are the details for manual operation from the command line, or configuring a scheduled task.

FnmpXenAppAgent.exe [options...]


-d connection
-f site_name_override
-i true/false

-o output_file
-r true/false
-s servers
-t timeout

-v 0|1


Type Description
-d connection A database connection string to your staging database. Refer to http://www.connectionstrings.com/sql-server-2008 for some examples.
Note: Do not use the -d option and the -o option at the same time.
-f site_name_override Force an override of the default Citrix Virtual Apps farm/site name.
-h Displays usage for the XenApp server agent.
-i true/false (Default false.) Ignore errors. Used only for debugging purposes so that the adapter runs end-to-end and logs all issues in the log file (in the same directory as the agent executable).
-o output_file The full path of a file to store the output of the XenApp server agent as it runs. Use such an output file for debugging purposes, to see the content collected by the agent. The output file is not required for normal operations (the collected data is uploaded directly to the staging database).
Note: Do not use the -d and -o options at the same time.
-r true/false
Option only for Citrix XenApp 7.5 (or later) or Citrix Virtual Apps 7.1808 (or later). Values may be:
  • false - (default) Disable remote registry environment variable resolution, and enable local variable resolution on the XenApp server.
  • true - Direct the XenApp server agent to remotely read the Windows registry on the Citrix Virtual Apps client machine, using values there to resolve environment variables embedded in file paths.
As background, when a file path in Citrix contains a Windows environment variable (for example, %ProgramFiles%), the variables can have different values on the server and on the client device. This switch lets you choose the value that is resolved locally on the XenApp server, or choose the environment variables remotely read from the registry of the Citrix Virtual Apps client device.

Resolving environment variables using this command requires both of the following:

  • The Remote Registry service must be started (status of Running) on the client machine in order to resolve remote environment variables
  • The account executing the XenApp server agent must exist on the Citrix Virtual Apps client machine to properly resolve environment variables using this command.
-s servers

Option only for Citrix XenApp 7.5 (or later) or Citrix Virtual Apps 7.1808 (or later). For both 6.5 (which does not support this option) and 7.5 or later (where the option may be omitted), the XenApp server agent assumes that it is running on the XenApp server from which it is to collect inventory. In both systems, therefore, you may handle multiple XenApp servers by installing the XenApp server agent on each one. When the agent is installed locally on the XenApp server from which it gathers inventory, omit this option.

In Citrix XenApp 7.5 (or later) or Citrix Virtual Apps 7.1808 (or later), you have the option for a XenApp server agent installed on a single XenApp server to collect the inventory for all XenApp servers in a server farm. To do this, create a comma-separated list of fully-qualified domain names or IP addresses for all the servers from which this agent should collect inventory. Inside such a list, use the keyword localhost to include the server on which the XenApp server agent is installed.
Note: The account executing the XenApp server agent must have permissions to connect to each of the servers named in your list.
-t timeout The timeout period (in seconds) when connecting to the staging database (default 600 seconds). If the timeout expires, the upload fails, and the data collected from the XenApp servers on this occasion is lost. An entry is made in the log file (in the same directory as the agent executable) to record the failed connection.
-v 0|1 (Default 1). Sets logging messages to verbose mode. For less information, specify -v 0.


The following examples are split across several lines for readability. Run each example on a single command line.

The examples depend on which form of authentication you have chosen to use:
  • Windows Authentication, using a Windows (Active Directory) account that is recognized by the SQL Server hosting your staging database
  • A separate SQL Server account specified in the database connection string.
(You decided on your approach in Installing the XenApp Server Agent.) These two approaches are mutually exclusive, so each example applies to one or the other, but not both.
Use Windows Authentication (for the account running the scheduled task, or the command line) to connect to the staging database with a ten minute (600 second) timeout:
        -d "Server=;Database=MyStaging;Trusted_Connection=yes"
Using SQL Server authentication, identify a particular user name and password to connect to the staging database:
        -d "Data Source=;Initial Catalog=MyStaging; User
Using Windows Authentication (with the relevant account known to both SQL Server hosts) to collect inventory in XenApp 7.5 (or later) or Citrix Virtual Apps 7.1808 (or later) from two servers, saving the collected data in an XML file for debugging purposes:
          -s "localhost, xda01.fqdn.com"
        -o "c:\XenAppTest.xml"

FlexNet Manager Suite (Cloud)