# Deploy with msiexec (/enterprise-offline/license-server/deploy-msiexec)

Use `msiexec` for scripted installs, imaging, and deployment tools that run command lines.

## Installer properties [#installer-properties]

The installer points each workstation at your license service. Provide these properties on every installation and every upgrade.

| Property         | Required | Default      | Description                                                               |
| ---------------- | -------- | ------------ | ------------------------------------------------------------------------- |
| `SERVER_HOST`    | Yes      | None         | Host name of your license service, for example `license-api.example.com`. |
| `SERVER_PORT`    | Yes      | `443`        | HTTPS port of the license service.                                        |
| `SERVER_PRODUCT` | Yes      | `SonicCloud` | Product name. Keep the default.                                           |
| `SERVER_USE_TLS` | No       | `true`       | Keep `true`.                                                              |

<Callout title="Test before you deploy">
  From a test workstation, confirm that the license service host name resolves,
  that port 443 is reachable and that the certificate is trusted. If you use an
  internal certificate authority, install its root certificate on the
  workstation first.
</Callout>

Run commands from an elevated prompt.

## Install [#install]

<Tabs items={['Interactive', 'Silent']}>
<Tab value="Interactive">

```bat
msiexec /i "SonicCloud.26.10.Installer.x64.msi" SERVER_HOST=license-api.example.com SERVER_PORT=443 SERVER_PRODUCT=SonicCloud SERVER_USE_TLS=true
```

</Tab>
<Tab value="Silent">

```bat
msiexec /i "SonicCloud.26.10.Installer.x64.msi" SERVER_HOST=license-api.example.com SERVER_PORT=443 SERVER_PRODUCT=SonicCloud SERVER_USE_TLS=true /qn /norestart /l*v "%TEMP%\SonicCloud-install.log"
```

</Tab>
</Tabs>

## Upgrade [#upgrade]

Run the new installer with the same properties.

## Uninstall [#uninstall]

```bat
msiexec /x "SonicCloud.26.10.Installer.x64.msi" /qn /norestart
```

## Confirm a workstation [#confirm-a-workstation]

1. Open SonicCloud. Close and reopen it if it was running during installation.
2. In the admin console, confirm the workstation appears with an active seat.

## Exit codes [#exit-codes]

| Code   | Meaning                                                                                |
| ------ | -------------------------------------------------------------------------------------- |
| `0`    | Success.                                                                               |
| `3010` | Success, restart required.                                                             |
| `1603` | Installation failed. Check the log, and confirm all required properties were supplied. |
| `1618` | Another installation is running. Retry later.                                          |
| `1639` | Invalid command line. Check quoting.                                                   |

Installer file names change with each release. Use the file name of the installer you received.
