- Licence manager
- Offline activation
- Application signing license
This is a new licensing model to deal with environment such as AWS where the hosted servers constantly change its machine ID (which is tied to the license) and as a result the license activated becomes invalid. And it becomes a hustle for developers to always have to re-activate the license on customers’ system. To try to avoid such nightmare and reduce the amount of admin and paper work, we have set up a new way of how license and license activation is controlled and invoiced.
Installed licences can be deleted in different ways as described in the following steps: Programmatically You could do something like this from your code: NET (c#) DicomLicense.DeactivateOnline(CustomerInfo1, CustomerInfo2) COM (VB6) Dim lg As New DicomLicenseGlobal lg.CurrentLicense.DeactivateOnline(CustomerInfo1, CustomerInfo2) XDS (C#) XdsLicense.DeactivateOnline(CustomerInfo1, CustomerInfor2) CustomerInfo1 & CustomerInfo2 are useful fields which are passed to our accounts department to inform them of which machine has been deactivated. Use our Licence manager tool You could download the sample project from our examples page, the Licence Manager project is a simple GUI that runs the above commands:
It’s possible and very easy to customize our DicomObjects.NET license activation dialog: You can download the sample C# LicenseDialogCustomization project to see how each control on the license dialog can be renamed/removed, including text labels, text boxes, buttons and logo.
Before DicomObjects can be used on any machine (physical or virtual), a list of unique MachineIDs is generated and used in the licensee activation process. To generate a machine ID that can best (uniquely) identifies a machine, we gather various system information, for example: Hard drive info MAC Address Operating System info Adding new hardware Adding new hardware would not break the installed DicomObjects license, as long as the existing hardware remain.
All current versions of our products, include a means to license “bulk copies” of the toolkits (DicomObjects or XdsObjects) - e.g. when used by trusted customers for use on CDs etc. This is a replacement for the previous “strong name” based licencing, which had multiple drawbacks. To use this facility, which we call “applicaiton signing”, developers develop as normal (using a developer key), then get a “signature” for the executable by submitting it, alongside their special “signing key” (of the form wwww-xxxx-yyyy-zzzz) using a small local signing program, which sends the hash of the executable to our servers, where the license information is added, the whole thing is “signed”.
Application signing is the process of validating a compiled program to use DicomObjects in association with a *.lic licence file which is specific to that executable. This .lic file is placed adjacent to the program to be executed which contains this executable specific licences for using DicomObjects or XdsObjects. This avoids any online/offline activation of DicomObjects or XdsObjects for running that program. Two main usage of a signed exe is when an application is installed on an offline machine without Internet access and/or system that doesn’t need to have DicomObjects licence installed.
This page describes the initial steps you could follow to troubleshoot a licensing problem. The flowchart given below is a simple diagnostic route to identifying the actual problem. Links to the tools and articles that is mentioned in the diagram above: Licence manager project can be downloaded from: (We have compiled binaries and sourcecode available for download) DicomObjects.COM DicomObjects.NET Instructions for Activating and Deactivating licences can be found here
If you’re planning on doing a ClickOnce deployment of your product, here are few simple instructions to include DicomObjects licence (*.lic) file within your deployment package: Create a dummy <applicationname.exe.lic> placeholder and include in your solution. Change the Build Action property of your *.lic in VS to Contenttype. Change Copy to output directory setting to Copy if newer. Set your post build event as: “\ApplicationSignerConsole.exe” “$(TargetPath)” [your key] [info1] [info2]