URI syntax includes the vmware-view URI scheme, a path part to specify the remote desktop or published application, and, optionally, a query to specify remote desktop or published application actions or configuration options.

URI Specification

Use the following syntax to create URIs to start Horizon Client.

vmware-view://[authority-part][/path-part][?query-part]

The only required element is the URI scheme, vmware-view. Because the scheme name is case-sensitive for some versions of some client operating systems, type vmware-view.

Important: In all parts, non-ASCII characters must first be encoded according to UTF-8 [STD63], and then each octet of the corresponding UTF-8 sequence must be percent-encoded to be represented as URI characters.

For information about encoding for ASCII characters, see the URL encoding reference at http://www.utf8-chartable.de/.

authority-part
Server address and, optionally, a user name, a non-default port number, or both. Underscores (_) are not supported in server names. Server names must conform to DNS syntax.

To specify a user name, use the following syntax.

user1@server-address

You cannot specify a UPN address, which includes the domain. To specify the domain, you can use the domainName query part in the URI.

To specify a port number, use the following syntax.

server-address:port-number
path-part
Remote desktop or published application. Use the remote desktop display name or published application display name. This value is the name that is specified in Horizon Administrator when the desktop or application pool was created. If the display name contains a space, use the %20 encoding mechanism to represent the space.
query-part
Configuration options to use, or the remote desktop or published application actions to perform. Queries are not case-sensitive. To use multiple queries, use an ampersand (&) between the queries. If the queries conflict, Horizon Client uses the last query in the list. Use the following syntax.
query1=value1[&query2=value2...]

Supported Queries

The following queries are supported for this type of Horizon Client. If you are creating URIs for multiple types of clients, such as desktop clients and mobile clients, see the installation and setup guide for each type of client system for the list of supported queries.

action
Table 1. Values That Can Be Used with the action Query
Value Description
browse Displays a list of available remote desktops and published applications hosted on the specified server. You are not required to specify a remote desktop or published application when using this action.
start-session Opens the specified remote desktop or published application. If no action query is provided and the remote desktop or published application name is provided, start-session is the default action.
reset

Shuts down and restarts the specified remote desktop or published application. Unsaved data is lost. Resetting a remote desktop is the same as pressing the Reset button on a physical PC.

restart Shuts down and restarts the specified remote desktop. Restarting a remote desktop is the same as the Windows operating system restart command. The operating system usually prompts the user to save any unsaved data before it restarts.
logoff Logs the user out of the guest operating system in the remote desktop. If you specify a published application, the action is ignored or the end user sees the warning message "Invalid URI action."
args
Specifies command-line arguments to add when the published application starts. Use the syntax args= value, where value is a string. Use percent encoding for the following characters:
  • For a colon (:), use %3A
  • For a back slash (\), use %5C
  • For a space ( ), use %20
  • For a double quotation mark ("), use %22

For example, to specify the filename "My new file.txt" for the Notepad++ application, use %22My%20new%20file.txt%22.

appProtocol
For published applications, valid values are PCOIP and BLAST. For example, to specify PCoIP, use the syntax appProtocol=PCOIP.
connectUSBOnInsert
Connects a USB device to the foreground remote desktop or published application when you plug in the device. This query is implicitly set if you specify the unattended query for a remote desktop. To use this query, you must set the action query to start-session or else not have an action query. Valid values are true and false. An example of the syntax is connectUSBOnInsert=true.
connectUSBOnStartup
Redirects all USB devices that are currently connected to the client system to the remote desktop or published application. This query is implicitly set if you specify the unattended query for a remote desktop. To use this query, you must set the action query to start-session or else not have an action query. Valid values are true and false. An example of the syntax is connectUSBOnStartup=true.
desktopLayout
Sets the size of the remote desktop window. To use this query, you must set the action query to start-session or not have an action query.
Table 2. Valid Values for the desktopLayout Query
Value Description
fullscreen Full screen on one monitor. This value is the default.
multimonitor Full screen on all monitors.
windowLarge Large window.
windowSmall Small window.
WxH Custom resolution, where you specify the width by height, in pixels. An example of the syntax is desktopLayout=1280x800.
desktopProtocol
For remote desktops, valid values are RDP, PCOIP, and BLAST. For example, to specify PCoIP, use the syntax desktopProtocol=PCOIP.
domainName
The NETBIOS domain name associated with the user who is connecting to the remote desktop or published application. For example, you might use mycompany rather than mycompany.com.
filePath
Specifies the path to the file on the local system that you want to open with the published application. You must specify the full path, including the drive letter. Use percent encoding for the following characters:
  • For a colon (:), use %3A
  • For a back slash (\), use %5C
  • For a space ( ), use %20

For example, to represent file path C:\test file.txt, use C%3A%5Ctest%20file.txt.

launchMinimized
Starts Horizon Client in minimized mode. Horizon Client remains minimized until the specified remote desktop or published application starts. The syntax is launchMinimized=true. You cannot use this query with the unattended query.
tokenUserName
Specifies the RSA or RADIUS user name. Use this query only if the RSA or RADIUS user name is different from the Active Directory user name. If you do not specify this query and RSA or RADIUS authentication is required, Horizon Client uses the Windows user name. The syntax is tokenUserName=name.
unattended
Creates a server connection to a remote desktop in kiosk mode. If you use this query, do not specify user information if you generated the account name from the MAC address of the client device. If you created custom account names in ADAM, such as names that begin with "custom-", you must specify the account information.
useExisting
If this option is set to true, only one Horizon Client instance can run. If users try to connect to a second server, they must log out of the first server, causing remote desktop and published application sessions to be disconnected. If this option is set to false, multiple Horizon Client instances can run and users can connect to multiple servers at the same time. The default is true. An example of the syntax is useExisting=false.
unauthenticatedAccessEnabled
If this option is set to true, the Unauthenticated Access feature is enabled by default. The Log in anonymously using Unauthenticated Access option is visible in the user interface and is selected. If this option is set to false, the Unauthenticated Access feature is disabled. The Log in anonymously using Unauthenticated Access setting is hidden and disabled. When this option is set to "", the Unauthenticated Access feature is disabled and the Log in anonymously using Unauthenticated Access setting is hidden from the user interface and disabled. An example of the syntax is unauthenticatedAccessEnabled=true.
unauthenticatedAccessAccount
If the Unauthenticated Access feature is enabled, sets the account to use. If Unauthenticated Access is disabled, then this query is ignored. An example of the syntax using the anonymous1 user account is unauthenticatedAccessAccount=anonymous1.