Licensing for Class Library

Discussion of open issues, suggestions and bugs regarding ADO.NET provider for Oracle
Post Reply
Posts: 3
Joined: Thu 14 Aug 2008 12:04

Licensing for Class Library

Post by drud » Mon 04 Jan 2010 10:53

Hi there,

i want to use dotConnect for Oracle for a component, that is used to access a database scheme (select, insert, update).

In the topic licensing that can be found in the dotConnect-documentation i saw that it's possible to add Class Library Support.
Class Libraries Support
In case where it is impossible to put the license information straight to executable file, dotConnect for Oracle allows you to create class libraries that can be used with certain executable files. To do this perform the following steps:

Create and setup file named licenses.licx as described above.
Create a text file named licenses.config and place it next to licenses.licx.
In this file enumerate names of executable files that will work with the library, every file name on separate line, for example:

You do not have to add the file licenses.config to project.
The problem i have is, that i don't really know at this time where i will use the class library. One application is planned - so i could put this exe into the licenses.config, but if i make changes to the executable name or implement a new application that uses the component i need to make a new version of the database component with the changed or new executable-names.

Is this the only possibility for me to make a class library that uses dotConnect interally (the application that uses the class library doesn't know that there is dotConnect used) without putting the executable names into the license.config?

thanks in advance for your answer,

Site Admin
Posts: 8248
Joined: Thu 14 Aug 2008 12:44

Post by Shalex » Mon 04 Jan 2010 12:19

Be aware, according to our license agreement you may not distribute Devart assemblies as a part of other libraries ("wrappers"), components, or frameworks. It means you can create and distribute a wrapper only in the case if this wrapper is a part of your application, and it can be used only by your application. Other programmers may not develop any applications that use or are based on the Devart assemblies explicitly or implicitly without obtaining an appropriate license from Devart. An exception to the rule: this DLL can be used only inside your company by the developers who are working on this project too.

Our license validator looks for the valid license in the following way:
*.exe -> FirstCalledClassLibrary.dll -> ... -> LastCalledClassLibrary.dll.
The valid license for *.exe has to be available at any level of this chain: either built in *.exe (licenses.licx), or added to one of the used class libraries (licenses.licx + licenses.config with the name of *.exe). So if you do not want to modify your class library with the database access level, it is necessary to embed the license resource into your *.exe.

As you mentioned, your *.exe doesn't have direct references to Devart.Data.Oracle.dll. As a result, the license cannot be compiled automatically for your *.exe. In this case please compile license manually using our walkthrough at ... ml#compile.

If you encounter any difficulties, feel free to contact us.

Posts: 3
Joined: Thu 14 Aug 2008 12:04

Post by drud » Thu 07 Jan 2010 08:54

Hi Shalex,

thanks for your reply.
I tried the manual license compilation and it works fine for me. I tried this before christmas but maybe i did something wrong (maybe too much christmas parties :) ).

I'm aware about the point you mentioned about the license agreement.
I don't want to deploy the component as a framework,...
I'll use this component only in my application now. But in future implementations it could be possible that i will reuse it in other applications and therefor i don't want to change the component everytime i change my exe-name or need it in a new application.

Thanks for your help,

Post Reply