Dotfuscator Professional must be activated with a license key before use. When installing Dotfuscator with the Windows installer or the NuGet package, the instructions included activation steps, but if you skipped these steps or otherwise need to activate Dotfuscator, this page explains how.
How to Activate
After you use the Windows installer to install Dotfuscator, the installer will prompt you for your license key.
Activating via the installer will save the license key for future runs of Dotfuscator on that machine, so you do not have to enter the key again.
In the Config Editor
If you run the Dotfuscator Config Editor and have not yet activated, the Config Editor will prompt you for your license key.
Activating via the Config Editor will save the license key for future runs of Dotfuscator on that machine, so you do not have to enter the key again.
With an Environment Variable
You can set the environment variable
DOTFUSCATOR_LICENSE to contain your license key.
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 the license key to Dotfuscator's various build interfaces. This includes:
Licenseparameter of the Dotfuscate task for MSBuild.
/licenseargument 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 when using these methods, or you will need to activate Dotfuscator one of the other ways.
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_LICENSEenvironment variable is set, that variable's value is used to activate Dotfuscator for this run only.
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.
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:
DOTFUSCATOR_MAINTENANCE_RETRY_DELAYvariable sets the delay (in seconds) between connection attempts.
DOTFUSCATOR_MAINTENANCE_RETRY_TIMEOUTvariable sets the duration of the retry period (in minutes) before connection failure.
Both values must be provided as whole, positive integers.
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.
Dotfuscator's licensing capabilities have evolved alongside modern development practices. As developers now build their software on many machines, Dotfuscator supports a new kind of subscription license called the Floating License.
Unlike traditional subscription licenses, which can only be activated on a limited number of machines, the Floating License can be used on as many build agents as your team needs. This allows you to use Dotfuscator on build agents dynamically provisioned as part of an automated build system, including agents you don't own. For details, see the documentation for Build Agents.
When using a Floating License, every run of Dotfuscator will verify the subscription against PreEmptive Solutions' servers. Thus, an active Internet connection is required when using a Floating License.
For more information on licensing, contact PreEmptive Solutions.