.NET Reactor
User guide

The Main Panel

The main panel consists of 4 tabs. Each tab is designed to accomplish a special range of tasks and setups.
The Files page specifies the main protected assembly, additional protected assemblies and debug files, and general protection settings.
If you want to protect more than one assembly at the same time or merge/pack assemlies you need to add the corresponding assemblies to this list.
General Settings
In the Settings page, the General Settings node enables compression, visual styles, target file location and display of a loading screen. The bottom panel gives you a description of the currently selected property.
Protection Settings
The Protection Settings page allows you to enable a various of protection options.
Lock Settings
Once you have protected your intellectual property from theft or unintended disclosure using the .NET Reactor protection options, the next step in maximising your revenue stream is to ensure your full version application cannot be used without the purchase of a license. This is where the feature rich .NET Reactor licensing system comes in. Using a variety of "locks", .NET Reactor gives you the ability to control use of your application in a variety of ways - trial versions, software rental, software as a service - all are possible using .NET Reactor locks, and all without any modifications to your source code. We recommend that you spend some time to understand these license enforcement options as the time you invest in doing so will be time well spent.
The Lock Settings node is where you specify the licensing controls you want .NET Reactor to build into your assembly when you protect it. These locks are implemented by additional code which .NET Reactor includes in the protected assembly and requires no changes to your application source code to implement. One of the powerful features of .NET Reactor licensing is that the settings you inbuilt into your assembly can be overridden by providing a license file to your customer, meaning you do not need to supply a separate licensed version of your program - the trial version and full version are exactly the same, the only difference being the license file you provide to paying customers.
Note: These options are ignored for Compact Framework, Silverlight, .NET Core, .NET Standard and Mono assemblies.
Dialog Settings
So many dialog boxes !
The number of possible dialog boxes may seem large, and you may worry that your customer will see numerous dialog boxes when the locks expire. This is not the case, the .NET Reactor licensing system will only ever display one dialog to your user. .NET Reactor determines which is the most important dialog and displays that one only. The dialog box to display is determined as follows :
License Manager
The .NET Reactor license system allows you to distribute your assembly without a license file provided that you have set "Run without license file" to True. When your customer purchases a license, you use the License Manager to build a license file to unlock your application. Lock settings in a license file always override the inbuilt lock settings.
To create a valid license file, the same master key must be used for license creation as was used to protect your application. This master key is generated when you create your project, which must be saved to preserve the original key, otherwise you will be unable to generate valid license files.
The Evaluation, Expiration Date and  Number of Uses Locks work in eactly the same way as the inbuilt locks, except that the settings in the License file override the settings of the Inbuilt Locks.
The Individual Licensing Behaviour option is a particularly powerful feature of the .NET Reactor licensing system. If set to true, for the Evaluation Period and Number of Uses Locks, tne specified number of days or uses are specific to the particular license file. For example, let us assume that your license file has the number of uses lock enabled and number of uses set to 10. With "Individual License Behaviour" set tio True, when you issue the first license to a user, he has 10 uses of the software available. If he then buys another license with the number of uses lock enabled and the number of uses set to 10, he has a further 10 uses (20 in total). If "Individual License Behaviour" were set to false, he would only have 10 uses in total (i.e the 10 uses in the 2 license files are the same 10 uses). You must take care when issuing licences with "Individual License Behaviour" set to true to understand that a user claiming to have lost his license file and requesting another will receive additional uses of your product. You should ensure you retain copies of issued license files so they can be re-issued to users who lose their licenses to prevent this.
License Files also introduce a new type of lock - the Hardware Lock. This allows you to create licenses which can be used only any a particular PC, based on a Hardware ID which identifies the particular combination of hardware in that PC. License Files which have the Hardware disabled can be used on any PC. Utilising the Hardware Lock prevents your customer from purchasing one license file and using it on multiple PCs.
To create licenses which are locked to the hardware of a particular PC,  you must enable "Hardware Lock" and provide the Hardware ID of the client's PC. You can use the .NET Reactor SDK library License.dll to display the Hardware ID from within you apllication (for example in the "About" dialog box), or provide your customer with a program which will display the Hardware ID.
Additional information can be added to the license file at this time with the Add tool. Your application can access this information with the functions available in the SDK libraries.
.NET Inspector Tab
.NET Inspector reflects extractable information from the main assembly.