FAQ

Basic questions

What is the difference between TLL Core and activation server?

Activation server extends TLL Core functionality and gives you more control over licensing of your apps.

Feel free to check feature comparison or feature list to get better overview.

What is the purpose of TLL

TLL was designed to protect your application’s licensing. It can

  • Generate safe license keys
  • Be used to validate licenses provided by user with few lines of code
  • Save information about licensing options easily and safely
    • Expiration
    • Hardware locking
    • Features enabled
    • Custom information
  • Be used to build your own online activation server
  • Automatically track your application usage and detect piracy with TLL Insights
  • Much more…

What my customer needs to do in order to install a license after I send my software to him?

With TLL you can send license file or license string (text) to customer, generated by toolbox or the library itself. Customer will need to select file through some dialog (OpenFileDialog) or copy and paste license string. You can choose the preferred way.

If you choose to use TLL V2 Easy integration, you can call the Register method from any form you create for your product registration. You can also display registration form designed by us.

This process can be optionally automatized using activation server.

What types of projects can use the library?

All modern .NET (2.0+) versions and languages (C#, VB, F#) are supported.

Almost all versions of Windows (2000, XP, Vista, 7, 8, 10, 11) are supported.

TLL can be registered in COM to be used in any other Windows application (Office VBA, Delphi).

Who can use this product?

This library can be used by any software developer, who builds applications in one of the .NET languages (C#, VB, F#). All examples are available in C# and VB.

However, non-programmer can generate licenses via LibraryToolbox.exe easily. This means, that Treek’s Licensing Library can be used by licensing operator or your secretary for routine work.

Why should I trust TLL

We’re developing Treek’s Licensing Library for more than 5 years, company behind it exists almost 10 years. Due to still uncracked license generation algorithm, strong encryption and rich set of other techniques to keep your software distribution under control, our solution is trusted by wide range of clients.

Installation

How to add Treek’s Licensing Library to my project?

In Visual Studio, double click “My Project” to open project properties. On the left side, click “References” tab. Click on “Add” and browse to TreeksLicensingLibrary.dll or TreeksLicensingLibrary2.dll

You can also use NuGet.org Package Manager Console within Visual Studio:

Install-Package TreeksLicensingLibrary

What technical steps do I have to take to use Treek’s Licensing Library in my software?

There are only few steps needed to setup and they’re well described in documentation.

Usage

Do you have integration manual PDF

Yes, we have. You can download it here.

How to generate license signing key for my application?

There are two ways:

  1. Use LibraryToolbox.exe
    1. Open toolbox and click “Generate new” button.
    2. Choose the location, where will be your keypair stored
  2. Do it programatically via TreeksLicensingLibrary.LicenseSigningKey object
    1. Simply create new instance of TreeksLicensingLibrary.LicenseSigningKey
    2. Use TreeksLicensingLibrary.LicenseSigningKey.SaveFile or TreeksLicensingLibrary.LicenseSigningKey.PublicKeyXML and TreeksLicensingLibrary.LicenseSigningKey.PrivateKeyXML to work with your license signing key.

How to remove demo notification in TLL 2.0

First, you have to purchase license of TLL. When you receive your license, you have two options:

  1. Use TLL Init Chunk and put your license into it.
  2. Put your license string into TreeksLicensingLibrary2.DeveloperLicense.DeveloperLicenseContent property.
    1. To use  this “older approach” simply open “About” tab and click “Copy my license button”.  Then use copied value in your code to set DeveloperLicenseContent property

In TLL 2.0 we recommend the init chunk. As we typically provide you with license file, the approach should be following:

  1. Save your developer license file anywhere in your computer.
  2. Open TLL Toolbox and goto Developer license tab.
  3. Select “Use license file” and browse for file.
  4. Click “Apply developer license”.
  5. Now load (or create) license signing keys of your application.
  6. Click “Generate init chunk file” .
  7. Your license will be prefilled in TLL License field.
  8. You can copy the license string or generate and integrate TLL 2.0 using init chunk.

 

How to use TLL in non .NET applications?

You can use Treek’s Licensing Library through COM model. To use it, simply register TLL with Toolbox (Register COM tab). Exact usage depends on the development environment you use. Remember, that you have to register TLL on production machines. This can be done via RegAsm.exe (part of .NET framework). You can find the path and correct arguments in Treek’s Licensing Library toolbox, Register COM tab again.

In MS Office VBA projects, you can add reference to TreeksLicensingLibrary.tlb file after COM registration.

Occasionally, I get license expired even if it is valid. Why?

We have observed similar behavior, when “Treat offline as expired” license property is enabled. Sometimes, you won’t receive response from remote server. It can be due to remote server outage or because you have reached its limit of requests per specific time period.

The best solution for that is not to use this feature or use your own timeserver. TLL accepts any standard NTP server you choose.

Even if “Treat offline as expired” is not enabled, TLL tries to retrieve online time first and only if failed, it uses local computer time.

On some displays TLL registration form looks ugly. How can I fix it?

We have spent a lot of time on researching this. The issue resides in Windows Forms which, by default, does not work with system DPI settings.

As a result, on high DPI displays, some fonts and edges may not look smooth.

To fix this, set MakeAppDPIAware to true during TLLInterface object initialization.

Activation server

Can activation server handle offline computers?

Actually, yes. Via the offline registration form. At https://yourdomain.jandrozd.eu/OfflineActivation/ resides the form you can send to customer. It works this way:

  1. Customer installs your software and gets offline computer hardware ID.
  2. From different online computer he/she visits offline registration form and enters e-mail, serial and offline computer hardware ID.
  3. License generated automatically and sent to e-mail as file.
  4. Customer can bring license file on USB drive and load it on offline computer.

How to connect Activation Server to my PayPal/MyCommerce account for automatic sales processing?

You need to set TLL Activation server URL as IPN url in your PayPal account. This url is typically https://yourdomain.jandrozd.eu/IPN.aspx

For MyCommerce, you need to set webhook in your MyCommerce account to deliver new order information to https://yourdomain.jandrozd.eu/mcendpoint/

What happens with expired rental license?

When rental license expires, activation server hosting is disabled. It will not activate new licenses for your customers. However, we’ll allow you to export data from underlying database (customers, products, keys, etc).

You’ll be allowed to keep TLL Core license. This means that for your existing customers, applications will keep working. You will also be able generate new licenses for new customers, but only through TLL Toolbox, by hand.

We keep the data of expired hostings for 3 months after expiration date. You can renew the service anytime in this period simply by payment through our order form. After this grace period (expiraton + 3 months), all your data is removed permanently with no chance to recovery.

We will notify you via e-mail 14 days prior your license expiration so you should have enough time to extend the license. We will also notify you 14 days prior the grace period end.

What is automatic silent reactivation?

This way you do not provide permanent licenses to users, but you provide temporary licenses. It means, that if you revoke license and user goes offline, it will expire in some time anyway and won’t be renewed.

What is difference between lifetime license and rental license

Rental license is tied to our hosting and is limited in time. It means that your right to use TLL Activation server expires with the license period.

Lifetime license guaranties you access to activation server binaries (and optionally sources), so you can install TLL Activation server on any Windows Server anytime.

Licensing

Can I redistribute library without purchasing license?

No, free version is only for evaluation purposes. It will display message every time, when you try to verify license.

When you purchase license, you can use and redistribute TreeksLicensingLibrary.dll within as many applications as you wish.

Does lifetime license contain updates and support?

You are entitled to receive updates and/or bugfixes during 1 year after lifetime license purchase (if we release any).

Lifetime TLL Core license contains basic support for one year (through tickets and e-mail).

Lifetime TLL Core + Activation server license contains basic support for one year + extended integration support for one application.

I have Activation server rental license and would like to use my own server now.

Well, TLL Activation server rental license is tied to our hosting, so this is not possible with rental license.

However, you can upgrade to binaries license – see our pricelist, upgrades section. Feel free to contact us prior the license upgrade to check if your server is suitable to run TLL Activation server.

If I buy sources, what am I (not) allowed to do with them

Generally, you must not disclose the sources you receive to any other 3rd party entity (person or company) without our written consent. This applies to all kind of source code you may receive from us (except publicly available examples).

On top of that, for activation server, following applies:

  • If you order in-house license, you can use TLL Activation server sources only for your products
  • If you order vendor license, you can use TLL Activation server sources to protect 3rd party products. However, you still must not disclose the sources.

Otherwise, you are free to build your protected apps!

Other

Is TLL 100% secure?

Well, in reality, no software is 100% secure. With enough resources and knowledge, everything can be cracked.

However, TLL has unique and very secure design and it didn’t get cracked for past 7 years. We also have fast incident response team and will resolve any security problem as quick as possible.

Generally:

  • Having source code of TLL does not break customer’s app security
  • Licenses can be generated only if you have the cryptographic key
  • TLL’s latest binary files are protected with advanced commercial obfuscation software
  • Cracked version of TLL (even if there appears any in the future) won’t be loaded by most of customer’s apps, the apps will simply fail if there’s no original version of TLL present.
  • For cyber-criminal, there’s no benefit in focusing TLL itself. Even if he somehow alters TLL, he still needs to change all the applications utilizing TLL for licensing.

What does extended integration support mean?

This means we will help you directly with integration of TLL into one product using C# or VB.NET. We can help you through:

  • Basic support options (ticket + email)
  • Skype
  • Remote desktop

Basically, we can establish a skype call with desktop sharing or use any remote desktop app to connect to your device to do the integration job for you. Max 2 hours of technician’s work.

What is the difference between TLL V1 and TLL V2

TLL V1 is older version of Treek’s Licensing Library. We do not release updates for it anymore. We recommend upgrade to TLL V2 as it is free for V1 customers. TLL V2 comes with multiple improvements.