---
title: Install Broker on Windows
description: Install OpenLM Broker for OpenLM Platform on a Windows license server with the installer or silently, and connect it with its authorization file.
product: OpenLM Platform
---

To collect license usage from a Windows license server, install the Broker on the license server, or next to it, and connect it to OpenLM Platform with its authorization file. Download the OpenLM Broker installer, `OpenLM_Broker_<version>.msi`, (see [Download the installer](https://www.openlm.com/documentation/cloud/getting-started/install-broker/index#download-the-installer)). Then install the Broker with the installer, or silently from the command line. The installer includes a Java runtime.

## Before you begin

Confirm these prerequisites:

- Verify that the license server machine meets the [system requirements](https://www.openlm.com/documentation/cloud/deployment-operations/system-requirements/?component=broker).
- Plan one Broker per license server. One Broker can monitor several license managers on its own machine, but each additional license server needs its own Broker.
- Confirm that you have the [authorization file](https://www.openlm.com/documentation/cloud/getting-started/authorize-components) for this Broker.
- Confirm network access from the Broker machine to your license manager server and to the internet (port 443). If the Broker can't reach the internet directly, connect it through an HTTP or HTTPS proxy, with optional credentials. See [Proxy Configuration](https://www.openlm.com/documentation/cloud/data-collection/openlm-broker/#broker-settings).

## Install with the installer

To install the Broker with the installer:

1. Open the installer file, `OpenLM_Broker_<version>.msi`.

   *Windows Installer prepares the installation*

2. On the **Welcome** page, select **Next**.

   *The Welcome page*

3. On the **License Agreement** page, select **I Agree**, and then select **Next**.

   **Next** becomes available after you select **I Agree**. To leave the installer without changes, select **Cancel**.

   *The License Agreement page, with I Agree selected*

4. On the **Java Selection** page, select **Next** to use the Java runtime that comes with the installer, **Install Broker with Java 11 OpenJDK**.

   To use a Java runtime that is already installed, select **Already have Java 11 installed?**, browse to its folder, and then select **Next**. The installer accepts Java 8, Java 11, and any version higher than 11. On a machine without Java, the installer selects the bundled runtime for you.

   *The Java Selection page*

5. On the **Select Installation Folder** page, keep the default folder, `C:\Program Files\OpenLM\OpenLM Broker\`, and select **Next**.

   To install in another folder, select **Browse** first.

   *The Select Installation Folder page*

6. On the **Confirm Installation** page, select **Next** to start the installation.

   *The Confirm Installation page*

7. Wait for the installation to finish.

   *The installation in progress*

8. Select **Close**.

   Then continue in your browser. When the installation finishes, the installer opens the [Broker UI](https://www.openlm.com/documentation/cloud/getting-started/install-broker/index#the-broker-ui) in your default browser on the **Broker Initial Setup** page. The Broker service serves the Broker UI, at `http://localhost:5090` for the first Broker on a machine.

   *The installer's last page, in front of the Broker UI*

9. On the **Broker Initial Setup** page, select **Continue** under **OpenLM Cloud Account**.

   To configure the Broker later instead, select **skip Broker initial setup**.

   *Select OpenLM Cloud Account to connect the Broker to OpenLM Platform*

10. Select **Import Broker Authorization File**, and then select the authorization file you generated for this Broker.

    The file fills in **Url**, **Client ID**, and **Client Secret**, including the address of your OpenLM Platform region. You can also enter the values by hand.

    *Import the authorization file to fill in the connection*

11. Select **Continue**.

    The Broker tests the connection to OpenLM Platform, then scans the machine for license managers and sets up the ones it finds.

    *The last Broker Initial Setup page*

12. Select **OpenLM User Interface** to open the **Broker Hub** in OpenLM Platform.

13. Select **Pending Brokers**.

14. Select the Broker.

15. Select **Approve Brokers**.

    Then connect your license managers and approve them, as described in [Verify the connection](https://www.openlm.com/documentation/cloud/getting-started/install-broker/index#verify-the-connection).

## Silent installation

To deploy the Broker to many license servers, or from a script, install it silently: `msiexec` installs the Broker with the options you pass on the command line, without the installer pages.

A silent installation also scans the machine for license managers. When it starts the Broker service, the installer runs `detect.bat`, the Windows counterpart of `detect.sh`, from the installation folder. To start from a prepared configuration file, pass it in `BROKERXML`.

To install the Broker silently:

1. Open a command prompt as an administrator, in one of these ways:

   - In the taskbar search field, enter `cmd`. In the results, open the context menu of **Command Prompt**, and select **Run as administrator**.
   - Open the context menu of `C:\Windows\System32\cmd.exe`, and select **Run as administrator**.
   - Open the context menu of **Start**, and select **Windows PowerShell (Admin)**.

2. Run `msiexec` with the installation options, in this format:

   ```bash
   msiexec /i "<broker-msi-path>" /qn TRANSFORMS=":I01" MSINEWINSTANCE="1" <parameters>
   ```

   Replace `<broker-msi-path>` with the full path of the Broker MSI file, and `<parameters>` with the parameters you need. `TRANSFORMS` sets the instance ID. For each additional Broker on the same machine, use the next ID, for example `:I02` for the second one, and keep `MSINEWINSTANCE="1"`. A machine can run up to 10 instances, with instance IDs from `:I01` to `:I10`.

   Add any of these parameters:

   - `INSTALLLOCATION`: the installation folder. The installer creates the folder if it doesn't exist. Without this parameter, the installer uses the default folder, `C:\Program Files\OpenLM\OpenLM Broker\`.
   - `BROKERXML`: a `broker.xml` file to copy into the installation folder and use as the starting configuration.
   - `AUTH_FILE_PATH`: the full path of the [authorization file](https://www.openlm.com/documentation/cloud/getting-started/authorize-components) for this Broker. The installer imports the file, so the Broker connects to OpenLM Platform without **Broker Initial Setup**. Use a full path, because the installer resolves a relative path against the installation folder. Plain and encrypted authorization files both work.
   - `USE_OPENLM_JAVA`: `"true"`, the default, runs the Broker with the Java runtime that comes with the installer. Set it to `"false"` to use a Java runtime that is already installed, and give its folder in `JAVA_PATH`.
   - `JAVA_PATH`: the folder of the installed Java runtime to use when `USE_OPENLM_JAVA` is `"false"`. If it's missing, or points at an incompatible Java version, the installation fails.

   :::note
   The installation reports success even when the authorization file import fails, for example because of a mistyped path or an unreadable file. Check the import after the installation, as described in step 4. A successful import needs no restart.
   :::

   For example, to install the first instance with the bundled Java runtime, import an authorization file, and write a log file:

   ```bash
   msiexec /i "C:\Users\admin\Desktop\OpenLM_Broker_<version>.msi" /qn TRANSFORMS=":I01" MSINEWINSTANCE="1" USE_OPENLM_JAVA="true" AUTH_FILE_PATH="C:\Users\admin\Desktop\broker-auth.json" /l*v "C:\Users\admin\Desktop\log.txt"
   ```

3. Press **Enter** to run the command.

   The installation runs in the background, and the command prompt returns immediately.

   *A silent installation command in an administrator command prompt*

4. When the installation finishes, confirm the result:

   - The log file contains `MainEngineThread is returning 0`.
   - The **OpenLM Broker** service runs in Windows Services.
   - If you used `AUTH_FILE_PATH`, `logs\auth_import.log` in the installation folder ends with `auth_import SUCCESS (exit=0)`.

5. If `auth_import.log` ends with `auth_import FAILED`, import the authorization file again, and then restart the service:

   ```bat
   "C:\Program Files\OpenLM\OpenLM Broker\auth_import.bat" "C:\Users\admin\Desktop\broker-auth.json"
   net stop "OpenLM Broker"
   net start "OpenLM Broker"
   ```

## Upgrade a Broker silently

To upgrade a Broker silently, run the installation command with the installer for the version you upgrade to and the instance ID of the Broker you upgrade.

The installer finds an earlier version among the Broker instances registered on the machine, by the instance ID in `TRANSFORMS`, not by the contents of the installation folder, and upgrades that instance in place.

If the instance already has the same version or a higher one, the installation stops with an error instead, so check the installed version first in scripts that redeploy. With the same version, `msiexec` exits with code 1639 and logs `MSINEWINSTANCE requires a new instance that is not installed.`

## Connect to a self-hosted OpenLM Platform

To connect the Broker to a self-hosted OpenLM Platform, generate the authorization file in your own OpenLM Platform. The file carries the address of your OpenLM Platform. Then connect the Broker in one of these ways:

- **In the installation wizard**: on **Broker Initial Setup**, select **Continue** under **OpenLM Cloud Account**, because that option is the one for OpenLM Platform. **Local OpenLM Installation** is for OpenLM SLM. Then select **Import Broker Authorization File**.
- **In a silent installation**: pass the file in `AUTH_FILE_PATH`.

If the Broker machine doesn't trust the certificate of your OpenLM Platform, import the certificate first. See [Import a TLS certificate for the Broker](https://www.openlm.com/documentation/cloud/getting-started/install-broker/manage#import-a-tls-certificate-for-the-broker). To check the connection, select **Check Connectivity** on the **OpenLM Servers** screen of the [Broker UI](https://www.openlm.com/documentation/cloud/getting-started/install-broker/index#the-broker-ui).

## Check the Broker

After the installation, approve the Broker in OpenLM Platform, and then connect and approve its license managers, as described in [Verify the connection](https://www.openlm.com/documentation/cloud/getting-started/install-broker/index#verify-the-connection). If the Broker doesn't appear under **Pending Brokers**, see [Why doesn't the new Broker appear in Pending Brokers?](https://www.openlm.com/documentation/cloud/getting-started/install-broker/troubleshooting#why-doesnt-the-new-broker-appear-in-pending-brokers).

:::note[Next step]
Continue to [Connect your first license manager](https://www.openlm.com/documentation/cloud/getting-started/connect-first-license-manager). Then continue to [Install Workstation Agent](https://www.openlm.com/documentation/cloud/getting-started/install-workstation-agent/index) to collect activity data from end-user machines.
:::
