Licensing

Component: NServiceBus
NuGet Package NServiceBus (7-pre)
This page targets a pre-release version and is subject to change prior to the final release.

License details

See the Licensing page for license specifics.

License validity

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. To view the release dates for the various versions, see NServiceBus Packages Versions.

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

Throughput limitations

No limitations are enforced when either no license is found or a license has expired.

License management

There are several options available for installing the license file.

Application specific license location

A license located at {AppDomain.CurrentDomain.BaseDirectory}/license.xml will be automatically detected.

Machine wide license locations

Licenses can be shared across all endpoints and Particular Service Platform applications by placing them into one of the following locations:

  • {SpecialFolder.LocalApplicationData}\ParticularSoftware\license.xml
  • {SpecialFolder.CommonApplicationData}\ParticularSoftware\license.xml
Depending on the operating system, the paths may be case sensitive.

Code first configuration

A license can be configured via code first configuration API:

endpointConfiguration.LicensePath("PathToLicense");
// or
endpointConfiguration.License("YourCustomLicenseText");

Application configuration file

This option is only available when targeting the full .NET Framework.

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:
<appSettings>
  <add key="NServiceBus/LicensePath"
       value="C:\NServiceBus\License\License.xml" />
</appSettings>
  • Use the key NServiceBus/License to store the XML-encoded contents of the license directly in app.config:
<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>

Windows Registry

This option is only available when targeting the full .NET Framework.

Licenses stored in a registry key named License in the following registry locations are automatically detected:

  • HKEY_LOCAL_MACHINE\Software\ParticularSoftware
  • HKEY_CURRENT_USER\Software\ParticularSoftware

To install a license as a registry key, use the following steps:

  • Start the Registry Editor.
  • Go to HKEY_LOCAL_MACHINE\Software\ParticularSoftware or HKEY_CURRENT_USER\Software\ParticularSoftware.
  • Create a new Multi-String Value (REG_MULTI_SZ) named License.
  • Paste the contents of the license file.
If HKEY_LOCAL_MACHINE is the chosen license location, and the operating system is 64-bit, then repeat the import process for the HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ParticularSoftware key to support 32-bit clients.
If the license is stored in HKEY_CURRENT_USER, NServiceBus processes must run as the user account used to add the license file to the registry in order to access the license.

It is safe to ignore any warnings regarding empty strings.

Related Articles


Last modified