# Activation on a Mac

## Content

### Prerequisites

Ensure that the .NET SDK is installed before installing the licensing tools.

#### Install .NET SDK

Choose one of the following methods:

1. **Official Installer**
    Download and install the latest .NET SDK from the Microsoft .NET website.
2. **macOS (Homebrew)**

```auto
brew install --cask dotnet-sdk
```

#### Verify Installation

Restart the terminal and run:

```auto
dotnet --version
```

### Install ComponentOne Controls

Before installing the licensing tools, install at least one ComponentOne control.

1. Download and install **ComponentOne Control Panel**.
2. Open the Control Panel.
3. Install any ComponentOne control.

![C1CP Mac](https://cdn.mescius.io/document-site-files/images/f8f8411e-09a6-47b0-a013-52f621fe586f/Screenshot%202026-04-02%20at%205.31.35%20PM-20260408.5b3695.png?width=600)
This ensures that the required components are available before license activation.

## Install SA3 Client

Run the following command:

```auto
dotnet tool install -g sa3client
```

![SA3tool](https://cdn.mescius.io/document-site-files/images/f8f8411e-09a6-47b0-a013-52f621fe586f/Screenshot%202026-04-02%20at%205.33.50%20PM-20260408.350892.png?width=600)

### Troubleshooting: Command Not Found

If the <span class="code" spellcheck="false" data-prosemirror-content-type="mark" data-prosemirror-mark-name="code">sa3client</span> command is not recognized:

```auto
export PATH="$PATH:$HOME/.dotnet/tools"
```

Restart the terminal and run the command again.

## Activate a Serial Key on macOS

ComponentOne supports serial key activation on macOS using command-line licensing tools.
When a project that references ComponentOne NuGet packages is built for the first time, a 30-day evaluation license is applied automatically. A valid serial key is required to continue development and generate licensed builds.

1\. Open the Terminal.
2\. List installed products and license status:

```auto
sa3client list
```

 ![sa3ListCommand](https://cdn.mescius.io/document-site-files/images/f8f8411e-09a6-47b0-a013-52f621fe586f/Screenshot%202026-04-02%20at%205.34.14%20PM-20260408.f045e2.png?width=600)
3\. Activate the serial key:

```auto
sa3client a <serial-key>
```

 ![sa3licenseactivate](https://cdn.mescius.io/document-site-files/images/f8f8411e-09a6-47b0-a013-52f621fe586f/Screenshot%202026-04-02%20at%205.35.54%20PM-20260408.d695c5.png?width=600)
If activation succeeds, the tool displays a confirmation message.
After activation, building the application generates a unique runtime license file (<span class="code" spellcheck="false" data-prosemirror-content-type="mark" data-prosemirror-mark-name="code">.sa3licx</span>) in the build output (for example, <span class="code" spellcheck="false" data-prosemirror-content-type="mark" data-prosemirror-mark-name="code">obj/Debug</span> or <span class="code" spellcheck="false" data-prosemirror-content-type="mark" data-prosemirror-mark-name="code">obj/Release</span>) and embeds it as a resource in the application. This file is used at runtime to validate the license.

### Deactivation

1\. List installed licenses:

```auto
sa3client list
```

2\. Note the serial key prefix\.
3\. Deactivate the license:

```auto
sa3client d <serial-key-prefix>
```

![sa3licensedeactivate](https://cdn.mescius.io/document-site-files/images/f8f8411e-09a6-47b0-a013-52f621fe586f/Screenshot%202026-04-02%20at%205.42.33%20PM-20260408.a72664.png?width=600)

### Offline Activation

1\. Generate an offline activation request:

```auto
sa3client a <serial-key> -o activation-request.txt
```

2\. Go to the MESCIUS License Management website [<span aria-busy="true" class="card">https://sa3.mescius.com/</span>](https://sa3.mescius.com/) and select **Activation**.
3\. Upload or paste the contents of <span class="code" spellcheck="false" data-prosemirror-content-type="mark" data-prosemirror-mark-name="code">activation-request.txt</span>.
4\. Save the returned license text to a file and import it:

```auto
sa3client import license.txt
```

### Offline Deactivation

1\. Generate an offline deactivation request:

```auto
sa3client deactivate <serial-key-prefix> -o deactivation-request.txt
```

2\. Go to the MESCIUS License Management website and select **Deactivation**.
3\. Upload or paste the contents of the request file to release the activation\.

## Install GCLM (GrapeCity License Manager)

Run the following command:

```auto
dotnet tool install -g GrapeCity.LicenseManagerTool
```

### Troubleshooting: Command Not Found

If the <span class="code" spellcheck="false" data-prosemirror-content-type="mark" data-prosemirror-mark-name="code">gclm</span> command is not recognized:

```auto
export PATH="$PATH:$HOME/.dotnet/tools"
```

Restart the terminal or reload the profile, then run the command again.

## Activate a Serial Key on macOS (GCLM)

1\. Open the Terminal.
2\. List installed products and their indexes:

```auto
gclm
```

3\. Identify the product index\.
4\. Activate the serial key:

```auto
gclm [Index] -a <serial-key>
```

If activation succeeds, the tool displays a confirmation message.
After activation, building the application generates a runtime license file (<span class="code" spellcheck="false" data-prosemirror-content-type="mark" data-prosemirror-mark-name="code">.gclicx</span>) in the build output (for example, <span class="code" spellcheck="false" data-prosemirror-content-type="mark" data-prosemirror-mark-name="code">obj/Debug</span> or <span class="code" spellcheck="false" data-prosemirror-content-type="mark" data-prosemirror-mark-name="code">obj/Release</span>). This file must be distributed with the application.

### Offline Activation (GCLM)

1\. Generate an offline activation request:

```auto
gclm [Index] -g serialkey.txt
```

2\. Go to the MESCIUS License Management website <span class="code" spellcheck="false" data-prosemirror-content-type="mark" data-prosemirror-mark-name="code">(https://sa2.mescius.com/)</span> and select **Activation**.
3\. Enter the activation key from <span class="code" spellcheck="false" data-prosemirror-content-type="mark" data-prosemirror-mark-name="code">serialkey.txt</span>.
4\. Save the generated license text to a file and import it:

```auto
gclm [Index] -i license.txt
```

### Deactivation (GCLM)

1\. List installed products:

```auto
gclm
```

2\. Identify the product index\.
3\. Deactivate the license:

```auto
gclm [Index] -d
```

A serial key can be activated on up to two development machines.

### Offline Deactivation (GCLM)

1\. Generate a deactivation request:

```auto
gclm [Index] -d deactivation-key.txt
```

2\. Go to the MESCIUS License Management website and select **Deactivation**.
3\. Paste the deactivation key to free the activation\.