Activation
You must activate your installation of Dotfuscator Professional with a license key in order to use it. When you purchase one or more licenses for Dotfuscator Professional, PreEmptive will send you a license key for each license. Similarly, when you download an evaluation of Dotfuscator Professional, PreEmptive will send you a key for an evaluation license. Different types of licenses allow you to use the software in different ways, and it is important that you activate Dotfuscator with the correct license key.
If you activate via the Installer or the Config Editor, then you'll enter the appropriate license key during that process. The activation process will provision and automatically save a license token for future runs of Dotfuscator on that machine so you do not need to activate again.
If you are using the NuGet package, you will need to configure a license key using an environment variable or pass a license key as an argument every time you run Dotfuscator.
Please see Troubleshooting if you encounter any errors during this process. For more information on licensing, contact PreEmptive Solutions.
Types of Licenses
Dotfuscator Professional Licenses may be Build Licenses or User Licenses. Additionally, a given license may or may not be a Floating License.
Build Licenses and User Licenses
Build Licenses are intended to be used on Build Agents in order to build production-ready software. When you use a Build License to run Dotfuscator you may publicly distribute the resulting software.
User Licenses are primarily intended to be used by developers working on development machines, e.g., to integrate Dotfuscator into their build process or edit their Dotfuscator configuration with the Config Editor. In addition, all Dotfuscator evaluation licenses are User Licenses. When you use a User License to run Dotfuscator, you may not publicly distribute the resulting software. If you activate Dotfuscator with a User License using an argument or an environment variable, you will also need to include your email address to form a complete license string.
Floating Licenses
A Floating License is a license that may be activated on any number of machines, allowing them to be used on as many build agents as your team uses up to your license's limit for concurrent builds. This allows you to use Dotfuscator on build agents that are dynamically provisioned as part of an automated build system, including agents you don't own (see Build Agents for details). PreEmptive will configure Build Licenses to be Floating by default.
When using a Floating License, every run of Dotfuscator will verify the subscription against PreEmptive's servers, so an active Internet connection is required to run Dotfuscator.
Non-Floating Licenses can only be activated on a limited number of machines, but once activated Dotfuscator will not require successful verification with PreEmptive's Servers during every run. You can use Non-Floating Licenses on machines without an active internet connection.
How to Activate
If you installed Dotfuscator with the Windows installer, you can activate through the installer itself, the Config Editor, an environment variable, or by passing an argument whenever you run Dotfuscator.
If you installed Dotfuscator with the NuGet package, you can activate through an environment variable or by passing an argument whenever you run Dotfuscator.
During Installation
If you use the Windows installer to install Dotfuscator and have not activated on this machine before, the Activation Tool will automatically launch after you close the installer. Follow the prompts to use your web browser to activate Dotfuscator.
Activating via the installer will provision and automatically save a license token for future runs of Dotfuscator on that machine, so you do not have to activate again. Please see Troubleshooting if you encounter any errors during this process.
In the Config Editor
If you run the Dotfuscator Config Editor and have not yet activated, the Activation Tool will launch. Follow the prompts to use your web browser to activate Dotfuscator.
Activating via the Config Editor will provision and automatically save a license token for future runs of Dotfuscator on that machine, so you do not have to activate again. Please see Troubleshooting if you encounter any errors during this process.
With an Environment Variable
You can set the environment variable DOTFUSCATOR_LICENSE
to contain a license key (formatted as a license string).
When the variable is set, each run of Dotfuscator will activate itself using the license key stored in the variable.
This is useful when activating Dotfuscator on dynamically provisioned build agents, as the variable can be set through the build system automatically. When activating on a dynamically provisioned build agent, the license in question must be a Floating License.
Dotfuscator will not save your license key after reading it from the environment variable. If you later unset the variable, you will need to activate Dotfuscator one of the other ways.
You may wish to set your Customer Feedback Options via an environment variable, as well.
With an Argument
You can explicitly pass a license key (formatted as a license string) to Dotfuscator's various build interfaces. This includes:
Setting the
DotfuscatorLicense
MSBuild property when using the MSBuild targets. An easy place to do this is in a.dotfuscator.user.props
file.Setting the
License
parameter of the Dotfuscate task for MSBuild.Using the
/license
argument of the Dotfuscator command line.
These arguments are useful when activating Dotfuscator on dynamically provisioned build agents, as the arguments can be set in an unattended build script. When activating on a dynamically provisioned build agent, the license in question must be a Floating License.
When using these arguments, Dotfuscator will not save the license key for future runs. You must either always provide the license key via one of these methods or you will need to activate Dotfuscator one of the other ways.
Precedence
When Dotfuscator runs, it obtains the license key and registration information as follows:
If the current run has a license key argument set, the argument's value is used to activate Dotfuscator for this run only.
Otherwise, if the
DOTFUSCATOR_LICENSE
environment variable is set, that variable's value is used to activate Dotfuscator for this run only.Otherwise, if Dotfuscator was previously activated on this machine via the Windows Installer or Config Editor, that registration information is used.
Otherwise, if the run is of the Config Editor, you will be prompted for your license key. The key will be used to activate Dotfuscator for this machine, saving registration information for future runs.
Otherwise, Dotfuscator will error.
Activation Tool
The Dotfuscator Activation Tool is a graphical user interface that allows you to activate Dotfuscator on a Windows machine. (On other operating systems, you will need to pass your license information through an environment variable or argument when calling Dotfuscator. These methods can also be used on Windows, instead of the Activation Tool.)
If you have not yet activated, the Activation Tool is automatically launched when you finish the Windows installer or when you start the Config Editor.
The Activation Tool opens your web browser to preemptive.com, on a page generated specifically for your activation process. Follow the prompts on that page to connect your installation with your preemptive.com account and license.
After you complete the activation process on preemptive.com, your web browser will communicate back to the Activation Tool via a localhost
HTTP request.
This will trigger the Activation Tool to verify the activation.
If activation is successfully verified, the tool will show the following message:
A successful activation will be saved on the machine, allowing Dotfuscator to run without needing to activate again.
Internet Connection Requirement
Activating requires an Internet connection in order to verify the license key with PreEmptive's servers. Floating Licenses also require an active Internet connection when running Dotfuscator.
To avoid build failures due to intermittent network issues, the MSBuild targets, MSBuild tasks, and command line interface will retry failed connections after a short waiting period. If a connection cannot be made after a retry, the build will fail with an error message describing the network issue.
If the license server response indicates that it is undergoing planned maintenance, Dotfuscator will retry the connection every 30 seconds for up to 30 minutes, by default. The delay between connection attempts and the timeout value are configurable using the following environment variables:
The
DOTFUSCATOR_MAINTENANCE_RETRY_DELAY
variable sets the delay (in seconds) between connection attempts.The
DOTFUSCATOR_MAINTENANCE_RETRY_TIMEOUT
variable sets the duration of the retry period (in minutes) before connection failure.
Both values must be provided as whole, positive integers.
Renewing Subscriptions
After activation, Dotfuscator will download your registration information from PreEmptive's servers. If you have a subscription and it has expired, you will be prompted to renew.
The Dotfuscator Config Editor will run in reduced functionality mode if your subscription has expired and you have not renewed it. The Config Editor's status bar will alert you if your subscription needs attention, and give you a link to the appropriate resource. Once you have updated your subscription, re-launch the Dotfuscator Config Editor and it will download the updated information from PreEmptive's servers and once again operate in full functionality mode.
License Strings
Several ways of activating Dotfuscator require you to supply a "license string".
- If you have a Build License, your license string is just your license key.
- If you have a User License, your license string is your license key and your email address separated by a colon (e.g.
00000000000000000000000000000000:jdoe@mycompany.com
).