To top
Support & Downloads Support & Downloads

Frequently Asked Questions

Share:

CmActLicenses

  •  

    The CmContainer is displayed in red with the broken symbol if the CmActLicense is invalid or broken.

     

    The states "broken" and "invalid" can be caused by several reasons:

     

    Broken

    This condition occurs when the binding characteristics of the license no longer match the hardware characteristics of the system.

    This can also occur if the Microsoft WMI (Windows Management Instrumentation) service, which is used to read the binding characteristics, is not running.

    If it is only a temporary problem, clicking the "Repair license" button could repair the license again.

    Which features have changed, or what actually happened, is only possible with an analysis of CmActDiag logs.

     

    Invalid

    This status occurs when, for example, the CmActLicense data can no longer be accessed or the dynamic data no longer match. CodeMeter stores this information hidden on the system at runtime.

    The exact cause is usually only possible with an analysis of the CmActDiag logs.

     

    Investigation

    The usual information required for the CmActLicense analysis is relevant for investigation.

    Details can be found in the Knowledgebase-Item KB-0141.

     

    Repair (for ISV)

    For Universal Firm Code (Firm Code 6.xxx.xxx, serial number 130-xxxxxxx):

    If the system needs to run again quickly, a new CmContainer must be created and the license must be reissued.

    To analyze the behavior, Wibu-Systems recommends not to delete the old CmContainer.

    If this was deleted, the analysis of the cause (depending on the cause) may no longer be possible.

     

    For CmActLicense Firm Codes (Firm Code 5.xxx.xxx, serial number 127-/128-xxxxxxx):

    If the CmActLicense is broken due to the binding characteristics, a new binding can be performed via a new activation.

    Please note that this costs Firm Security Box (FSB) transactions.

  •  

    To activate the license, please proceed as follows:

    1. Import *.WibuCmLif file.

    cmu -i -f <*.WibuCmLif->

    cmu -i -f Universal_Firm_Code_CmActLicense_6000010.WibuCmLif

    2. Note the serial number of the new container (can be read out later

    via cmu -l).

    3. Create the Context File.

    cmu -s <Serial number of the container> -c <FirmCode> -f <File name>

    cmu -s 130-3229388864 -c 6000010 -f context.WibuCmRaC

    This Context File can now be used either in the CodeMeter License Central

    itself or in the WebDepot to create an Update File for this

    CmActLicense container.

    4. Import the file.

    cmu -i -f <file name>

    cmu -i -f context.WibuCmRaC

  •  

    If CmActLicenses are suddenly no longer displayed in CodeMeter Control Center, it may be because CodeMeter is running as an application and was not started as a service. CmActLicenses are only supported if CodeMeter is running as a service.

    In this case the CodeMeter log on the "Events" tab also shows the following entry: "A CmActLicense license exists. CmActLicense requires running CodeMeter License Server as a service."

     

    Via "CodeMeter Control Center | Menu Action | Restart CodeMeter Service" you can quit the running application CodeMeter.exe and start the installed CodeMeter service.

    Then the CmActLicenses should be reloaded and displayed in CodeMeter Control Center.

  •  

    CodeMeter first collects available features of a computer or device, such as motherboard, CPU, hard disks, operating system information, battery serial number, TPM chip, etc.

    Afterwards the found characteristics are weighted. I.e. if, for example, a TPM chip is readable, then of course it is included in the binding with a very high weighting.

     

    Now you, the independent software vendor (ISV) , determine the tolerance of the features that is needed to keep the binding valid.

    With the setting "Tight" the tolerance is low, and many of the original features must still be preserved. With "Loose" the tolerance is high and it is less sufficient to find features again to identify the computer. Not necessarily the number of characteristics is important, but the 'total weight'.

    If a characteristic changes, a more or less large amount of binding information is missing due to the weighting. Together with the tolerance it is determined whether a CmActLicense breaks or remains valid.

  •  

    In order to prevent that a user inadvertently deletes a CmActLicense license, by default, the respective button in CodeMeter Control Center is deactivated, if the CodeMeter Runtime Kit is installed. On installing the CodeMeter Software Development Kit (SDK) this button is activated by default.

     

    Explicitly deleting a licence

    In order to explicitly delete a license, Wibu-Systems recommends using the cmu32.exe commandline tool. Please proceed as follows:

    1. Open CodeMeter Command Prompt.

    Navigate to "Start | All Programs | CodeMeter | Tools | CodeMeter Command Prompt"

    (alternatively, click the Windows symbol and type 'CodeMeter Command Prompt')

    2. Execute the following command

    cmu32.exe --delete-cmact-license --serial <Serial number of CmActLicense license> 

    The respective serial number can be obtained using CodeMeter Control Center or WebAdmin.

     

    Activating the 'Delete license' button

    Using the registry entry below you may also activate the 'Delete license' button in CodeMeter Control Center. Please note, however, that this involves deleting any CmActLicense licenses.

    Please proceed as follows:

    1. Open registry by clicking the Windows symbols and type 'regedit'.

    2. Create a new string at

    HKEY_CURRENT_USER | SOFTWARE | WIBU-SYSTEMS | CodeMeterCC

    with the name "AllowCmActDelete" and set entry to a value of 1.

    3. Restarting CodeMeter Control Center shows button.

     

    In order to deactivate the button follow step 1 and set "AllowCmActDelete" to a value of 0 or delete the complete string entry.

  •  

    In order to prevent that a user inadvertently deletes a CmActLicense license, by default, the respective button in CodeMeter Control Centre is deactivated´, if the CodeMeter Runtime Kit is installed. On installing the CodeMeter Software Development Kit (SDK) this button is activated by default.

     

    Explicitly deleting a licence

    In order to explicitly delete a license, Wibu-Systems recommends using cmu32.exe as commandline. Please proceed as follows:

    1. Open CodeMeter Command Prompt. Found at "Start | All Programs | CodeMeter | Tools | CodeMeter Command Prompt" (alternatively, click the Windows symbol and type 'CodeMeter Command Prompt')

    2. Execute command cmu32.exe --delete-cmact-license --serial <Serial number of CmActLicense> to delete. The respective serial number can be obtained using CodeMeter Control Center or WebAdmin.

    This bears the advantage that no CmActLicense licenses are inadvertently deleted.

     

    Activating the 'Delete license' button

    Using the registry entry below you may also activate the 'Delete license' button in CodeMeter Control Center. Please note, however, that this involves deleting any CmActLicense licenses.

    Please proceed as follows:

    1. Open registry by clicking the Windows symbols and type'regedit'.

    2. Create a new string at HKEY_CURRENT_USER | SOFTWARE | WIBU-SYSTEMS | CodeMeterCC with the name "AllowCmActDelete" and set entry to a value of 1.

    3. Restarting CodeMeter Control Center shows button.

     

    In order to deactivate the button follow step 1 and set "AllowCmActDelete" to a value of 0 or delete the complete string entry.

  •  

    The error "CodeMeter License Server cannot open the file containing the Firm Item template, Error 269" means that the Firm Item template CmActFI-(yourFirmCode).wbb was not found by the CodeMeter Runtime Server.

    This template is required on all PCs on which you want to program CmActLicense licenses. Please proceed as follows:

     

    1. Copy the file (CmActFI-(yourFirmCode).wbb to the respective PC.

    2. Import the template. Alternatively:

    a) Drag&Drop into CodeMeter Control Center.

    b) Import via navigation "Import file" into CodeMeter Control Center.

    c) Use CodeMeter command line tool cmu(32)

    cmu(32) -i -f<path and name of the file>, e.g. cmu -i -f CmActFI-5010.wbb

     

    After that you should be able to create your CmActLicense Firm Code licenses without any problems.

  •  

    A multiple occurrence of the error 'CmAct license control: CM 9008, A matching CmActLicense license already exists, Error 266 (ID: ERROR_0003)' in the CodeMeter License Central protocol and the event WB266 in the CodeMeter protocol can be caused by a locally bound or not 'fully' released CmActLicense license on CodeMeter License Central.

     

    Whether this is the case, can be checked by entering the following cmu command on the LicenseCentral console or via ssh Termial.

    Input:

    cmu -l

    Output:

    If a local CmActLicense license is displayed (serial number 128-xxxxx or 130-xxxxx), this is the problem.

     

    The solution is to restart the CodeMeter daemon (CodeMeterLin) via the console:

    Input:

    sudo service codemeter restart

    The 'old, temporary' CmActLicense license should now be fully unloaded.

    This can be checked by re-entering "cmu -l".

    Now no CmActLicense serial number should be displayed anymore.

  •  

    With a CmActLicense license, parts of the CmContainer are stored at different locations on the system. These is the so-called dynamic data. These parts are now all read when loading and must fit together so that the CmActLicense license can be successfully decrypted.

    That is, if the CmActLicense information can no longer be read/written, e.g. because access is not possible, the information has been deleted/overwritten, an invalid CmActLicense license may result.

     

    In practice, anti-virus programs, backup programs, cleaning tools, (partially) recovered data/backups, etc. are usually the cause of invalid CmActLicense licenses.

     

    Wibu-Systems therefore recommends to enter CodeMeter or the folder "C:\ProgramData\CodeMeter\CmAct" in the corresponding anti-virus programs, backup programs, etc. as an exception. Otherwise you should take care not to delete or overwrite any hidden CmActLicense information.

     

    In the case of 'Protection Only' licenses, however, it is usually possible to simply reinstall them and reactivate the CmActLicense license. For this purpose, the option "ReImport" must be specified when creating the 'Protection Only' license, which Wibu-Systems recommends especially for 'Protection Only' licenses.

  •  

    No. CmActLicenses or the CmActLicense license containers cannot be moved to another system.

     

    However, many software vendors offer to deactivate licenses in the CmContainer so that they can be reactivated in another CmContainer on another system.

     

    The deactivation of licenses (return) and the (renewed) activation of the licenses can be done via an adapted WebDepot of the software manufacturer.

  •  

    Since July 2018, the test kit no longer contains the Firm Security Box (FSB) entry for Protection Only licenses.

     

    Therefore, the test kit entries no longer have the option of programming a Protection Only license with Firm Code 6000010. As far as the binding type 'None' is concerned, we believe that all tests can also be carried out with a 'Trial' license.

    Should a Protection Only license still be required, our sales department can issue it again as an additional license (102688:100001), which can be activated via license.wibu.com.

    Like the normal CodeMeter Testkit license, this license is limited in time (approx. 1 year).

  •  

    To be able to investigate why a CmActLicense is no longer usable we require the following information:

     

    1. CmDust-Result.log (instructions below)

    2. All CmActDiagLogs (Windows: C:\ProgramData\CodeMeter\Logs |Linux: /var/logs/CodeMeter |MacOs: /Library/Logs/CodeMeter)

    3. Files of the affected CmActLicense - if unsure, all of the files (Windows: C:\ProgramData\CodeMeter\CmAct |Linux: /var/lib/CodeMeter/CmAct |MacOs: /Library/Application Support/CodeMeter/CmAct)

    4. Information about the behavior:

    - Since when is the CmActLicense no longer usable

    - How often does the behavior occur, e.g. only right after a system reboot

    - Does the CmActLicense work again after using the license repair ("Repair License"-button in the CodeMeter Control Center)

    - Was the system modified in any way, e.g. Windows/system updates, Cleaning tools executed etc.

     

     

     

     

    Instructions on how to generate a CmDust result.log file

     

    Windows

    1. Connect CmDongle. This step is ommitted if using CmActLicense.

    2. Open CmDust using the "Start | All Programs | CodeMeter | Tools" menu item.

    The output of the executed program is written to the text file CmDust-Result.log and saved to the user directory which automatically opens when starting CmDust.

    Alternatively, you are able to use the commandline application cmu32 to create a log file.

    3. Send this file for analyzing to support@wibu.com .

     

    macOS

    For macOS, you create the CmDust file using the cmu commandline program. Calling cmu is stored in the search path. To create a CmDust log, please proceed as follows:

    1. Open the commandline/terminal

    2. Type in the following command cmu --cmdust.

    Using the option --file allows you to specify a name and the storage location. -->cmu --cmdust --file CmDust.log

    By default, the file displays in the screen console.

    3. Send this file for analyzing to support@wibu.com.

     

    Linux, Sun

    For the operating systems Linux and Sun you create the CmDust file using the cmu commandline program. Calling cmu is stored in the search path.

    1. Open the commandline/terminal

    2. Type in the following command cmu --cmdust.

    Using the option --file allows you to specify a name and the storage location. -->cmu --cmdust --file CmDust.log

    By default, the file displays in the screen console.

    3. Send this file for analyzing to support@wibu.com.

  •  

    When a Smart Bind CmActLicense has been applied with CodeMeter version 6.90 or later, a new mechanism is used to detect significant changes on virtual machines (restoring a snapshot or cloning the VM). When such a change is detected, the license becomes invalid immediately to prevent tampering attempts.

    This mechanism is based on Microsoft's "Generation ID" standard and is supported by all popular virtualizers.

     

    Unfortunately, Azure behaves incorrectly here and changes this Generation ID on power off/on, as if a significant change had occurred.

    There is also a known bug report in the Azure Community: feedback.azure.com/forums/216843-virtual-machines/suggestions/6060983-ensure-virtual-machine-generationid-does-not-chang

    A normal reboot does not trigger this. It only happens on a separate power off and power on.

     

    Therefore, starting with CodeMeter version 7.30a, we have implemented a workaround where CodeMeter detects when the CmActLicense is enabled in Azure and no longer uses this mechanism for new CmActLicenses.

    CmActLicenses activated before the update to version 7.30a will continue to use the Generation ID. It is always relevant which CodeMeter version was installed when the CmActLicenses container was activated for the first time, and thus the binding was calculated.

    However, this feature is currently only implemented for Universal Firm Code CmActLicenses (FirmCode 6.xxx.xx).

     

    Possible workarounds, if you cannot use 7.30a or Universal Firm Code are:

    - do *not* use SmartBind

    - activate the CmActLicense license on another system not running in Azure and use it via the network server functionality

    - return the license to CodeMeter License Central before a reboot and activate it again in a new container afterwards