To manually verify that a valid permanent unlock code was passed to UnlockComponent, examine the contents of the LastErrorText after calling UnlockComponent. The following message indicating a permanent unlock code was used should be present:
“Component successfully unlocked using permanent unlock code.”
See below:
ChilkatLog:
UnlockComponent:
DllDate: May 24 2010
component: Email
unlockCode: ****
RegKey:
LibDate: May 24 2010
requiresPerm: 0
re-parsing expire date...
Component successfully unlocked using permanent unlock code.
Question:
UnlockComponent returns a failed status (0 / false) with this information in LastErrorText:
ChilkatLog:
DllDate: Feb 15 2010
component: Zip
unluckCode: Anything for 30-day trial
RegKey:
LibDate: Feb 15 2010
dateStr: 6 6 2010
mdy: 6/6/2010
keyT: 1278367200
curT: 1279490400
curDT: Mon, 19 Jul 2010 17:09:24 +0200
Trial has expired: 38
Answer:
If the string argument passed to UnlockComponent is NOT a permanent unlock code, then the LastErrorText will contain the exact string passed to it by your application. In this case, it is easy to see that the string “Anything for 30-day trial” was passed to UnlockComponent. To resolve the problem, check carefully the exact string being passed to UnlockComponent. Make sure the permanent unlock code is passed to it.
Please verify the following reasons are not the cause of UnlockComponent returning a failed status. (For more information about how UnlockComponent works, please read this: How UnlockComponent works.
- You must pass the exact unlock code provided in your receipt email. It is case sensitive. Do not pass the string before the colon character. For example, if your receipt contains “Chilkat Mail: ABCMAIL_xyz123″, then pass the string “ABCMAIL_xyz123″ to UnlockComponent. It is best to cut-and-paste directly from the receipt email.
- Make sure you are passing the correct unlock code to the correct object/class. If you purchased a Bundle, you will receive a set of unlock codes. You must pass the “Chilkat Zip” unlock code to the Zip component, the “Chilkat FTP2″ unlock code to the FTP2 component, etc. The mapping of objects/classes to unlock codes may be found in the reference documentation. For example: http://www.chilkatsoft.com/refdoc/csharp.asp
Each unlock code contains a substring that identifies the product. An unlock code for Chilkat Zip will always include the substring “ZIP”. An unlock code for FTP2 will always contain “FTP”. Etc. Some are not always so obvious. For example, SFTP is “Secure File Transfer over SSH” and requires the Chilkat SSH unlock code, not the FTP2 unlock code. This is because SFTP is a sub-system of SSH and has no relation to FTP (File Transfer Protocol). more info about SFTP vs. FTP
- If you feel confident that you are passing the correct unlock code to UnlockComponent, but it still returns a failed status, check the contents of the LastErrorText property immediately after calling UnlockComponent. It will contain the exact string you passed to it, and it should provide details about why it failed. Send the contents of the LastErrorText to support@chilkatsoft.com. (You should realize that in 10 years, Chilkat has never provided a non-working unlock code. In every case so far, the problem was determined to be user-error. )
The downloads at http://www.chilkatsoft.com/downloads.asp are the full-versions of the products, but may also be used in a fully-functional 30-day trial mode. A Chilkat component/class is unlocked at runtime by calling the UnlockComponent method. This method must be called once from within your application prior to using any Chilkat objects. It is not required to call UnlockComponent for each instance of a Chilkat object created.
An arbitrary string, such as “Hello World” may be passed to UnlockComponent. The causes a fully-functional 30-day trial to automatically begin. If a license is purchased, you will receive via email a permanent unlock code that should be inserted into the UnlockComponent method call.