In general ServiceControl instances support all of the license management options that NServiceBus supports with the exception of code-first configuration and the Windows Registry. In addition, ServiceControl provides additional license management techniques:
ServiceControl Management utility (SCMU)
ServiceControl has a license user interface which can be accessed in ServiceControl Management.
ServiceControl Management is installed together with ServiceControl and can be found in the Windows Start Menu.
The selected license file will be stored into the machine-wide license file location so it is available to all instances of ServiceControl regardless of the service account used.
ServiceControl PowerShell
To import a license using PowerShell:
- Ensure ServiceControl PowerShell Module is installed.
- Start PowerShell
- Execute the following cmdlet with the path to the license file.
Import-ServiceControlLicense License.xml
License from file system
It is also possible to load the license from any location in the file system by configuring the NServiceBus/
setting. This allows the license to be loaded from (for example) a central network share instead of the registry.
The easiest way to find the configuration file is by launching the Service Control Management Utility (SCMU), navigate to the relevant instance and open its deployment paths.
<add key="NServiceBus/LicensePath" value="d:\NServiceBus\License\License.xml" />
This is the same setting to configure a license path for an NServiceBus 7 or lower endpoint. This license configuration option is no longer supported in NServiceBus 8 or later endpoints.
Using ServiceInsight
A machine-wide license file can be installed using ServiceInsight which can then be used by ServiceControl.
Troubleshooting
ServiceControl license was updated, but ServicePulse reports the license has expired
License information is read by ServicePulse from the ServiceControl Error instance via the HTTP API. ServiceControl Error instances read license file during startup which is cached for 8 hours. Therefore, either wait for the cache to expire or restart the ServiceControl Error instance manually to have ServicePulse reflect the new license.