Version history - CryptoLicensing For
ActiveX
What's New!! in Version 2012
- NEW: Support for IPv6 address when using customer deployed license service.
- NEW: Much improved exception reporting from license service to client side API.
- NEW: Support for Activation Contexts - supports varying activation counts from
the same machine for different features in your software (example, View, Change,
Print, etc).
- NEW: Added ready-to-use e-commerce integration pages for FastSpring.
- CHANGE: Heartbeat event is called everytime a heartbeat fails.
- NEW: Improved psf file handling in customer deployed license service.
- NEW: Improved speed when validating licenses.
- NEW: Reduced memory requirements when validating licenses.
- NEW PROPERTY: CryptoLicense.ActivationContext which specifies the context for
the activation.
- NEW METHOD: CryptoLicense.GetStatusExceptionMessage which gets the
error/exception message, if any, associated with an error validation status.
- NEW METHOD: CryptoLicense.RenewLicense allows you to get a new license from the
license service based on the settings of the current license (for example, with
Date Of Expiration changed).
- NEW METHODS: LicenseService.RenewLicense and LicenseService.OnRenewLicense
return a new license based on the settings of the passed license.
What's New!! in Version 2011 R3
- NEW: Added support for any database to be used with the License Management functionality.
- NEW: Support for MySQL and SQL CE database when using License Management and the License Service.
- NEW: Ability to lock floating license to a specific license service via the machine code. This is used with customer-delpoyed license service -for greater security.
- NEW: Customer deployed floating license service now supports multiple projects per service.
- NEW: Ability to override the default behavior related to creation, deletion and checking of the locally stored deactivation record.
- NEW: Ability to limit number of remote sessions via the "Max Instances" limit.
- NEW: Support for SQL Azure databases when using License Management and the License Service.
- NEW: Data Fields Plugin now displays the user data correctly even if the order of the fields in the user-data does not match the order of the defined fields.
- NEW METHOD: Added CryptoLicense.GetLicenseStatusAsString method.
- NEW PROPERTY: PropertiesPlugin.Properties and Property.Type properties.
- NEW PROPERTY: LicenseManagement.LicenseManagementException property.
- NEW: License Management can now store the Project Name and Key Name settings.
- NEW: Added support for loading license project files via a stream.
- NEW: Improved exception logging for the license service e-commerce pages.
- NEW: Individual license service methods can be disabled from code.
- NEW: Added support for Unicode data passed via the CryptoLicense.GetLicenseFromSerial method.
- NEW METHOD: Added CryptoLicenseGenerator.SaveProject(Stream) method.
- FIX: Serial validation now does not fail if the index of the corresponding profile in the license project file changes.
- FIX: File Generator Plugin - "Each Code To Separate File" setting not working.
- FIX: Deactivation functionality did not work in some limited permission environments.
- FIX: Necessary communication with the license service during disposing in some circumstances.
What's New!! in Version 2011 R2
- NEW - Usage Reporting - Gain insight into how your software is used.
Identity feature usage trends and patterns as well as end-user software/hardware
statistics. Ready-made usage reporting console to view and analyze usage
reporting data.
- NEW: Heartbeat support for floating licenses - allows gracefully recovering
from an application crash and prevents tampering of the network floating
license service.
- NEW: CryptoLicensing for XBox is now supported.
- NEW: Improved modern Generator UI look and feel.
- NEW: Improved usability of the Generator UI.
- NEW: Support for Oracle databases in the license service and license
management.
- NEW: Improved leased license functionality - new LeaseExpires setting
specifies when the license lease expires. New LeaseExpired event fires
when the lease expires.
- NEW: Improved performance when validating and generating licenses.
- NEW; Ability to store serials in the License Management database.
- NEW: Disallow In Remote Machines license limit - you can specify whether
licenses can be used in a remote session like Remote Desktop or Citrix.
- NEW: The stats.aspx page for the network floating license service
can now show the IP addresses of activated machines.
- NEW: Implementation change in Deactivation logic - Each deactivation
releases only one record of an activation (instead of all activation
records as previously). This prevents someone from starting multiple
instances of the software and then closing one instance thereby allowed
unlimited activations.
- NEW; CryptoLicense.IsCurrentMachineActivated method - allows determining
whether the current machine is activated.
- NEW; LicenseService.ImportLicensesIntoDisabledLicenseTable and LicenseService.ImportLicensesIntoLicenseTable
overloads which accept an IEnumerable<string>
- NEW: User data passed to the license service when validating serials
or using GetLicenseFromProfile is used as the basis for storing data
fields in the License Management table.
- NEW: Generator UI now allows specifying the settings file to use when
communicating with the license service - necessary when the service
hosts multiple license project files.
- NEW: RegistryStoragePath now allows both short (HKLM) or long (HKEY_LOCAL_MACHINE)
prefixes.
- CHANGE: All CStrings in public API changed to BSTRs for better compatibility
with ATL projects.
- FIX: Unable to load license projects in some non-English locales.
- FIX: Network floating license service threw FileNotFoundException
under some circumstances.
- FIX: Could not add a data field which had a whitespace in its name
to the License Management table.
- FIX: NullReferenceException was raised in some circumstances when
creating new license projects via the Generator API.
- FIX: Leading and trailing whitespace is now ignored when setting the
LicenseCode and ValidationKey.
What's New!! in Version 2011
- NEW: License management functionality - Now generated licenses and
their settings, and any associated userdata can be automatically added
to a user specified database.
- NEW: CryptoLicensing for Windows Phone 7 is now supported.
- NEW: CryptoLicensing for Silverlight is now supported.
- NEW: Support for SQL Server CE databases.
- NEW: E-commerce integration with Clickbank is now supported.
- NEW: CryptoLicenseProvider now supports extracted a license found
in a .licenses resource from any dll or exe assembly.
- NEW: Added placeholders (used in various "License Post-Generation
Processors) for different license settings like "Date Expires",
"Max Usage Days", etc.
- NEW: The license service can now operate in unencrypted mode in which
data passed to and from the service is unencrypted. This can be useful
when you need to invoke the license service from PHP or Python or Ruby.
- IMPROVED: Import licenses page now provides descriptive errors if
the import process fails.
- NEW METHOD: LicenseService.OnInitialize called everytime the license
service is invoked.
- FIX: Network deployed license service did not work in some circumstances
when the URL included a port value.
What's New!! in Version 2010 R2
- NEW: Support for leased floating licenses which allow licenses to
be borrowed for a specified amount of time.
- NEW: Support for upto 2040 features (up from 32 supported previously)
in every license. You can use these features to enable/disable specific
modules/functionality in your software.
- NEW: Support for multiple keys per license project. The same license
project can now be used for newer versions or for altogether different
products.
- NEW: Support for persisted per-license custom information. This can
be used to track license usage beyond the in-built scenarios like max
usage days, max executions, etc. For example, this can be used to track
usage of each individual feature embedded in license.
- NEW: Native support for MySQL databases in the license service.
- NEW: Support for any database to be used in the license service.
- NEW: Ability to verify local time with the license service.
- NEW: Ability to test if the license service is reachable and working
properly.
- NEW: Ability to enable/disable licenses in the license service from
your software via API.
- NEW: Ability to limit serial validations using various modes.
- NEW: Date Rollback Detection in licenses.
- NEW: Ability to automatically log exceptions if any are thrown during
operation of the license service.
CryptoLicensing Generator UI
- NEW: New placeholder %date% and %date:format% available during post-generation
license processing.
- NEW: Ability to specify certain data fields in the "Properties
User Data Plugin" as excluded from the generated license. This
allows you to specify extra information during license generation for
your own records.
- NEW: New placeholder %df:xyz% available during post-generation license
processing which gives you access to the values specified for various
data fields via the"Properties User Data Plugin".
- NEW: The %list...% placeholder now allows any other valid placeholder
inside it including %df:xyz%.
- NEW: Saves the active user-data plugin, processor plugin, and machine
code provider plugin and sets them to be active the next time the license
project is loaded.
- NEW: The "Project Properties Dialog" now allows you to test
if the license service is reachable and working properly.
- NEW: Various machine code providers (normal, explicit, test mode)
allow you to test machine-code and activation related functionality.
- FIX: "Export To File" functionality did not work in some
circumstances.
Software-side API and Generator API
- NEW: CryptoLicenseGenerator.GetUserDataPluginFromName method.
- NEW: CryptoLicense.GetCurrentActivationCount method and LicenseService.GetCurrentActivationCount
method.
- NEW: CryptoLicenseGenerator.LoadProject(Stream stream) method.
- CHANGE: Verbose exceptions thrown when validation of serials fails
in the license service.
- NEW: CryptoLicense.VerifyLocalTimeWithService method and LicenseService.VerifyLocalTimeWithService.
- NEW: CryptoLicense.PingLicenseService method and LicenseService.PingLicenseService
method.
- NEW: CryptoLicense.Enable/DisableInLicenseService methods and LicenseService.Enable/DisableInLicenseService
methods.
- NEW: LicenseService.CreateLicenseInstance method to allow customer-deployed
license service to use custom licenses (for example for locking service
to dongle-based machine code).
- CHANGE: All limits are checked even if one or more limits fail.
- NEW: CryptoLicense.ResetStatus method to force revalidation.
- NEW: Custom information related methods CryptoLicense.SetCustomInfo,
CryptoLicense.TryGetCustomInfo, CryptoLicense.ResetCustomInfo and CryptoLicense.RemoveCustomInfo.
- CHANGE: CryptoLicense.IsFeaturePresent and CryptoLicense.IsFeaturePresentEx
methods now only check cryptographic signature and not validate the
license limits.
- CHANGE: By the time LicenseService.OnActivate is called, generator
settings such as 'Lock to machine' are set.
- NEW: Overloads of LicenseService.ImportLicensesIntoDisabledLicenseTable
and LicenseService.ImportLicensesIntoLicenseTable with connectionString
parameter.
- NEW: ShareIt and Plimus e-commerce integration now checks remote IP
address to verify that request is coming from genuine servers.
- NEW: CryptoLicense.DetectDateRollback property.
- NEW: CryptoLicenseGenerator.LoadLicenseCode method to load generator
settings from license code. Allows you quickly initialize the generator
to have the same settings as the license code, change some settings
and generate a new license code.
- NEW: LicenseService.LogExceptions property.
- FIX: CryptoLicense.Status always returned Deactivated in certain circumstances.
What's New!! in Version 2010
- NEW: The license service now works in Medium Trust and does not require
Full Trust privileges on the web server.
- NEW: The validation component (LogicNP.CryptoLicensing.dll) and the
generator API (LogicNP.CryptoLicensing.Generator.dll) now works on Mono.
- NEW: The same license service can now be used for multiple license
project files.
- NEW: Added Network floating licenses (customer-deployed license service)
support. The service can be run as a Tray app or Windows service.
- NEW: The minimum cryptographic key strength is now 64-bits instead
of 384-bits. This enables shorter license codes. For example, when using
64-bit key strength, only a 32 character license code is generated even
when using Base32 encoding.
- NEW: CryptoLicense.GetLicenseFromProfile will now add the returned
license to the 'License' table.
- NEW: Service notifications caused by the 'Notify License Service When
Validated' setting are now recorded in the license service database.
- NEW: SerialValidation database table now stores the user-data embedded
in the returned license.
- NEW: Added Anti-Debug / Anti-Tracing setting to protect against running
under debuggers, profilers or tracers.
- FIX: Customer deployed floating license server would sometimes stop
working after 5-10 minutes.
CryptoLicensing Generator UI
- NEW: Added 'Double' data field type in 'Data Fields' plugin.
- NEW: It is now possible to specify in the UI the machine code and
user data to use when activating license or validating serial. One use
of this is to activate licenses or validated serials on behalf of the
customer.
- NEW: Deactivation codes can now be validated via UI and API.
Software-side API and Generator API
- NEW: Ability to create new project files via generator API.
- NEW: Ability to create/modify/remove profiles to a project via the
generator API.
- NEW METHOD: Virtual CryptoLicense.LoadEvaluationInfo and CryptoLicense.SaveEvaluationInfo
methods which can be overridden to provide your own storage for persisting
evaluation info.
- NEW: CryptoLicense.GetLicenseFromProfile now stores the source MachineCode
in the license service database.
- NEW: Added LicenseService.DefaultSettingsFilePath property.
- NEW: Added CryptoLicense.LicenseServiceSettingsFilePath property.
- NEW: Added LicenseService.DBConnection property.
- NEW: Added CryptoLicense.DeleteDeactivationRecord method.
- NEW: Added LicenseService.GetIPAddress method.
- NEW: Added CryptoLicenseGenerator.GetActiveProfile method.
- NEW: Added CryptoLicenseGenerator.GetActiveUserDataPlugin method.
Use this method, it is now possible to get a specific data field value
specified via Generator UI.
- NEW: Added CryptoLicenseGenerator.ValidateDeactivationCode method.
- NEW: Added CryptoLicense.DeactivateLocally method.
- FIX: CryptoLicense.GetLicenseFromSerial and CryptoLicense.GetLicenseFromProfile
did not return specified user data in returned license.
- FIX: If a machine has been deactivated, the same machine can now be
activated again.
What's New!! in Version 2009 (v2.0)
CryptoLicensing Generator UI
- NEW: Support for e-commerce integration with various providers like
PayPal, ShareIt, Plimus, etc. Includes ready-to-use license generators
for these e-commerce providers which can automatically perform order-fulfillment
and license delivery when using your preferred e-commerce provider.
- NEW: Ability to enable/disable tamper checking (date rollback) when
using trial licenses.
- NEW:String and number data fields can now have standard values that
can be selected via a dropdown list.
- NEW:Last specified values for 'Data fields' are now restored when
project is loaded.
- 'Insert code in template' now replaces placeholders when generating
serials also.
- NEW:It is now possible to record IP addresses when licenses/serials
are activated/validated.
- NEW:It is now possible to explicitly specify License ID when generating
license - this is mainly used when changing the settings of an already
issued license.
- NEW:Validation of licenses can now be done in two modes: cryptographically
validation only or cryptographically and limit validation.
- NEW:When generating machine-locked licenses, machine code can be
now be specified using Base64 or Base32 encoding.
- CHANGE: Minor CryptoLicensing Generator changes to make it more user-friendly.
Software-side API and Generator API
- NEW: Added 'userData' parameter to CryptoLicense.GetLicenseFromSerial
and LicenseService.ValidateSerial - this allows setting custom user-data
in returned license.
- NEW: Added CryptoLicense.EnableTamperChecking property and CryptoLicenseGenerator.EnableTamperChecking
property.
- NEW: Added CryptoLicense.UseHashedMachineCode property.
- NEW: New CryptoLicense.IsSerial, CryptoLicense.GetLicenseFromSerial
methods.
- NEW: New LicenseService.LogException method to enable troubleshooting
of a live license service.
- NEW: Added CryptoLicense.EncodeToBase32String, CryptoLicense.DecodeFromBase32String,
CryptoLicense.Base64StringToBase32String and CryptoLicense.Base32StringToBase64String
methods.
- CHANGE: CryptoLicense.CurrentUsageDays and CryptoLicense.RemainingUsageDays
and the underlying trial engine now consider whole days so it doesn't
matter which time of day you are validating.
- CHANGE: Reworked OnValidateSerial so that it is now easy to customize
the serial validation process.
- CHANGE: LicenseService.Deactivate, DeregisterFloatingLicense, IsLicenseDisabled
and NotifyValidated now return encrypted boolean strings for better
security.
- CHANGE: CryptoLicenseGenerator.ID property is now read-write.
- FIX: Bug in CryptoLicense.IsEvaluationLicense.
What's New!! in Version 2009 (Build 591519)
CryptoLicensing Generator UI
- NEW: It is now possible to validate activated licenses using the 'Validate'
button. For this, you need to specify the URL of your license service
in the Project Properties Dialog (Ctrl+P).
- NEW: A new low-priced 'Sales Edition' is now available for purchase
if your license generation is handled by resellers or other 3rd parties.
- NEW: Project file is automatically copied to the local path where
you last created the license service files. When testing on the local
host, this can be useful to keep the project file used by the license
service updated.
- NEW: 'Import Licenses' functionality of the license service can now
use just the license codes directly and does not require the license
ids.
- NEW: 'Import Licenses' functionality of the license service can now
import license codes in the 'Disabled License' table. This can be used
to keep a list of disabled licensed which should be revoked.
- NEW: When a license code is validated, the embedded user data, if
any, is displayed in the active user data provider.
- FIX: Project file failed to load when 'Floating' activations was specified
for a profile.
- FIX: 'Max Instances' profile setting did not save and load properly.
- FIX: 'Insert In Template' setting was not getting saved in the project
file.
- FIX: Error occurred when trying to generate a license service before
a newly created project is saved. You are now prompted to save the project
file first if this happens.
Software-side API and Generator API
- NEW: Added CryptoLicense.Deactivate method.
- NEW: Added CryptoLicense.ValidateSignature method.
- NEW: Added CryptoLicense.IsLicenseDisabledInService method.
- NEW: CryptoLicense.CurrentUsageDays, CurrentUniqueUsageDays, CurrentExecutions
and CurrentCumulativeRuntime properties are now read-write.
- NEW: Added CryptoLicense.RemainingUsageDays, RemainingUniqueUsageDays,
RemainingExecutions and RemainingCumulativeRuntime properties.
- NEW: Added CryptoLicense.IsEvaluationTampered method.
- NEW: Added CryptoLicense.ResetEvaluationInfo method.
- NEW: Added CryptoLicenseUserDataPlugin.SetUserData method.
- NEW: Added CryptoLicenseGenerator.SetActiveProfile method.
- NEW: Added LicenseService.IsLicenseDisabled license service method.
- NEW: CryptoLicense.IsEvaluationLicense can be used to determine whether
license is an evaluation license even before it is validated.
- FIX: Licenses not loaded and saved correctly to registry or file.
- FIX: CryptoLicense.GetLicenseFromProfile not working
- FIX: Cannot activate activated licenses ('Limit activations to') from
ShowEvaluationInfoDialog. (.Net).
- CryptoLicense.GetLicenseFromProfile not working correctly.
What's New!! in Version 2009
- Initial release! CryptoLicensing for ActiveX provides a robust, yet
easy way to add licensing, copy-protection and activation capabilities
to your VB6, VBA, RealBasic, Delphi, Borland, MFC, ATL, C++, etc applications,
libraries, components and controls. CryptoLicensing for ActiveX uses
the latest military strength, state-of-the-art cryptographic technology
to ensure that your software and intellectual property is protected.
|