# Troubleshooting .NET Reactor Activation

Use this guide when .NET Reactor itself does not activate, remains in demo mode, or reports a licensing error during a build.

# Find the right solution

Situation Start here
First activation or installation on another computer Standard activation procedure
The original license.license file is not detected Registration-file checks
The activation email does not arrive Email delivery checks
The received .v3lic file does not activate .NET Reactor Hardware-license checks
Help > Registration is missing Check whether activation is already complete
The Hardware ID changed Request a license for the current Hardware ID
A build returns exit code 101 with -licensed Diagnose the tool license
A cloud runner or virtual build agent is recreated Build licenses and changing virtual hardware
Activation is needed on Linux or macOS Console activation
A newer release shows an upgrade or renewal message Version and update entitlement

# How activation works

.NET Reactor activation uses two different license files:

File Purpose
license.license The registration license received at the time of purchase. Use this file to request a hardware-bound license.
license.v3lic The hardware-bound license generated for a specific Hardware ID. This file activates the full version on that computer.

The files are not interchangeable. When requesting a new hardware license, upload the original license.license file—not an existing .v3lic file.

# Standard activation procedure

  1. Locate the original license.license file received at the time of purchase.
  2. Start .NET Reactor.
  3. Open Help > Registration.
  4. Select license.license, confirm the dialog, and restart .NET Reactor.
  5. .NET Reactor detects the registration license and displays the Hardware ID required for activation.
  6. Open reactoractivation.com.
  7. Upload license.license, enter the Hardware ID displayed by .NET Reactor, and enter your email address.
  8. The new hardware license is normally sent to that email address within a few minutes. Also check the spam or junk folder.
  9. Save the attached license.v3lic file locally.
  10. Start .NET Reactor again, open Help > Registration, and select license.v3lic.
  11. Restart .NET Reactor and open Help > About. The dialog should now identify the installation as the full version.

The Registration menu is hidden after .NET Reactor recognizes a valid full-version license. If the menu is not visible and Help > About shows the full version, activation is already complete.

# license.license is not detected

Check the following:

  • Run .NET Reactor as administrator before using Help > Registration.
  • Confirm that the file is named license.license and has not become license.license.txt.
  • Select the extracted file, not a file that is still inside a ZIP archive or email preview.
  • Make sure the file is readable and has not been blocked or quarantined by endpoint security software.
  • Temporarily move obsolete or unrelated .license and .v3lic files out of the .NET Reactor installation and shared license directories before retrying.
  • Restart .NET Reactor after installing the file. License files are checked during startup.
  • If the original file is damaged or missing, contact support and include the purchase email address or order information.

The registration dialog installs the selected file into the shared .NET Reactor license directory and, where possible, next to the executable. On Windows, the shared directory is:

%ProgramData%\Eziriz\.NET Reactor

The account running .NET Reactor or the build agent must be able to read the installed license file.

# The activation email does not arrive

  • Allow a few minutes for delivery and check the spam or junk folder.
  • Confirm that the email address entered on the activation page is correct.
  • Submit the original license.license file, not a .v3lic file.
  • Confirm that the Hardware ID was copied completely from the target computer.
  • If the message still does not arrive, contact support with the purchase details, email address and Hardware ID.

# The received .v3lic file does not activate the product

A .v3lic file is valid only for the Hardware ID for which it was generated.

  1. Open Help > About and copy the current Hardware ID.
  2. Compare it with the Hardware ID used on the activation website.
  3. Confirm that you installed the new .v3lic file rather than selecting the original .license file again.
  4. Run .NET Reactor as administrator, reinstall the .v3lic file through Help > Registration, and restart the application.
  5. Remove older .v3lic files that may belong to another computer.
  6. If the Hardware ID has changed, request a new .v3lic using the original license.license file and the current Hardware ID.

Do not rename, edit, or modify the contents of either license file.

# The Hardware ID changed

The Hardware ID can change after significant hardware, firmware, operating-system, or virtual-machine changes. Cloning a VM, restoring it on another host, or recreating a virtual machine may also produce a different ID.

Request a new hardware license using:

  • the original license.license file
  • the Hardware ID from the computer or VM that will run .NET Reactor
  • your email address

If the Hardware ID changes repeatedly without an intentional system change, record the IDs and contact support with details about the operating system, virtualization platform, and recent hardware or VM changes.

# .NET Reactor returns exit code 101 with -licensed

When the -licensed command-line option is used, return/error code 101 means that .NET Reactor cannot find a valid license for the current environment.

Common causes include:

  • no .v3lic file is installed
  • the build account cannot read the license file
  • the .v3lic belongs to a different Hardware ID
  • an old or invalid license file is being discovered instead of the intended file
  • the installed product version is not covered by the license's update period
  • a cloud or virtual build agent was recreated and now reports different virtual hardware

Exit code 101 is a licensing result, not a general protection or project-file error. Use the command-line diagnostics under the build account, then follow the relevant hardware-license, cloud-build, or update-entitlement checks.

# Cloud build servers and changing virtual hardware

Hardware-bound workstation licenses are often unsuitable for ephemeral cloud build agents. Cloud providers may assign different virtual hardware whenever an agent, VM, or container is recreated. This changes the Hardware ID, so the existing .v3lic no longer matches and -licensed returns code 101.

Customers with a company license can contact .NET Reactor support to request an appropriate build license. Build licenses are designed for build servers and virtual environments where the underlying virtual hardware may change.

When contacting support, include:

  • confirmation that a company license is available
  • the CI/CD provider or virtualization platform
  • the relevant order or customer information

Do not repeatedly generate workstation hardware licenses for short-lived hosted agents. Use the build-license option supplied by support.

For pipeline setup and secure license storage, see GitHub Actions, Azure DevOps, and Build Integration Manager.

# Console activation on Linux and macOS

Open a terminal in the .NET Reactor directory and run:

./dotNET_Reactor

If .NET Reactor is not activated, it displays the current Hardware ID. Use that Hardware ID together with the original license.license file to request a hardware license at reactoractivation.com.

When the new license.v3lic file arrives:

  1. Copy license.v3lic into the same directory as the dotNET_Reactor executable.
  2. Make sure the user or build account running .NET Reactor can read the file.
  3. Run ./dotNET_Reactor again.
  4. Confirm that the output now shows Full Version.

If the shell reports Permission denied when starting the executable, make it executable and retry:

chmod +x ./dotNET_Reactor

# Always use -licensed in automated protection commands

It is recommended to add -licensed to every command that protects software, especially in CI/CD environments:

./dotNET_Reactor -licensed -file ./MyApplication.dll [other options]

The -licensed option prevents .NET Reactor from protecting the software when it is not running as the full version. In that situation, .NET Reactor terminates with exit code 101 instead of creating output under an unintended demo or unlicensed state.

Ensure that the build script preserves and evaluates the process exit code. Treat code 101 as an activation failure and do not publish the build output. See Command Line Parameters for the parameter reference.

# A newer .NET Reactor version shows an upgrade or renewal message

A perpetual license can continue to cover eligible product versions, while access to newer program updates depends on the update/subscription period associated with the purchase.

If an older installation activates but a newer release does not:

  • Verify that the same license files were installed for the new release.
  • Check the purchase date and update entitlement.
  • Use a product version covered by the license, or renew the update subscription and request updated license files if required.

This situation is different from a Hardware ID mismatch.

# Command-line diagnostics

Display the current Hardware ID:

dotNET_Reactor.Console.exe -gethardwareid

Write the Hardware ID to a text file:

dotNET_Reactor.Console.exe -gethardwareid hardware-id.txt

Run these commands under the same user account and in the same environment as the actual build. A license visible to an interactive administrator account may not be readable by a CI service account.

# Information to send to support

If activation still fails, contact support and provide:

  • the .NET Reactor version
  • operating system and architecture
  • whether the GUI or command-line edition is used
  • the status shown under Help > About
  • the current Hardware ID
  • whether license.license and license.v3lic are present and where they were installed
  • the exact message or exit code
  • whether the computer, VM, container, or build agent recently changed
  • purchase email address or order information

License files contain customer-specific information. Do not post them publicly. Send them only through an official support channel when requested.

# Related topics

Order Online · The Main Menu · Command Line Parameters · Build Integration Manager

GitHub Actions · Azure DevOps · Technical Support