Quick License Manager
HomeWebsite
  • Quick License Manager
  • 🔊Announcements
    • What's new in QLM v19 and upgrade procedure
    • TLS 1.2 Requirements
    • What's new in QLM v18 and upgrade procedure
    • What's new in QLM v17 and upgrade procedure
    • What's new in QLM v16 and Upgrade Procedure
    • What's new in QLM v15 and Upgrade Procedure
    • What's new in QLM v14 and Upgrade Procedure
    • What's new in QLM v12 and Upgrade Procedure
    • What's new in QLM v11 and Upgrade Procedure
    • What's new in QLM v10 and Upgrade Procedure
    • What's new in QLM v9 and Upgrade Procedure
    • What's new in QLM v8 and Upgrade Procedure
    • What's new in QLM v7?
    • What's new in QLM v7 and Upgrade Procedure
  • 🉑Fundamental Concepts
    • License Key Fields Definitions
    • License Key Types
    • Length of QLM license keys
    • OrderStatus field
    • License Model
    • License Model v17+
    • Computer Identifier (ComputerID) requirements
    • License Binding
    • Variable License Binding
    • Product Features
    • Product Properties
      • Data Types
      • Enforce Product Properties
    • CommunicationEncryptionKey and AdminEncryptionKey
    • Search macros
    • Differences between QLM Express and QLM Pro
    • Differences between QLM Pro and Enterprise
    • Server-side license validation
    • Online activation
      • Online Activation with basic authentication (user/password)
      • Online Activation By Authorization Code
    • Offline activation
      • Offine Activation of License Keys
      • Offline activation of License Files
      • Deactivation Verification Code for Offline Deactivation
    • QLM Timer
    • Maintenance Plan
    • How to implement software subscription
    • Subscription workflow when integrated with an eCommerce Provider
    • Check for Updates
    • License Activation Count
    • Organizations
    • History log
    • WebHooks
    • Analytics
    • User Groups
    • Product Bundles
    • Customer User Account
    • Server Error Codes (EServerErrorCode)
    • .NET 6/7/8, .NET Core and .NET Standard Support
  • ↗️Management Console
    • User Interface
      • Get Started
      • Define Products
        • Check For Updates
      • Protect your application
      • Manage License Keys
        • Create License Keys
          • Settings Templates
        • Activate License Keys
        • Export License Keys
        • Fraud Detection
          • Illegal Computers
        • Mail
        • License Server
        • Tools
        • QLM Portal
        • Scheduled Tasks
        • Server Event Log
        • Global Search
      • Manage Customers
      • Backup
      • Generate Keys
      • Validate Keys
      • About
    • How to use QLM Management Console Grid View
    • How to install the QLM Management Console on a second computer
    • Archiving license keys
    • How to create keys in bulk
    • How to export license keys
    • How to export license keys with the Activation Log section expanded
    • How to migrate my products and settings to another machine?
    • How to share products on 2 machines running QLM?
    • How to publish your products to the License Server
    • How to configure defaults when creating an Activation Key
    • Where is the QLM help?
    • How to create a customer report showing their licenses and activations
    • QLM Management Console - Client Side Event Logging
  • 🧙‍♂️License Wizard
    • Online Activation using the QLM License Wizard Standalone Application
    • How to display your EULA in the QLM License Wizard
    • Configure Check for Updates in the QLM License Wizard
    • Creating Trial Keys from the QLM License Wizard
    • QLM License Wizard - Activation by Email using 3rd party authentication
    • QLM License Wizard Try Button
    • QLM License Wizard - Download Latest Version from a Cloud Drive
    • QLM License Wizard localization
    • How to restore the factory settings of the QLM License Wizard
    • How to initialize the QLM License Wizard programmatically
    • QLM License Wizard Performance
    • How to use the QLM License Wizard with QLM Express
  • 🗜️QLM Agent
    • QLM Agent Service
    • How to manually register the QLM Agent Windows Service
  • 📧Email Framework
    • Configuration
      • How to use SMTP to send emails
      • How to configure QLM to send mail using SMTP
      • Sending emails using the Microsoft Graph API
      • Sending emails using the Gmail API
        • How to create a Gmail OAuth Client ID
        • How to create a Gmail Service account
    • Email Templates
      • How to create email templates with your own editor and upload them to the server
      • External Email Templates
      • Which variables are available in an email template?
    • Email Notifications
      • How to automatically email customers their license key using Scheduled Tasks
      • How to automatically email customers when the subscription is about to expire using Scheduled Tasks
      • How to follow up on idle trials with QLM Enterprise
      • How to send yourself a weekly report of orders
      • How to automatically send an email when a new license is created
      • How to send yourself a weekly report of upcoming renewals
      • How to send email notifications when an illegal computer is detected
      • Send aggregated email notifications per subscription, order or email
      • How to send a notification when a customer is created
      • How to create email drip campaigns in QLM
      • How to receive an email report of failed trial requests using Scheduled Tasks
      • How to automatically send the vendor an email when a customer activates a license
      • How to send email notifications when an activation attempt is detected
      • How to email a monthly analytics report
    • How to email customers their license key interactively from the QLM Management Console
    • Third-Party Email Verifiers
      • Debounce.io
      • Zero Bounce
      • Verify Mail
    • How to exclude customers from email notifications
  • ☁️Floating Licenses
    • Cloud Floating Licenses
      • Implement cloud-based floating licenses with QLM Pro
      • How to implement Cloud Floating Licenses (CFL) in QLM v17+
      • How to implement Cloud Floating Licenses (v16 or earlier)
      • Cloud-based floating licenses and multiple application instances
      • Cloud-based floating licenses - Check-out for offline usage
      • How to implement cloud-based floating licenses for cross-platform applications
    • On-premise Floating Licenses
      • Implement Floating Licenses
      • How to implement floating licensing with QLM Enterprise
      • How to support floating and node locked licences in the same app
      • How to simultaneously support node-locked and cloud-based floating licenses
      • QLM Floating License Viewer
  • ☁️License Server
    • What are the requirements for hosting the QLM License Server?
    • How to install the QLM License Server
    • QLM v12+ Azure Integration
    • QLM and Windows Azure Integration (v10)
    • How to install the QLM License Server on Microsoft Azure
    • QLM License Server Hosting Service
    • Server Properties
    • License Server Security Hardening
    • How to enable CORS for the QLM License Server
    • How to configure the QLM License Server to handle large requests
    • How to redirect the QLM License Server using URL Rewrite
    • How to configure the QLM to send emails from the server
    • How to redirect your QLM License Server to a new location
    • How to replicate the QLM database to a DR site
    • QLM License Server: Application API v/s Management API
    • QLM License Server - Disaster Recovery Site
    • Troubleshooting tips for SQL Error
    • Error: ExecuteReader requires an open and available Connection.
    • MS-Access - Operation must use an updateable query.
    • IIS features on Windows Server 2012 or higher
    • How to migrate a QLM License Server to another server
    • How to transfer your data from a MS-Access DB to a MS-SQL Server DB
    • How to connect to the QLM License Server via a proxy server
    • Configure a redirect to another QLM License server using a PHP script
    • License Server Performance Tips
    • How to configure the License Server on a system where TLS 1.0 is disabled
    • IIS on Windows 10
    • How to upgrade the QLM License Server
    • How to perform a DB schema upgrade
    • Customizable Server Messages
  • ⛑️Self Help (Customer Site)
    • Overview
    • Configuration
      • Offline Activation Page
      • Deactivate License Page
      • Trial Registration Page
      • Trial Registration Method
      • License Information Page
      • Email Licenses Page
    • Customization and localization
    • Generate a trial key from your web site
    • Restrict trial requests
    • Hide the URL arguments to QlmCustomerSite pages
    • Troubleshooting
      • Why are no products listed on the offline activation page in the QLM Self Help?
  • ☁️QLM Portal
    • What is the QLM Portal?
    • Role Based Access Control (RBAC)
    • QLM Management Console v/s QLM Portal
    • QLM Portal Licensing Terms
    • Activate your QLM Portal license
    • How to brand the QLM Portal
    • QLM Portal Password Policy
    • QLM Portal Two-Factor Authentication
    • Hosting the QLM Portal on Azure
    • How to show new searches in the QLM Portal
    • How to allow a customer to login to the QLM Portal
    • QLM Portal session timeout
    • QLM Portal restricted key access
    • How to enable attaching images to an email
    • Locked out user
    • Which organizations are displayed in the QLM Portal?
    • How to install the QLM Portal
    • How to upgrade the QLM Portal to a new version
  • ☁️QLM Customer Portal
    • Customer Portal Security Measures
    • Customer Portal Deployment
  • ⚙️3rd Party Integration
    • Integrated eCommerce Providers
    • 2Checkout - How to integrate QLM with Avangate / 2checkout
    • BlueSnap - How to integrate QLM with Bluesnap (Plimus)
    • Chargify - How to integrate QLM with Chargify
    • Cleverbridge - How to integrate QLM with Cleverbridge
    • eCommerce Field Mappings
    • FastSpring
      • FastSpring - How to integrate QLM with FastSpring (Classic)
      • FastSpring - How to configure a maintenance plan option in FastSpring
      • FastSpring - How to configure a subscription based product in FastSpring?
      • FastSpring - How to create a license key with a specific Expiry Date in FastSpring
      • FastSpring - How to create a license key with features from FastSpring
      • FastSpring - How to upgrade a license from FastSpring
      • FastSpring - How to integrate with FastSpring's New Contextual Storefront for a Regular Product
      • FastSpring - How to integrate with FastSpring's New Contextual Storefront for a Subscription Product
      • Fastspring HMAC validation
    • Gravity Forms Integration
    • HubSpot
      • QLM HubSpot Integration
      • HubSpot Integration - Contact Creation
      • HubSpot Integration - Deal Creation
    • InnoSetup - Add the QLM files to your InnoSetup
    • Jotform Integration
    • Magento - How to integrate QLM with Magento
    • MailChimp - Quick License Manager Integration with MailChimp
    • MyCommerce (Shareit) - How to integrate QLM with MyCommerce
    • Office 365 Integration
    • PayPal
      • Paypal - Configure Paypal to handle UTF-8
      • Paypal - How to collect Paypal related event logs
      • Paypal - How to create a paypal Buy Now button that integrates with QLM
      • PayPal - How to create a PayPal Shopping Cart Button
      • Paypal - How to integrate Paypal Subscription with QLM
      • Paypal - How to integrate QLM with Paypal?
      • PayPal - How to set the Paypal IPN URL
    • QlmAuthenticationProvider
    • QuickBooks Integration
    • Regnow - How to integrate QLM with Regnow
    • Salesforce integration - how to automatically create a license when an order is activated
    • Shareit - How to integrate QLM with Shareit
    • Shopify - How to integrate QLM with Shopify
    • Stripe - How to integrate QLM with Stripe Checkout
    • SWREG - How to integrate QLM with SWREG
    • UltraCart - How to integrate QLM with UltraCart
    • WooCommerce
      • WooCommerce - How to integrate QLM with WooCommerce
      • WooCommerce - How to create a simple product in WooCommerce
      • WooCommerce - How to use WooCommerce Subscriptions
      • WooCommerce - How to create a maintenance plan product in WooCommerce
      • WooCommerce Payment Providers Configuration
      • WooCommerce - How to handle Downloadable products
      • WooCommerce - How to map WooCommerce variations to QLM features
      • WooCommerce - How to map WooCommerce variations to product properties
      • WooCommerce - How to process a manual order
      • WooCommerce - How to process manual subscriptions
      • WooCommerce - InApp Purchase
      • WooCommerce - Sell an upgrade of a product
      • WordPress - How to integrate the QLM Trial Registration form in WordPress
      • WordPress- How to integrate the QLM Self Help in your WordPress Site
    • Zapier
      • Zapier - QLM Zapier App
      • Zapier - Use Zapier to create a QLM user when a SalesForce lead is created
  • 👣Step by Step Guides
    • Protect a C# app with the QLM License Wizard standalone executable
    • Protect a WinForms app with the QLM License Wizard
    • Protect a VB.NET App with the QLM License Wizard Standalone Exe
    • Protect a .NET Core Console App
    • Protect a service
    • Protect an ASP.NET application with QLM
    • Protect a VB6 app with QLM
    • Protect an Excel Application with Quick License Manager
    • Protect an MS-Access Application with Quick License Manager
    • Protect a VC++ app with Quick License Manager
    • Protect an Embarcadero C++ Builder app with QLM
    • Protect a Qt C++ Windows application
    • Protect a Qt C++ Cross Platform Application
    • Protect a Linux C++ Application
    • Protect a JUCE application
    • Protect an Embarcadero Delphi application with QLM
    • Protect a PHP application with QLM Enterprise
    • Protect a WinForms app with the Activation Control
    • Protect a Xojo Windows app with QLM
    • Protect an Executable without code changes
    • Protect a PDF file with QLM
  • ℹ️How To
    • How do I transfer QLM to another machine?
    • How to upgrade QLM to a new version
    • How to read product properties from a license file
    • How to bind a license to a USB key (dongle)
    • How to release a new version of your product with new encryption keys
    • How to add license file validation
    • How to allow specific customers to work offline indefinitely
    • How to use GetDataSetEx to retrieve customer information
    • How to implement a pay-per-use model with QLM
    • How to use the HTTP API to create a license for a customer
    • How to block computers from activating a license
    • How to assign a specific set of computers to an Activation key
    • How to bind a license to a Docker Container?
    • How to update features using UpdateLicenseInfo
    • How to set the Application Version dynamically
    • Upgrading Product Properties
    • How to fire an event when MaxDaysOffline is reached
    • How to retrieve activation information from the License Server
    • QLM strict authentication for HTTP Methods
    • How to configure and test MaxDaysOffline
    • Fraud Detection - Illegal Computers and Activation Attempts
    • How to parse a feature string and determine the enabled feature
    • How to limit the activation of a node to a time period
    • How can customers deactivate their license?
    • How to deactivate a license in VB.NET
    • How to send your customer an Analytics Usage Report
    • How to create a search that returns trial customers who do not have a purchased license
    • How to upgrade a license from the QLM Management Console
    • How to protect Javascript code
    • How to get the latest enabled features from the server
    • How to protect a .NET Core app with QLM
    • Associate your own custom data to a license
    • How to enable the maintenance plan on activation only
    • How to activate a license
    • How to enable a 3rd party extension (e-commerce provider)
    • How to update your project to add QLM License Protection
    • How to renew the maintenance plan for an offline customer
    • Sharing license information on a given system
    • How to automate license activation for a corporate customer
    • How to migrate from an in-house licensing system to QLM
    • How to export customers
    • How to handle multiple keys of the same product on the same system
    • How to get a Computer Key in offline mode
    • How to track Affiliates/Reseller sales
    • How to add the QLM .NET Controls to the Visual Studio Toolbox
    • How to get the number of allowed activations of a license
    • How to configure the maintenance plan to start upon activation
    • How to use the localized versions of the QLM binaries
    • Import your existing data into QLM
    • How to create a trial key from within your application
    • How to use QLM with VBA without registering QlmLicenseLib.dll
    • Tool to delete registered license keys on a system
    • How to get the list of activated computers
    • How to limit the number of users logged in to a web application
    • How to deactivate a license if a user's computer is dead
    • How to view all expired subscriptions
    • How to schedule a backup of your database
    • How to create a search that shows non active licenses
    • How to deactivate a license on a mobile device
    • How to determine which QLM DLL is loaded
    • How to generate a trial key for your application
    • How to call AddUser from C++
    • How to embed a number in the license key
    • How to use computer bound keys with QLM Express
    • How to configure QLM Express to not connect to the Demo License Server
    • How to register QlmLicenseLib.dll for non .NET applications running on Windows
    • How to clear license keys from an end user system
    • How to call the Analytics API from C++
    • How to extend a license subscription from a URL
    • How to define the user / password associated to an eCommerce provider
    • How to limit the number of trial license keys a customer can use
    • QLM Unity3d Licensing Sample
    • How do I make my license keys computer bound?
    • How to make license keys work with different versions of a product?
    • How to extend the expiry date for a customer?
    • How to call CreateLicenseKeyEx2 from ASP?
    • How can I quickly tell the type of a license key?
    • How to call UpdateLicenseInfo and update UserData with an XML fragment
    • How to call ParseResultsEx from C++
    • How to configure Outlook's security warning
    • How to validate if a license was revoked on the server?
    • How to use Generic license keys
    • How to issue activation keys with multiple activations from an eCommerce provider
    • How to ship an evaluation version of your software?
    • How to set the maintenance plan duration from an ecommerce provider
    • How to get the last modified licenses
    • How to protect a Java Desktop Application with QLM Enterprise
    • How to protect a Mac OS X application with QLM Enterprise
    • How to protect an iOS App with QLM Enterprise
    • How to protect an Android App developed in Xamarin with QLM
    • How to protect an Android App with QLM Enterprise
    • How to protect a cross platform Qt application with QLM Enterprise
    • How to automatically invoke a webhook using Scheduled Tasks
    • How to configure the QLM License Wizard to allow Offline Activation only
    • HTTP API examples
    • How to load an existing XML Settings file in the Protect Your App wizard
    • Common Searches
    • How to add the QLM User Controls to the Visual Studio Toolbox
    • How to filter data by feature
  • ❔FAQ
    • How do I change the license binding to a different identifier?
    • How to reserve licenses for a list of users
    • Bloated License Server Database
    • Why are enabled features not shown when I hover over an Activation Key?
    • Loading different versions of QlmLicenseLib.dll from the same process
    • Available options for controlling the expiry date of a license
    • GDPR Data Deletion Request
    • How to test a connection to a SQL Server
    • Seeing activation notifications from the License Server?
    • How to show the Generate Keys tab
    • Difference between the License Expiry Date and the Maintenance Plan Expiry Date
    • Where are my products' definition stored?
    • How to restore the default searches in the QLM Management Console
    • You have exceeded the maximum number of activations allowed per system.
    • How to configure the QLM Management Console Date format to match your SQL Server's
    • What is the difference between cloud-based and on-premise floating licenses?
    • MaxDaysOffline
    • Which QLM features are available on each platform?
    • Which edition of QLM should I use?
    • How to check which features are enabled in your QLM license
    • Product definition changes are not saved
    • How to create an Activation Key with Product Properties
    • Error: Configuration system failed to initialize
    • How to get an Organization ID from an Organization Name
    • Why does ReadKeys return the wrong key
    • How to prevent reuse of deactivated keys
    • How to recover from a corrupted xml configuration file
    • How to read Product Properties from a data set
    • Why does ReadKeys still return a key after calling DeleteKeys?
    • How to delete a record for a specific ComputerID
    • How to use Fiddler to diagnose connectivity issues with the QLM License Server
    • How to fix the QLM Management Console opening off the screen
    • SQL Conversion Error
    • QLM Management Console and QLM License Server Versions
    • QLM client side requirements
    • Error parsing results: Unexpected DTD declaration
    • How to limit the number of deactivations
    • How to reinitialize the built-in Demo products
    • How to allow multiple product versions on the same system
    • How to check if features were updated on the server
    • Re-signing the xml settings file after modification
    • How to activate a license programmatically from VC++
    • How to prevent the QLM Management Console from overwriting local email templates
    • Property path is incorrect for type
    • How to bind a license to your own unique identifier
    • How to create a search to show licenses associated to a Reseller / User Group
    • The number of allowed activation keys per client has now been exceeded
    • How to bind a license to multiple identifiers, serially
    • How to determine the version of the License Server
    • Access is denied message when validating a signature
    • QLM v11 GDPR Support
    • How to create a QlmLicense object in VB6 or VBA
    • Error: Invalid column name 'xxx' in the QLM Management Console
    • QLM License Wizard cannot read a settings file when located on a mapped drive
    • QLM Portal - Remember User Name / Password
    • QLM on Non-Windows Platforms
    • How to increase the number of activations per license
    • How to change the date format in the QLM Management Console
    • ConfuserEx
    • How to prevent an Excel sheet from opening if macros are disabled
    • Cannot access a disposed object
    • License Wizard or Activation Form is displayed eventhough the license is activated
    • Error when calling Analytics AddInstall method
    • How to activate your trial or purchased license of Quick License Manager
    • When is the LastAccessedDate field updated
    • How to cleanup an orphaned QLM installation
    • QLM Demo License Server
    • How to prevent a user from running multiple instances of your app
    • Could not find product x.y
    • How to update the CommunicationEncryptionKey and AdminEncryptionKey
    • Distinguish between a trial and a subscription
    • How to get the activated computers for a given activation key
    • Why is the license not stored (or deleted) at the machine level even if the user is an Administrator
    • How to use late binding in Excel and Access
    • Error 80131700, 8013101b, 80131515 when instantiating a QLM object
    • How to get information about a license key
    • How to create a product with STD and PRO editions as features
    • How does QLM protect an application hosted on a Virtual Machine (VM)?
    • How to tighten binding to a virtual machine
    • What happens to QLM license keys when a user upgrades to Windows 10
    • Microsoft .NET Framework Client 4.0 could not be installed.
    • Getting Started with Quick License Manager Enterprise
    • Getting Started with Quick License Manager Express
    • Getting Started with Quick License Manager Professional
    • How to extend a subscription in offline mode
    • Handling computer ID with multibyte characters
    • PHP Sample to generate a license key
    • How to get customer information for a license key?
    • How I got the Sample QLM Delphi program working on my computer
    • What is the syntax of is_features
    • All orders search does not show any records
    • Should I use the .NET 4.0 or the .NET 2.0 DLLs?
    • Which QLM DLLs do I need to distribute with my application
    • Terminal Server Support
    • How to get the QLM License Server Event Log
    • Which DLLs do you need to distribute with your C++ application
    • QLM still shows Demo even after activating your purchased license
    • Registering the QLM Dlls for VB6, Office and non .NET apps
    • StoreKeys options
    • QLM Pricing
    • What Operating Systems does Quick License Manager support?
    • Can a user back date their computer to run an trial version?
    • StoreKeys and ReadKeys
    • How to ship an evaluation version of your software
    • How to configure QLM Pro to connect to your local License Server
    • How can I use more than 32 features with QLM Pro?
    • How to disable features in the web service
    • How to parse data returned by GetDataSet or GetDataSetEx
    • How does QLM protect against users requesting additional activations because a computer died
    • What DLLs do you need to ship with your application?
    • What version of QlmLicenseLib.dll should I use?
    • How to revoke a license ?
    • Protect calls to GetActivationKey
    • Registration-Free Activation of QlmLicenseLib.dll
    • How to hide sensitive information from a third-party developer
    • How to update the ClientVersion / ApplicationVersion
    • How to change the name of your product
  • ⁉️Troubleshooting
    • Diagnosing network connectivity issues with the QLM License Server
    • Tool to test network connectivity
    • Troubleshoot issues with the QLM WordPress / WooCommerce plugin
    • How to Diagnose ReadKeys issues
    • How to diagnose "The license key is invalid" message
    • Could not load file or assembly 'DevExpress.XtraWizard.v10.2, Version=10.2.3.0
    • Error calling any QLM API
    • Your license key does not allow you to call the QLM Pro API
    • An attempt was made to load a program with an incorrect form
    • IsolatedStorageException calling StoreKeys in an ASP.NET application
    • Error instantiating QLM object in Microsoft Excel
    • Failed to validate request because the time between server and client is not synchronized
    • Failed to decrypt data message
    • Error: The private key is not base64-encoded.
    • Could not load the file or assembly 'DevExpress.XtraWizard.v10.2
  • 🅱️Blog
    • Providing full source code – the comforting myth
    • Iterative Releases
    • What is online license activation?
    • Grow your company with steady recurring revenue
    • Binding a license key to a computer
    • Ease the license activation burden for large enterprises
    • Integrate a "Check for Updates" feature with your software license protection process
    • Quick License Manager integrates with commerce provider FastSpring
  • 👩‍🔬Customer Contributions
    • QLM Pro .NET Control Sample in VB.NET
    • QLM Express - Fortran Interface
    • Protecting a C++ Builder application
  • ⚖️Legal stuff
    • QLM Express Licensing Terms
    • QLM Pro Licensing Terms
    • QLM Enterprise Licensing Terms
    • QLM Document Protection Licensing Terms
    • QLM SDK Protection Licensing Terms
    • What is the QLM Yearly Maintenance Plan
  • 📹Video Tutorials
  • ⚙️API Reference
    • Overview
    • .NET API
      • IQlmLicense
        • Enums
          • ECommunicationProtocolType
          • EComputerType
          • ELicenseBinding
          • ELicenseModel
          • ELicenseStatus
          • ELicenseType
          • EOfflinePeriodExceededAction
          • EOrderStatus
          • EServerErrorCode
          • EStoreKeysOptions
          • EStoreKeysTo
        • Properties
          • DateTamperingGracePeriod
          • ELicenseStatus
          • EnableSoapExtension
          • EncryptionAlgorithm
          • EvaluationPerUser
          • ExpiryDateRoundHoursUp
          • FavorMachineLevelLicenseKey
          • FloatingLicenseMaxOfflineDuration
          • LicenseBinding
          • LimitTerminalServerInstances
          • MaxDaysOffline
          • OfflinePeriodExceededAction
          • Private Key
          • PublicKey
          • SimulatedDateTime
          • StoreKeysLocation
          • StoreKeysOptions
          • Timeout
          • UniqueSystemIdentifierExceptions
          • ValidateOnServer
        • Client Side Methods
          • CreateDeactivationCode
          • CreateLicenseKey
          • CreateLicenseKeyEx
          • CreateLicenseKeyEx2
          • CreateLicenseKeyEx3
          • CreateLicenseKeyEx4
          • CreateLicenseKeyEx5
          • DefineProduct
          • DeleteCookie
          • DeleteKeys
          • DeleteKeysEx
          • FormatLicenseKeyEx
          • GetALicenseTypeFromKey
          • GetDaysOffline
          • GetNumberOfRunningInstances
          • GetStatus
          • IsEvaluation
          • IsFeatureEnabled
          • IsFeatureEnabledEx
          • IsLicenseKeyACloudLicense
          • IsLicenseKeyAFloatingLicense
          • IsLicenseKeyAPermanentLicense
          • IsLicenseKeyASubscriptionLicense
          • IsLicenseKeyATrialLicense
          • IsLicenseModelACloudLicense
          • IsLicenseModelAFloatingLicense
          • IsLicenseModelAPermanentLicense
          • IsLicenseModelASubscriptionLicense
          • IsLicenseTypeACloudLicense
          • IsLicenseTypeAFloatingLicense
          • IsLicenseTypeAPermanentLicense
          • IsLicenseTypeASubscriptionLicense
          • IsLicenseTypeATrialLicense
          • IsLicenseModelATrialLicense
          • IsValid
          • LaunchProcess
          • LoadSettings
          • ParseProductProperties
          • ParseResults
          • ReadActivatedLicenseFile
          • ReadCookie
          • ReadKeys
          • ReadLicenseFile
          • ReadLicenseXml
          • ReadProductPropertiesFile
          • StoreCookie
          • StoreKeys
          • StoreKeysEx
          • ValidateFile
          • ValidateLicense
          • ValidateLicenseEx
          • ValidateLicenseEx2
          • ValidateLicenseEx3
          • ValidateSignature
          • VerifyActivatedLicenseFile
        • Application Methods
          • ActivateLicense
          • ActivateLicenseByAuthorizationCode
          • ActivateLicenseByAuthorizationCodeEx
          • ActivateLicenseByAuthorizationCodeEx2
          • ActivateLicenseByBasicAuthentication
          • ActivateLicenseByField
          • ActivateLicenseDialog
          • ActivateLicenseEx
          • ActivateLicenseForUser
          • ActivateLicenseForUserEx
          • ActivateLicenseForUserEx2
          • ActivateLicenseForUserEx3
          • ActivateLicenseForUserEx4
          • AddUser
          • AddUserEx
          • AddUserEx2
          • AddUserEx3
          • CreateComputerBoundTrialKey
          • DownloadLicenseFileFromServer
          • DownloadProductPropertiesFromServer
          • GetActivatedSystems
          • GetActivationKeyFromLegacyKey
          • GetActivationKeyFromOrderID
          • GetActivationKeyFromUserData
          • GetActivationLog
          • GetActivationLogLicenseInfo
          • GetCustomerInfo
          • GetDashboardInfo
          • GetDashboardLicenseInfo
          • GetLatestEligibleVersion
          • GetLatestVersion
          • GetLicenseFile
          • GetLicenseInfo
          • GetMaintenancePlanRenewalDate
          • GetMaintenancePlanRenewalDateByComputerKey
          • GetOrder
          • GetProductInfo
          • GetProductProperties
          • GetRemainingActivations
          • GetServerProperty
          • GetSubscriptionExpiryDate
          • GetUserData
          • GetUserDataFromActivationLog
          • IsIllegalComputer
          • IsLicenseKeyActivated
          • IsLicenseKeyRevoked
          • IsLicenseKeyValid
          • Ping
          • PingEx
          • ReactivateLicense
          • ReactivateLicenseEx
          • ReleaseLicense
          • ReleaseLicense
          • ReleaseLicense
          • ReleaseLicense
          • ReleaseLicense
          • RequestAuthorizationCodeForActivation
          • SetUserData
          • SetUserDataInActivationLog
          • SubscribeToMailList
          • UpdatePrivacyConsent
          • UpdateUser
          • UpdateUserEx
          • UpdateUserEx2
          • UpdateUserEx3
          • UpdateUserEx4
          • ValidateLicenseFile
          • ValidateLicenseFileContent
          • ValidateLicenseOnServer
          • ValidateLicenseOnServerEx
          • ValidateLicenseOnServerEx2
          • ValidateLicenseOnServerEx3
          • WriteProductPropertiesFile
        • Management Methods
          • AddOrganization
          • CreateActivationKey
          • CreateActivationKeyEx
          • CreateActivationKeyWithExpiryDate
          • CreateActivationKeyWithExpiryDateEx
          • CreateActivationKeyWithExpiryDateEx2
          • CreateActivationKeyWithExpiryDateEx3
          • CreateActivationKeyWithExpiryDateEx4
          • CreateActivationKeyWithExpiryDateEx5
          • CreateActivationKeyWithExpiryDateEx6
          • CreateActivationKeyWithExpiryDateEx7
          • CreateActivationKeyWithExpiryDateEx8
          • CreateActivationKeyWithExpiryDateEx9
          • CreateOrder
          • CreateOrderEx
          • CreateUserAccount
          • DeleteLicense
          • DeleteOrganization
          • DeleteUser
          • DeleteUserAccount
          • DeleteUserEx
          • DownloadProducts
          • GetCustomersInfo
          • GetCustomersInfoEx
          • GetDataSet
          • GetDataSetEx
          • GetDataSetEx2
          • GetOrganization
          • RenewSubscription
          • RevokeLicense
          • SetMaintenancePlanRenewalDate
          • SetProductProperties
          • UpdateActivationLogInfo
          • UpdateLicenseInfo
          • UpdateLicenseKey
          • UpdateOrderStatus
          • UpdateOrganization
          • UpdateUserAccount
          • UpgradeLicense
          • UpgradeLicenseEx
          • UploadProducts
      • ILicenseInfo
        • Methods
          • LoadLicenseXml
        • Properties
      • IQlmHardware
        • GetActiveDirectoryAppDomain
        • GetActiveDirectoryComputerDomain
        • GetBiosUuid
        • GetFirstMACAddress
        • GetLoggedInUser
        • GetMACAddresses
        • GetMachineName
        • GetMotherBoardSerialNumber
        • GetSMBiosUUID
        • GetTerminalServerUniqueIdentifier
        • GetUniqueCombinedSystemIdentifier
        • GetUniqueSystemIdentifier1
        • GetUniqueSystemIdentifier2
        • GetUSBSerialNumber
        • GetUSBSerialNumber
        • GetVolumeSerialNumber
        • IsRunningAsUwp
        • RunningInDockerContainer
        • RunningOnHyperV
        • RunningOnTerminalServer
        • RunningOnVirtualBox
        • RunningOnVM
        • RunningOnVMWare
      • IQlmCustomerInfo
        • Properties
        • Methods
          • ParseResults
      • IQlmOrganizationInfo
        • Properties
      • IQlmAnalytics
        • Methods
          • AddInstall
          • AddInstallEx
          • ReadInstallID
          • RemoveInstall
          • UpdateInstall
          • UpdateInstallEx
          • UpdateLastAccessedDate
          • WriteInstallID
      • IQlmCloudFloatingLicenseHelper
        • Methods
          • CheckinLicense
          • CheckoutLicense
          • DeactivateAllExpiredLicenses
          • GetOfflineInformation
          • GoOffline
          • GoOnline
          • ProcessOrphanedInstances
        • Properties
      • IQlmFloatingLicenseHelper
        • Enums
          • ELicenseKind
          • QlmActivationStatus
        • Properties
        • Methods
          • GetFloatingLicenseLocation
          • GetLicenseKind
          • Init
          • Load
          • PublishFloatingLicenseLocation
          • RegisterNode
          • UnregisterNode
          • ValidateLicense
      • IQlmFloatingLicenseMgr
        • Properties
      • IQlmProductInfo
      • IQlmProductProperties
        • Properties
        • Methods
          • AddProductProperty
          • Deserialize
          • GetProperties
          • GetProperty
          • Serialize
          • ValidateSignature
      • IQlmProductProperty
        • Properties
      • LicenseValidator
        • Properties
        • Methods
          • DeleteAllKeys
          • ValidateLicense
          • ValidateLicense
          • ReactivateKey
          • ValidateLicenseAtStartup
          • ValidateLicenseAtStartup
          • ValidateLicenseAtStartup
    • HTTP Methods
      • ActivateKey
      • ActivateKeyByAuthorizationCodeHttp
      • AnalyticsAddInstallHttp
      • AnalyticsRemoveInstallHttp
      • AnalyticsUpdateInstallHttp
      • AnalyticsUpdateLastAccessedDateHttp
      • EnableMaintenancePlan
      • GetActivationKey
      • GetActivationKeyWithExpiryDate
      • GetLatestVersionHttp
      • PingHttp
      • ReleaseLicenseHttp
      • RenewMaintenancePlan
      • RenewSubscriptionHttp
      • RequestAuthorizationCodeForActivationHttp
      • RetrieveActivationKeyHttp
      • RevokeLicenseHttp
      • SubscribeToMailListHttp
      • UpdateLicenseHttp
      • UpdatePrivacyConsentHttp
      • UpdateUserInformation
      • UpgradeLicense
      • ValidateLicenseHttp
    • License Wizard User Control
      • UI Properties
      • Image Properties
      • Behavior Properties
      • User Registration Properties
      • License Properties
      • On-premise Floating License Properties
      • Events
    • Activation User Control
      • Properties
      • Events
Powered by GitBook
On this page
  • Overview
  • Configuration
  • Detection
Edit on GitHub
  1. How To

How to bind a license to a Docker Container?

PreviousHow to assign a specific set of computers to an Activation keyNextHow to update features using UpdateLicenseInfo

Last updated 1 year ago

Applies to: QLM Enterprise

Version: 16.0.22152.2


Overview

If you run your application within a docker container, QLM can bind the license to the hostname of the docker container.

Configuration

There are two ways you can configure QLM to bind the license to a Docker Container:

  • By setting the ELicenseBinding to QlmUniqueSystemIdentifier2

  • By setting the ELicenseBinding to DockerContainer

mceclip0.png

Detection

To detect that your application is running in a Docker Container, QLM relies on the following environment variable: QLM_RUNNING_IN_DOCKER_CONTAINER

Therefore, when you create your Docker container image, you must set the QLM_RUNNING_IN_DOCKER_CONTAINER environment variable to True.

Example of a Dockerfile used to create an image:

FROM mcr.microsoft.com/dotnet/framework/runtime
WORKDIR /app
ENV QLM_RUNNING_IN_DOCKER_CONTAINER=true
COPY ./publish .
ENTRYPOINT ["/app/QlmCSharpConsoleAppSample.exe"]

The following API is also available to detect if your application is running in a Docker Container (requires that your image sets the QLM_RUNNING_IN_DOCKER_CONTAINER environment variable): QlmHardware.RunningInDockerContainer()

Example:

QlmHardware hw = new QlmHardware();
bool isRunningInDockerContainer = hw.RunningInDockerContainer ();
ℹ️