# Activation by Command Line

## Content

ComponentOne licenses can be activated and deactivated using the command line. This is useful for automated setups, build machines, and environments where a graphical user interface is not available.
This article covers command-line licensing for:

* Current ComponentOne products
* Older ComponentOne products that require compatibility licenses
* Legacy products that use the GrapeCity License Manager (GCLM) or earlier tools

## When to Use Command-Line Licensing

Use command-line licensing if you:

* Need to automate license activation or deactivation
* Are working on build or test machines
* Do not have access to a graphical user interface
* Prefer scripting over interactive tools

For interactive scenarios, using the **MESCIUS License Manager** is recommended.

## Command-Line Licensing for Current ComponentOne Products

Current ComponentOne product versions support command-line licensing using the ComponentOne command-line licensing tool.
**Install the Command-Line Licensing Tool**
If a ComponentOne product is already installed, the command-line licensing tool is already available on the system.
If no ComponentOne product is installed, install the tool using NuGet. A .NET 6 or later SDK is required.
`dotnet tool install -g sa3client`

### Activate a License

To activate a license, run:
`sa3client activate <serial-key>`
Serial keys are provided in the following format:
`PREFIX-0000-0000-0000-0000-000`
Hyphens are optional.

### Deactivate a License

A license must be activated before it can be deactivated.
`sa3client deactivate <serial-key-prefix>`
If multiple licenses share the same prefix, include additional digits to uniquely identify the license.

### Connectivity Requirement

Command-line activation and deactivation require access to the ComponentOne licensing service:
`https://sa3.mescius.com/`
**Important notes**

* License files are generated during **design time or build time**.
    License creation does not occur while the application is running.
* Each activation and deactivation counts toward applicable license limits.
* Product IDs are not required when using the current command-line licensing tool.

For more information, see [<span class="_19itglyw _vchhusvi _r06hglyw" style="border: none; box-sizing: border-box; appearance: none;">Licensing Process</span>](https://developer.mescius.com/componentone/docs/license/online-license/c1-licensing-process).

## Using Command-Line licensing with Older ComponentOne Products

Some older ComponentOne product versions do not fully support the current runtime licensing format. In these cases, activating a license may generate a **legacy runtime license** to ensure compatibility.
**Important Notes**

* Legacy runtime license files are generated automatically when required
* Legacy license files are application-specific and must be distributed with the application
* Legacy licenses are generated during **design time or build time**

**Note**
When a legacy license is generated using a compatibility option, it is automatically deactivated when the corresponding activated license is deactivated.
For more information, see [Licensing Applications](https://developer.mescius.com/componentone/docs/license/online-license/licensing-applications "https://developer.mescius.com/componentone/docs/license/online-license/licensing-applications").

## Command-Line Licensing Using GrapeCity License Manager (GCLM)

Some ComponentOne product versions use the **GrapeCity License Manager (GCLM)** and require GCLM tools for command-line licensing.
Use this section only if your product version requires GCLM.
**Install the GCLM Tool**
If a ComponentOne product (for example, WinForms Edition) is installed, the GCLM tool is already installed at:
`C:\ProgramData\GrapeCity\gclm`
If no ComponentOne product is installed, you can install the GCLM tool using one of the following methods:

* **Windows**
    Download the GCLM deployment tool:
    [https://cdn.grapecity.com/license/gclm_deploy.exe](https://cdn.grapecity.com/license/gclm_deploy.exe "https://cdn.grapecity.com/license/gclm_deploy.exe")
* **Linux and macOS**
    Install the tool using the command line:

`dotnet tool install -g GrapeCity.LicenseManagerTool`

#### Activate a License Using GCLM

Use the following command to activate a license.

* **Windows**

`C:\ProgramData\GrapeCity\gclm\gclm.exe "<product-id>" -a "<serial-key>"`

* **Linux and macOS**

`gclm "<product-id>" -a "<serial-key>"`

#### Deactivate a License Using GCLM

A license must be activated before it can be deactivated.

* **Windows**

`C:\ProgramData\GrapeCity\gclm\gclm.exe "<product-id>" -d`

* **Linux and macOS**

`gclm "<product-id>" -d`

### Product IDs

When activating or deactivating licenses using GCLM, you must specify a product ID.
Refer to the product ID table provided by MESCIUS for the correct identifiers.

| Product Name | Product ID |
| ------------ | ---------- |
| ComponentOne Studio Enterprise | 331cf6cd-b73c-429f-ba79-fa2f85eebd68 |
| ComponentOne WinForms Edition | da3d5d14-691f-4908-aa3c-fd3239734232 |
| ComponentOne WPF Edition | c02c28b7-1c24-4109-8eb3-f99c3905f3f1 |
| ComponentOne ASP.NET MVC Edition | 839e1737-f256-46ea-b391-50da451c13a4 |
| ComponentOne Blazor Edition | 6631ee67-fec7-45b0-a771-4ec75cd748e3 |
| ComponentOne UWP Edition | 9afa522c-ea0b-47fe-ae14-7d9225612767 |
| ComponentOne Studio for Xamarin | de2b5824-e24d-4e7f-86d1-a87c1729993c |
| ComponentOne Xamarin.iOS Edition | c2e333e5-6dae-4aaf-8903-fa1dc779d32a |
| ComponentOne Xamarin.Android Edition | 18dbecd7-edc0-49d0-95d9-bdb9e5e4827f |
| ComponentOne WinUI and MAUI Edition | 3d3dac88-91bd-48be-be2d-c1e72c71a8ae |
| ComponentOne ASP.NET Web Forms Edition | 66129dc3-6206-4481-af49-00d38c22db2d |

### Licensing Older Products Using Legacy activation Tools

The GCLM tool was introduced in **ComponentOne 2020 v2** (July 2020).
If you are working with older versions of ComponentOne controls, you may need to use the **C1LicenseActivation.exe** tool.

### Activating Newer Serial Keys for Older Products

If you are activating a **2020 v2 or later serial key** and need to license older products:

1. Activate the license using GCLM as described above.
2. Run the following command:

`C:\ProgramData\GrapeCity\gclm\C1LicenseActivation.exe /gcdetect`
This command silently generates legacy licenses from the installed GCLM licenses.
It is equivalent to using the C1LicenseActivation user interface.
This allows both newer and older ComponentOne products to function together:

* Products that support newer licenses will use them
* Older products will use the generated legacy licenses

### Activating Older Serial Keys

If you are activating a **2020 v1 or earlier serial key**, you must use the legacy activation tool directly.
`C:\ProgramData\GrapeCity\gclm\C1LicenseActivation.exe /as:sn /u:<username> /c:<company>`