Frequently Asked Questions
Share:
Error Messages
- The error 106 refers to an "invalid handle" and occurs if a handle was used CodeMeter does not know.
This may, for instance, happen in the following cases:
1. You use a protected software or a software applying CodeMeter Code API/Wupi API and while doing so restart the CodeMeter service. This renders all handles invalid and reusing handles in your software result in error 106.
2. CodeMeter itself automatically release handles, if:
a) the CmDongle was disconnected to which the handles previously referred to,
b) the process which opened the handles no longer exists.
The check for the processes is performed for each new license access, e.g. using 'CmAccess2()’,
however at latest after 1 minute.
c) the handles were not used longer than the specified CleanUpTimeOut value (default 120 minutes).
Solution options
1. In order to avoid the automatic release of handles as described in 2.c), you should:
a) manually release all handles no longer required after the access using 'CmRelease()'/'WupiFreeLicense()'.
b) regularily use handles responsible for counting licenses or license management as in AxProtector runtime check
on encryption or on calling 'CmCrypt()'/'WupiCheckLicense()' in the code.
Using 'CmCrypt()' you may encrypt/decrypt data increasing security.
Morever, at 'CmCrypt()'/'WupiCheckLicense()' also the license itself is checked, i.e.
whether the license is still valid and meanwhile the unit counter has not a value of 0 or the expiration time has reached.
2. In addition, you may also set an own CleanUpTime at 'CmAccess2()' using the CMCREDENTIAL structure
and the member 'mulCleanupTime'.
This own time will overwrite the registry default value in HKEY_LOCAL_MACHINE\SOFTWARE\WIBU-SYSTEMS\CodeMeter
\Server\CurrentVersion\CleanUpTimeOut
This may look like:
CmCredential cmCred = new CmCredential();
cmCred.CleanupTime = 240;
CmAccess2 cmAcc = new CmAccess2();
cmAcc.Credential = cmCred;
cmAcc.Ctrl |= CmAccess.Option.UserLimit;
cmAcc.FirmCode = 10;
cmAcc.ProductCode = 13;
HCMSysEntry hcmse = cmApi.CmAccess2(CmAccessOption.Local, cmAcc); - This error usually occurs when you try to add a new Firm Item for a Firm Code for which a Firm Item already exists.
A Firm Code can only occur once in a CmContainer.
Alternatively, this error can also occur, if you try to create the Context File from a Firm Item that you are not allowed to access.
In this case, the access protection list is controlled, which is configured in CodeMeter WebAdmin at "Settings| Server | License access permissions".
That means, here you have to give your system, from which you create the context file (typically localhost), the permissions to access the Firm Item, or with the setting "Mode | Simple" allow access to all Firm Items. - If the error 229 occurs. the problem does not involve the license update file (*.WibuCmRaU) but the license request file (*.WibuCmRaC) as basis for programming the update.
Exactly from this context file a previous update file must have been already programmed and imported into the CmContainer. On a second import of the update file the error occurs because in the meantime the CmContainer already has a different status due to the first import.
Internal process
Each CmContainer holds an update counter, i.e. the "Firm Update Counter" (FUC), which has a specific counter status. If a context file is created from the CmContainer, the FUC holds the actual count.
The subsequent programming of the update file involves an increment of the FUC by a defined number. The number of counter units depend on the Product Item Options programmed. In addition, for security reasons, the update file also holds the old, i.e. to be expected, counter status to enable a validation of the CmContainer status. On importing the update file it is first checked whether the CmContainer has the expected counter status. If the validation is successful, the FUC in the CmContainer gets a new FUC value. However, if the counter does not match the expected value, the error 229 is issued and the update process is stopped.
To avoid this behavior, please make sure that for each new update programming you must use a current license request context file. - This error occurs because either the CmFirm.wbc file is missing completely or does not contain your Firm Code. You must import this file to your system.
In addition to the Firm Security Box (FSB), programming licenses requires the CmFirm.wbc file with your Firm Code. You received this file from Wibu-Systems when you became a customer. You might find this file on another system, e.g. located in "%ProgramData%\CodeMeter\DevKit".
You can open the CmFirm.wbc file using a text editor and check for your Firm Code, i.e. not only the Test-Firm Code, e.g. 6000010, is specified.
If the required CmFirm.wbc file is not available, please contact Wibu-Systems Sales.
For importing the correct CmFirm.wbc file, please proceed as follows:
1. Open CodeMeter Control Center
2. Navigate to the menu item "File | Import License" and select the CmFirm.wbc file.
Alternatively drag & drop the file onto CodeMeter Control Center. This however requires that the CmFirm.wbc file has been locally saved before. - Error 231 occurs when trying to assign a license to a CodeMeter License Server whose license access permissions exclude the client.
Please open CodeMeter Control Center on the server and use the WebAdmin button to open the WebAdmin web interface.
Navigate here to "Settings | Server | License Access Permissions".
There are two different modes for the license access permissions:
- Simple: A simple whitelist that defines which clients may occupy a license.
- Advanced: A set of rules with Active Directory integration that allows more complex configurations (Windows only).
In most cases, the simple mode is sufficient.
Now check which clients are already registered and, if necessary, add all clients that should have additional access to the licenses. You must use either the IP or DNS name of the client to do this.
If you want all clients to have access and there should be no special restrictions, use the simple mode and clear the list completely.
After you have made the desired changes, restart the CodeMeter service.
To do this, you can use the menu option "Action | Restart CodeMeter Service" in CodeMeter Control Center.
If the problem persists, create a CmDust.log of client and server and send it to us. - Event 91 occurs, if an attempt is made to re-establish encrypted communication with a CmDongle too often within a certain time period.
For security reasons the CmDongle limits how often an encrypted communication is restablished within a certain time period to make the automatic analysis of the communication with common hacking tools more difficult. If event 91 occurs, this means that the dongle has locked itself to prevent further attempts to establish an encrypted communication. This lock is valid for 5 minutes. During this time, the CmDongle has to stay connected without trying to establish a new communication. So just leave the dongle connected for a while and wait until the lock is released.
The limit is chosen in a way that the lock should not engage during normal use. So, if this event occurs, it means that something has gone wrong. Mostly due to a faulty USB port or controller. It is best to test on another port or PC. If it happens again on another PC, it is possible that the CmDongle could have a technical defect. In this case, you should replace the CmDongle. Please make sure that you do not use 3rd party software which could influence the USB communication and therefore disturb/prevent the encrypted communication. - This behavior occurs, when the number of transactions allowed by your Firm Security Box (FSB) is used up. You cannot use your Firm Code any more to program an empty CmContainer.
In order to provide you with additional transactions, we require a license request (Context) file of your FSB sent to sales(at)wibu.com.
If you are using a Firm Code 1xx.xxx or 5.xxx.xxx (i.e. no Universal Firm Code with 6.xxx.xxx) we need a Context File, which you can send to sales@wibu.com
To create the Context File of your FSB, please proceed as follows:
1. Connect the FSB to the computer.
2. Open CodeMeter Control Center.
3, Select the FSB in the left Licenses tab.
4. Click the "License update"-button.
Licenses are read and the CmFAS Assistant opens.
5. Select the options "Create license request | Extend existing license | Firm Security Box Item (99)" on the subsequent wizard pages.
6. Specify the path and file name to save the context file under any name to your chosen location. - This error occurs, if your CodeMeter Runtime installation still contains some old components.
Please check, if the file 'C:\Program Files (x86)\CodeMeter\Runtime\bin\WibuCm32.dll' is still on your system and delete it if necessary.
Then uninstall CodeMeter completely again.
If you find several entries for the CodeMeter runtime in the Control Panel, please uninstall them all.
Finally restart your system once and reinstall the current CodeMeter Runtime.