# Install from the command line

> Install the UiPath desktop clients from the command line in interactive or silent mode, using the supported UiPathPlatform.msi parameters and configuration files.

You can install the UiPath desktop clients with the UiPath Platform Installer (`UiPathPlatform.msi`) from the command line, in either full interactive or fully silent mode, using the supported MSI parameters. Silent mode is intended for unattended deployments. For the interactive installation, see [Install the desktop clients](install.md).

## Syntax

```
msiexec /i UiPathPlatform.msi [PARAMETER=value ...] [/qn]
```

Parameters are passed as `PARAMETER=value` pairs after the package path. Enclose values that contain spaces in double quotes.

## Installation modes

| Mode | Switch | Description |
|---|---|---|
| Full interactive | *(omit)* | Runs the installation wizard with full UI. The user sees progress and any prompts. |
| Fully silent | `/qn` | Runs with no user interface and no dialogs. Required for unattended deployments. |

:::note
Use `/qn` for unattended installs. Partial-UI modes (`/qb`, `/qr`) are not supported for unattended scenarios, because the installer may still display blocking dialogs.
:::

## Supported parameters

| Parameter | Values | Default | Description |
|---|---|---|---|
| `FORCE_PERUSER` | `1` | — | Forces a per-user installation even when the current user is an administrator. |
| `CHANNEL` | Channel name (for example, `sts`) | `sts` | [Update channel](../admin-guide/update-channels.md) the platform follows. |
| `PLATFORM_CONFIGURATION_FILE` | Absolute file path | — | Path to a products configuration file applied during installation. |
| `UPDATER_CONFIGURATION_FILE` | Absolute file path | — | Path to an updater-specific configuration file applied during installation. |
| `TELEMETRY_ENABLED` | `1` = enabled, `0` = disabled | enabled | Controls whether telemetry data is sent. |
| `INSTALLER_LANGUAGE` | `de`, `en`, `es`, `es-MX`, `fr`, `ja`, `ko`, `pt-BR`, `pt`, `ro`, `ru`, `tr`, `zh-CN`, `zh-TW` | System language | UI language of the installation wizard. No effect in silent mode. |

## Installation scope

The installer defaults to a per-user installation. When run by an administrator in interactive mode, it is automatically promoted to a per-machine installation.

:::note
UiPath recommends a per-machine installation, which keeps the desktop clients available to all users and managed centrally.
:::

- To force per-user even for an administrator, pass `FORCE_PERUSER=1`.
- For a per-machine installation, run msiexec from an elevated (administrator) command prompt. A silent installation is not automatically promoted to per-machine.

## Examples

### Interactive installation

Default channel, full wizard:

```
msiexec /i UiPathPlatform.msi
```

Specific channel and configuration file:

```
msiexec /i UiPathPlatform.msi CHANNEL=sts PLATFORM_CONFIGURATION_FILE="C:\Config\platformConfig.json"
```

Force per-user for an administrator:

```
msiexec /i UiPathPlatform.msi FORCE_PERUSER=1
```

### Silent installation

Per-user, default channel:

```
msiexec /i UiPathPlatform.msi /qn
```

Silent install with a specific channel, configuration file, and telemetry disabled:

```
msiexec /i UiPathPlatform.msi CHANNEL=sts PLATFORM_CONFIGURATION_FILE="C:\Config\platformConfig.json" TELEMETRY_ENABLED=0 /qn
```

Clean install behind a corporate proxy (proxy supplied through the updater configuration file):

```
msiexec /i UiPathPlatform.msi UPDATER_CONFIGURATION_FILE="C:\Config\updaterConfig.json" /qn
```

## Configuration files

### platformConfig.json (`PLATFORM_CONFIGURATION_FILE`)

Selects which [desktop clients](introduction.md#supported-desktop-clients) to install and any product-specific parameters.

```json
{
  "Packages": [
    {
      "PackageName": "Studio",
      "InstallRequested": true,
      "Parameters": {
        "INSTALL_ROBOTJS": "true",
        "SERVICE_URL": "https://cloud.uipath.com/org/tenant/orchestrator_"
      }
    },
    {
      "PackageName": "BrowserExtensions",
      "InstallRequested": true,
      "Parameters": {
        "INSTALL_CHROME_EXTENSION": "true",
        "INSTALL_EDGE_EXTENSION": "true"
      }
    }
  ]
}
```

### updaterConfig.json (`UPDATER_CONFIGURATION_FILE`)

Configures the updater. This is where proxy settings are provided. On a per-machine installation the proxy is persisted for system-wide use.

Minimal proxy configuration:

```json
{
  "Proxy": {
    "ProxyAddress": "http://proxy.corp:8080",
    "BypassLocalAddresses": true
  }
}
```

Proxy with authentication and a bypass list:

```json
{
  "Proxy": {
    "ProxyAddress": "http://proxy.corp:8080",
    "BypassList": "localhost;*.corp.local",
    "BypassLocalAddresses": true,
    "UserName": "proxyuser",
    "Password": "proxypassword",
    "Domain": "CORP"
  }
}
```

Alternatively, a proxy auto-config (PAC) script can be used instead of a fixed address:

```json
{
  "Proxy": {
    "ScriptAddress": "http://proxy.corp/proxy.pac"
  }
}
```

:::note
`ProxyAddress` and `ScriptAddress` are mutually exclusive. If `UserName` is set, `Password` must also be set.
:::
