Licensing

Component: NServiceBus | Nuget: NServiceBus (Version: 3.x)
Standard support for version 3.x of NServiceBus has expired. For more information see our Support Policy.

License details

See Particular Licensing for license specifics.

License validity

Version 3 to 4.5

The license is valid if the LicenseVersion attribute in the license data is greater than or equal to the {major}.{minor} part of the fileversion for the NServiceBus assembly used by the endpoint.

Version 4.5 to 5

The license is valid if the ExpirationDate or the UpgradeProtectionExpiration attribute in the license data is greater than or equal to the release date of the {major}.{minor}.0 version of the NServiceBus assembly used by the endpoint. The release dates for the various versions can be found on NuGet.

Only the Major/Minor part is relevant. Eg. if using NServiceBus 6.1.1 it's the release date if 6.1.0 that counts.

Throughput limitations

The number of worker threads used by the endpoint are limited to 1.

License Management

Using the Registry

Using the NServiceBus PowerShell Module is the preferred and simplest method of adding the license file.

Using the registry allows all platform tools (endpoints, ServiceControl, and ServiceInsight) to access the same license.

The license can be stored in a registry key called [HKEYCURRENTUSER\Software\NServiceBus\{Major.Minor}\License].

To install the license in the registry, use one of these options:

  • The LicenseInstaller.exe tool that comes with the NServiceBus install.
  • The Install-License PowerShell commandlet.
  • If the trial license has expired and running in debug mode, the endpoint shows a dialog that allows installing the license.

Using a License sub-directory

A file located at [AppDomain.CurrentDomain.BaseDirectory]/License/License.xml will be automatically detected.

Using the app.config settings

It is possible to specify the license in app.config:

  • Use the key NServiceBus/LicensePath to specify the path where NServiceBus looks for the license. For example:
<appSettings>
  <add key="NServiceBus/LicensePath"
       value="C:\NServiceBus\License\License.xml" />
</appSettings>
  • Use the key NServiceBus/License to transfer the actual XML-encoded contents of the license. For example:
<appSettings>
  <add key="NServiceBus/License" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;&lt;
license id=&quot;1222e1d1-2222-4a46-b1c6-943c442ca710&quot; expiration=&quot;2013-11-30T00:00:00.0000000
&quot; type=&quot;Standard&quot; LicenseType=&quot;Standard&quot; LicenseVersion=&quot;4.0
&quot; MaxMessageThroughputPerSecond=&quot;Max&quot; WorkerThreads=&quot;Max
&quot; AllowedNumberOfWorkerNodes=&quot;Max&quot;&gt;
. . .
&lt;/license&gt;" />
</appSettings>

Order of license detection

This section details where NServiceBus will look for license information, and in what order. For example, an expired license in HKEY_CURRENT_USER would overrule a valid license in HKEY_LOCAL_MACHINE. Note that these vary somewhat in older versions.

In order to find the license, NServiceBus will examine:

File located at {AppDomain.CurrentDomain.BaseDirectory}\License\License.xml

Related Articles


Last modified