This topic provides technical details on embedding license information into your applications. This is a special resource that must be present in every application that uses the data provider.
Note License information discussed in this topic is not same thing as license for using dotConnect Universal. License purchased on our site allows you (Single license) or your company (Site license) to use dotConnect Universal. For information on how to purchase license for using dotConnect Universal please refer to topic Ordering.
The article consists of following sections:
dotConnect Universal uses .NET component licensing. To build an application dotConnect Universal requires valid license. If no license is available, dotConnect Universal does not work.
License information is a specially formed embedded resource. Usually you do not have to care about embedding the license in your application. When you install the Data Provider, the system is configured so that licensing is done transparently.
Note that end-users of your software do not require any additional license.
dotConnect Universal includes License Wizard that helps you configure license information. The wizard analyzes the current project, informs you about problems found, and performs some actions needed to fix the problems.
To invoke the wizard choose Tools | Universal | License Information menu item. Then click on Fix buttons in the dialog and follow the wizard's instructions. In most cases this is enough to configure .NET component licensing.
The following table helps get started quickly with dotConnect Universal licensing. Find your type of application and follow links to corresponding sections of the article.
Diagram | Explanation |
---|---|
This is general case of licensed .NET Framework application. Whatever the type of application you develop, read carefully sections Adding License Automatically and Adding License Manually. | |
These two diagrams show how you can use dotConnect Universal through a class library. In addition to Adding License Automatically and Adding License Manually please read section Class Libraries Support. | |
These are two modes of accessing dotConnect Universal within ASP.NET application. In addition to Adding License Automatically and Adding License Manually please read section Licensing ASP.NET Applications. | |
Some applications that have no licensing information embedded, and use DbProviderFactory to operate dotConnect Universal, require the product installed on the computer. Refer to section DbProviderFactory Notes for more information. |
License is automatically added to project when you drop a UniConnection component from Toolbox onto a form designer.
Under .NET Compact Framework, in the moment of compilation license information is automatically added if the dotConnect Universal addin for Visual Studio is running.
You may be required to manually add license. It is necessary for console applications, class libraries and existing projects initially built with dotConnect Universal 3.00. In this case perform the following steps:
If IDE fails to compile the license automatically you can do it yourself as described in section Compiling License Manually.
Note: if you use other Devart products (dotConnect for Oracle, dotConnect for MySQL, dotConnect for PostgreSQL, dotConnect for SQLite) as underlying data provider, you have to include license information for this data provider as well.
Note: Professional edition of dotConnect Universal is shipped with built-in data providers for Oracle, MySQL, SQLite, and PostgreSQL servers. If you use the bundled data providers you don't need any additional license information.
In case where it is impossible to put the license information straight to executable file, dotConnect Universal allows to create class libraries that can be used with certain executable files. To do this perform the following steps:
You do not have to add the file licenses.config to project.
There are two types of web projects depending on the type of licensing.
For .NET Compact Framework the Visual Studio addin automatically embeds all required information into every assembly that uses Devart.Data.Universal.dll library. Class libraries are supported automatically.
If the license fails to be added to project, you can add and compile it manually. Note that there is no license compiler from Microsoft for .NET Compact Framework. You can request the compiler from Devart support team.
There is a known problem with the .NET Compact Framework. A "License not found" exception can be thrown by UniDataAdapter.Fill method in case when UniConnection had never been opened. To avoid the problem just open (or open and close) any connection before calling the UniDataAdapter.Fill method.
Applications that call dotConnect Universal through DbProviderFactory require registration in DbProviderFactory. This registration can be performed either by launching installer of dotConnect Universal with Minimal install type (the licenses.licx file is not required in this case), or manually as it is described in the Deployment topic.
The license resource cannot be compiled automatically when your project does not have reference to Devart.Data.Universal.dll or dotConnect Universal is not installed on your build server. This section describes how to compile the required resource manually.
Generate licensing resource file using following command line:
"%Compiler Path%\lc.exe" /target:MyApplication.exe /complist:licenses.licx /i:"%Assembly Path%\Devart.Data.Universal.dll"
Where
License compiler will generate 'MyApplication.exe.licenses' resource file. You should add this file to your project as an embedded resource. Note that you should not add licenses.licx to the project because the *.licenses file already includes all the necessary license information. If the default namespace of your project is not an empty string it must be the same as target assembly name (in this case - 'MyApplication'). IDE adds the default namespace to resource name when building the application, so you have to rename 'MyApplication.exe.licenses' to 'exe.licenses' before adding it to the project. If the default namespace of your project is not set (is empty string) you do not have to rename the resource file before adding it to the project.
Since automatic license generation and embedding is not possible with Mono you have to add and compile license manually as described above.
When something's wrong with license information you get one of the following exceptions on connecting to server:
Exception text | Possible reasons and what to do |
---|---|
License not found... |
This generally indicates that license information could not be found, or you try to apply it in some way that does not suit the kind of application. For example:
To fix the problem determine type of your application and read corresponding section in this topic. This exception can be thrown by UniDataAdapter.Fill method under .NET Compact Framework, in case when UniConnection had never been opened. To avoid the problem just open (or open and close) any connection before calling the UniDataAdapter.Fill method. |
License not valid... |
This means that license information was found but it is incorrect. It usually happens in the following cases:
If you encounter one of these problems, do the following (the numbers of actions correspond to the numbers of the problems in the above list):
If this does not help, send a small compiled binary with sources to our support address, so we can investigate the problem in more details. |
Sorry, your trial period has expired... |
This exception indicates that you used trial version of dotConnect Universal, and the 30 days trial period is expired. To continue using dotConnect Universal register it or uninstall from your machine. You can also see this message if the application was compiled with registered version of dotConnect Universal, but deployed with trial assembly Devart.Data.Universal.dll. If this is the case, replace old files with latest assemblies. |