# Updating Using the Windows Installer

> :::warning
**Please keep in mind that this information pertains to the version that you are upgrading to, NOT to the version that you are upgrading from. As such, make sure that you read the correct details before proceeding.**
:::

:::warning
**Please keep in mind that this information pertains to the version that you are upgrading to, NOT to the version that you are upgrading from. As such, make sure that you read the correct details before proceeding.**
:::

## Overview

The update process can be different depending on whether:

* the previous version was set up with [the Windows installer](https://docs.uipath.com/orchestrator/standalone/2023.10/installation-guide/updating-using-the-windows-installer#previous-version-installed-with-windows-installer);
* your Orchestrator instance is in a [multi-node environment](https://docs.uipath.com/orchestrator/standalone/2023.10/installation-guide/updating-using-the-windows-installer#multi-node-environment).
  :::important
  * Before upgrading, please visit the [Hardware Reqirements](https://docs.uipath.com/orchestrator/standalone/2023.10/installation-guide/orchestrator-hardware-requirements#hardware-requirements), [Software Reqirements](https://docs.uipath.com/orchestrator/standalone/2023.10/installation-guide/orchestrator-software-requirements#software-requirements) and [prerequisites](https://docs.uipath.com/orchestrator/standalone/2023.10/installation-guide/orchestrator-prerequisites-for-installation#prerequisites-for-installation) pages, for the version you are upgrading to, as they may have changed. You need to ensure you meet all requirements prior
  to upgrade.
  * After upgrading, we recommend that you restart all your robots in order for them to apply the new settings.
  * If your packages (activities and/or workflows) are stored in a shared folder, please note that the `UiPathOrchestrator.msi` installer requires Write access to the aforementioned directory.
  * Starting with v2020.4, there are more requirements for the SSL certificate of Orchestrator. Make sure you meet all [prerequisites](https://docs.uipath.com/orchestrator/standalone/2023.10/installation-guide/orchestrator-prerequisites-for-installation#prerequisites-for-installation). For how to change your existing certificate, see [Using a Certificate for the HTTPS Protocol](https://docs.uipath.com/orchestrator/standalone/2023.10/installation-guide/using-a-certificate-for-the-https-protocol#using-a-certificate-for-the-https-protocol)
  * Double-check the selected installation path. Moving an installation from one location to another post-install is not supported.
  * It is recommended to preserve the previous Orchestrator Application Pool identity type for Identity Server and Webhooks as
  well. Otherwise, issues may occur while accessing the SQL server.
  * If you are considering installing Insights, make sure that you select the `db_owner` role as this is required when you configure the Insights SQL Server configuration.
  * If you upgrade from a version older than 2021.10 that has the Windows Authentication option selected, make sure to run the installer as an AD user.
  :::

## Previous Version Installed With Windows Installer

To update Orchestrator from a version that was previously installed using the Windows installer, perform the following actions:

1. Back up your automation packages, `web.config` and `UiPath.Orchestrator.dll.config` files, and database.
2. Run the `UiPathOrchestrator.msi` installer. Orchestrator is installed with the `UiPathOrchestrator` name, the database is updated, and all your data is migrated. You can also update the Identity Server and Update Server settings at this stage.
3. If you are using HAA for cache management, flush all HAA cache keys, using the following command: `redis-cli -h <hostname> -p <portnumber> -a <password> flushall`. Note that HAA uses port `10000` by default. For example:
   ```
   redis-cli -h redis-12345.c24.us-east-mz-1.ec2.cloud.redislabs.com -p 10000 -a xyz flushall
   ```
4. If you use Insights, make sure that you back up the Insights database prior to the Orchestrator upgrade .

## Multi-Node Environment

In a multi-node environment, upgrading is done differently on primary and secondary nodes. The below steps need to be taken to update all your nodes.

:::note
Although you provide the admin passwords at host and default tenant level, they are not taken into account. Use your previous passwords to log in.
:::

### Backup Files

Back up your automation packages, `web.config` and `UiPath.Orchestrator.dll.config` files, and database.

### Primary Node Installation

For **Attended Installation**: Run from the Admin Command Prompt the following command:

```
UiPathOrchestrator.msi OUTPUT_PARAMETERS_FILE=c:\temp\upgradeParams.json /lvx* upgrade.log
```

For **Unattended Installation**: Run from the Admin Command Prompt the following command:

```
UiPathOrchestrator.msi PUBLIC_URL=https://hostname.local APPPOOL_USER_NAME=serviceAccount APPPOOL_PASSWORD=pass OUTPUT_PARAMETERS_FILE=c:\temp\upgradeParams.json /lvx* upgrade.log /Q
```

Follow through with the installation as described [here](https://docs.uipath.com/orchestrator/standalone/2023.10/installation-guide/orchestrator-the-windows-installer#the-windows-installer).

:::important
Do not forget to back up the `upgradeParams.json` configuration file generated by the installation. This is to be used on subsequent, secondary node installations.
:::

### Secondary Nodes Installation

It is recommended to run the unattended install, using the `upgradeParams.json` configuration file produced on the primary node. Run from the Admin Command Prompt the following command:

```
UiPathOrchestrator.msi SECONDARY_NODE=1 PARAMETERS_FILE=c:\temp\upgradeParams.json /lvx* upgrade.log /Q
```

### Flush Keys

If you are using HAA for cache management, flush all HAA cache keys from an Active-Active database using the following command:

```
crdb-cli crdb flush --crdb-guid <guid> [ --no-wait ]
```

:::important
If you want to use the **Concurrent Runtime** license type, please note that when updating from a version older than v2020.4, if you have High-Density Robots set up, the number of runtimes per machine is automatically set to 1, and not the total number of Robots on that machine.
:::
