# Updating Using the Azure Script

> Update Orchestrator to a new version using the Azure script, including prerequisite steps and upgrade considerations.

:::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.**
:::
:::important
* If you have not previously done so (e.g.
upgrading from `v2019.10`), ensure that you have created the app services for:
+ Identity Server
+ Webhooks Service
+ Resource Catalog Service
* Before running the
`Publish-Orchestrator.ps1` script, make sure you remove the AzureRM PowerShell module. We recommend using Az as an alternative. Having both AzureRM and Az modules installed at the same time is not supported.
* If the desired Az version is not detected, and
AzureRM is present when running the script, you are prompted to confirm the AzureRM removal even on unattended installations.
* Upgrading to Az v6.0.0 when any previous version
of the module is in use causes the following message to pop up: `WARNING: The version 'x.x.x' of module 'Az.&lt;Name&gt;' is currently in use. Retry the operation after closing the applications.` In order to solve this problem, make sure to execute `Publish-Orchestrator.ps1` in a new PowerShell session.
:::

1. Download the latest available `UiPathOrchestrator.zip` archive.
2. Unblock the `UiPathOrchestrator.zip` file using the PowerShell command `Unblock-File`. For example, `Unblock-File .\UiPathOrchestrator.zip`.
3. Unarchive `UiPathOrchestrator.zip`.
4. Run the `Publish-Orchestrator.ps1` script in PowerShell on the Orchestrator instance you want to update, as shown below. Take into account that your UiPath.Orchestrator.dll.config (formerly web.config) settings are persisted if not explicitly specified as script parameters.
5. Run the `Publish-IdentityServer.ps1` script in PowerShell on your Identity Server instance, as shown below.
6. Run the `Publish-Webhooks.ps1` script in PowerShell on your Webhooks Service instance, as shown below.
7. Run the `Publish-ResourceCatalog.ps1` script in PowerShell on your Resource Catalog Service instance, as shown below.
8. Run the `MigrateTo-ResourceCatalog.ps1` script, in PowerShell, using the parameters described [here](https://docs.uipath.com/orchestrator/standalone/2023.10/installation-guide/resource-catalog-scripts#migrate-to-resource-catalog).
9. If you are updating a multi-node Orchestrator instance, flush all Redis cache keys, using the `FLUSHALL` or `FLUSHDB` command. More info on them is available [here](https://redis.io/commands/flushall) and [here](https://redis.io/commands/flushdb).
10. Open the web app in the Azure Portal, then navigate to **Configuration** &gt; **General settings** and check the following settings:
    * `Stack` should be set to `.NET Core`.
    * `Platform` should be set to `64 Bit`.
    * `Web sockets` should be set to `On` if you are not using the Azure SignalR Service
11. Start the Orchestrator app service. Enjoy using Orchestrator on your Azure Portal.
12. Restart the UiPath Robot service on all Robot machines you have connected to Orchestrator.

## Publish-Orchestrator.ps1 Update

After you have downloaded the latest `Publish-Orchestrator.ps1` script to your local machine, run the script as follows to update Orchestrator:

```
.\Publish-Orchestrator.ps1 -action Update -package .\UiPath.Orchestrator.Web.zip -stopApplicationBeforePublish -azureSubscriptionId "<azure_subscription_id>" -azureAccountTenantId "<azure_account_tenant_id>" -azureAccountApplicationId "<azure_application_id>" -azureAccountPassword "<azure_account_password>" -resourceGroupName "<resourcegroup_name>" -appServiceName "<app_service_name>" -Verbose
```

To include the Test Automation, Insights, and Update Server modules, run the script as follows:

```
.\Publish-Orchestrator.ps1 -action Update -package .\UiPath.Orchestrator.Web.zip -stopApplicationBeforePublish -azureSubscriptionId "<azure_subscription_id>" -azureAccountTenantId "<azure_account_tenant_id>" -azureAccountApplicationId "<azure_application_id>" -azureAccountPassword "<azure_account_password>" -resourceGroupName "<resourcegroup_name>" -appServiceName "<app_service_name>" -testAutomationFeatureEnabled -insightsFeatureEnabled -updateServerFeatureEnabled -Verbose
```

## Publish-IdentityServer.ps1 Update

:::important
If you have not previously done so (e.g. upgrading from `v2019.10`), ensure that you have created the app service for [Identity Server](https://docs.uipath.com/orchestrator/standalone/2023.10/installation-guide/the-azure-app-service-installation-script#azure-app-service-installation). Make sure the `Publish-IdentityServer.ps1` script targets the Identity Server app service.
:::

After you have downloaded the latest `Publish-IdentityServer.ps1` script to your local machine, run the script as follows to update the Identity Server Azure web app:

```
.\Publish-IdentityServer.ps1 ` -action Update ` -azureSubscriptionId "<azure_subscription_id>" ` -azureAccountTenantId "<azure_tenant_id>" ` -azureAccountApplicationId "<azure_application_id>" ` -azureAccountPassword "<azure_account_password>" ` -orchestratorURL "https://<orchestratorURL>" ` -identityServerUrl "https://<IdentityServerURL>/identity" ` -orchDetails @{ resourceGroupName = "<resourcegroup_name>"; appServiceName = "<appservice_name>"; targetSlot = "Production" } ` -identityServerDetails @{ resourceGroupName = "<resourcegroup_name>"; appServiceName = "<appservice_name>"; targetSlot = "Production" } ` -package "UiPath.IdentityServer.Web.zip" ` -cliPackage "UiPath.IdentityServer.Migrator.Cli.zip" ` -resourceCatalogUrl "<resource_catalog_url>" ` -stopApplicationBeforePublish ` -unattended
```

## Publish-Webhooks.ps1 Update

:::important
If you have not previously done so (e.g. upgrading from `v2019.10`), ensure that you have created the app service for the Webhooks Service. Make sure the `Publish-Webhooks.ps1` script targets the Webhooks app service.
:::

After you have downloaded and extracted the latest `UiPath.WebhookService.Web.zip` archive to your local machine, run the `Publish-Webhooks.ps1` script as follows to update the Webhooks Service Azure web app:

```
.\Publish-Webhooks.ps1 ` -action Update ` -package "UiPath.WebhookService.Web.zip" ` -azureAccountApplicationId "<azure_application_id>" ` -azureAccountPassword "<azure_account_password>" ` -azureSubscriptionId "<subscription_id>" ` -azureAccountTenantId "<azure_tenant_id>" ` -resourceGroupName "<resourcegroup_name>" ` -appServiceName "<appservice_name>" ` -stopApplicationBeforePublish
```

## Publish-ResourceCatalog.ps1 Update

After you have downloaded the latest `Publish-ResourceCatalog.ps1` script to your local machine, run the script as follows to update Resource Catalog Service:

```
.\Publish-ResourceCatalog.ps1 -action update -package "UiPath.ResourceCatalogService-Win64.zip" -azureSubscriptionId "<azure_subscription_id>" -azureAccountTenantId "<azure_account_tenant_id>" -azureAccountApplicationId "<azure_application_id>" -azureAccountPassword "<azure_account_password>" -resourceGroupName "<resourcegroup_name>" -appServiceName "<appservice_name>"
```

:::important
The `MigrateTo-ResourceCatalog.ps1` script must be run when upgrading Resource Catalog Service.
:::
