CoreLab.MySql.dll v 3.55

Discussion of open issues, suggestions and bugs regarding ADO.NET provider for MySQL
Post Reply
lysy103
Posts: 6
Joined: Wed 13 Jul 2011 11:13

CoreLab.MySql.dll v 3.55

Post by lysy103 » Fri 29 Jul 2011 15:03

Well, I want to make a thirdparty software using visual studio 2008 and C# as the language. I use Dlls made by other software developer, which use CoreLab.MySql.dll v 3.55. As I can compile the project, I have problem while running the exe. I get an information 'License not valid'. As I understand, I have to buy the license and this pose no problem, but I want to know if I actual licence will work with such old version.

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Post by Shalex » Mon 01 Aug 2011 09:13

To embed a valid license resource, you have to rebuild the code that uses CoreLab.MySql.dll v 3.55 when the corresponding licensed version of dotConnect for MySQL (previously MyDirect .NET) is installed on your build machine. If you order dotConnect for MySQL, you will get access to all previous licensed versions of our product.

lysy103
Posts: 6
Joined: Wed 13 Jul 2011 11:13

Post by lysy103 » Tue 09 Aug 2011 06:35

Shalex wrote:To embed a valid license resource, you have to rebuild the code that uses CoreLab.MySql.dll v 3.55 when the corresponding licensed version of dotConnect for MySQL (previously MyDirect .NET) is installed on your build machine. If you order dotConnect for MySQL, you will get access to all previous licensed versions of our product.
It gave no effect, as I have other software developer's DLL's which I cannot recompile.

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Post by Shalex » Tue 09 Aug 2011 17:03

As I understood your scenario, there is a class library (e.g., Some.dll) which has the direct references to the CoreLab classes. Some.dll is used by *.exe (e.g., Some.exe). In this case you have to add the license resource to Some.dll in the following way:
1. Create a file named licenses.licx, if this file does not exist yet.
2. Open the file with a text editor and place this line inside:
CoreLab.MySql.MySqlConnection, CoreLab.MySql
3. Save the file and add it to your project.
4. Set its Build Action property to Embedded Resource.
5. Create a text file named licenses.config and place it next to licenses.licx.
6. In licenses.config enumerate names of executable files that will work with the library, every file name on separate line, for example:

Some.exe
MyAnotherApp.exe

You do not have to add the file licenses.config to project.
7. Clear the bin and obj folders of your project and rebuild the project.

Notify us about the results.

lysy103
Posts: 6
Joined: Wed 13 Jul 2011 11:13

Post by lysy103 » Tue 09 Aug 2011 21:00

Shalex wrote:As I understood your scenario, there is a class library (e.g., Some.dll) which has the direct references to the CoreLab classes. Some.dll is used by *.exe (e.g., Some.exe). In this case you have to add the license resource to Some.dll in the following way:
(...)


Notify us about the results.
The problem is that I cannot recompile some.ddl. I have it in my project as a reference. The solution you've written I had tried earlier.
The only way is to use assembly name exaclty the same as the orginal exe, which uses the some.dll. However it looks rather bizarre.

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Post by Shalex » Wed 10 Aug 2011 07:55

Our license validator looks for a valid license in the following way:
*.exe -> FirstCalledClassLibrary.dll -> ... -> LastCalledClassLibrary.dll.

The license resource 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, we recommend you to embed the license resource into your *.exe (Some.exe) - add licenses.licx (steps 1-4 from my previours post) and recompile the project.

lysy103
Posts: 6
Joined: Wed 13 Jul 2011 11:13

Post by lysy103 » Fri 12 Aug 2011 09:54

Shalex wrote:Our license validator looks for a valid license in the following way:
*.exe -> FirstCalledClassLibrary.dll -> ... -> LastCalledClassLibrary.dll.

The license resource 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, we recommend you to embed the license resource into your *.exe (Some.exe) - add licenses.licx (steps 1-4 from my previours post) and recompile the project.
I understand this, and it makes sense. I've done exactly as you wrote.
- uninstalled dotconnect for mysql;
- checked for remains in Windows\assemblies and in c:\program files\;
- installed it again;
- cleared bin and obj folders in my solution;
- added the licence.licx to embedded resources;
CoreLab.MySql.MySqlConnection, CoreLab.MySql
Devart.Data.MySql.MySqlConnection, Devart.Data.MySql, Version=6.30.196.0, Culture=neutral, PublicKeyToken=09af7300eec23701
in the file;
- recompiled all.
In Licence Information I have:
The project has correct licenses.licx file.
The compiled module has correct license information.
Everything seems ok, but any try to access to the MySQLDatabase, I get Error 'License not valid. Please refer to etc.'.
I lost hope that it will work properly.

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Post by Shalex » Fri 12 Aug 2011 15:20

Please check the exact version (x.xx.xxx) of CoreLab.MySql.dll which is referenced by your Some.dll. Then install the same licensed version of MySqlDirect .NET on your workstation and compile your Some.exe with this version of our provider (add the license resource as it is described above and compile). Notify us about the results.

lysy103
Posts: 6
Joined: Wed 13 Jul 2011 11:13

Post by lysy103 » Sat 13 Aug 2011 13:03

Shalex wrote:Please check the exact version (x.xx.xxx) of CoreLab.MySql.dll which is referenced by your Some.dll. Then install the same licensed version of MySqlDirect .NET on your workstation and compile your Some.exe with this version of our provider (add the license resource as it is described above and compile). Notify us about the results.
The version is 3.55.20.0 but I have no idea where I could find such old installation package. If I had it by myself, I wouldn't bother you - I would just use it.

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Post by Shalex » Mon 15 Aug 2011 09:44

lysy103 wrote:The version is 3.55.20.0 but I have no idea where I could find such old installation package.
If you are a registered user, you can download any previous version from Registered Users' Area. Please use the credentials (URL, account name, and password) that were sent to you after the purchase of our product. If you have not received this information, please contact our Sales department (sales at devart*com). To download the previous version from Registered Users' Area, select the current version and then proceed by the link provided in the 'Previous Versions' section.

lysy103
Posts: 6
Joined: Wed 13 Jul 2011 11:13

Post by lysy103 » Tue 16 Aug 2011 09:56

Shalex wrote:
lysy103 wrote:The version is 3.55.20.0 but I have no idea where I could find such old installation package.
If you are a registered user, you can download any previous version from Registered Users' Area. Please use the credentials (URL, account name, and password) that were sent to you after the purchase of our product. If you have not received this information, please contact our Sales department (sales at devart*com). To download the previous version from Registered Users' Area, select the current version and then proceed by the link provided in the 'Previous Versions' section.
Well, I didn't find that there are previous versions. They are hidden pretty well.
Anyway it seems that I finally found the solution:
I deinstalled version 6.30;
I downloaded and installed version 3.55.26, as version 3.55.20 is not available.
I added it to toolbox, and added a MySQLConnection to one of my forms. A licence.licx and corelab.mysql.dll 3.55.26 were added automatically to the project;
I added manually file licenses.config with name of my app, i.e. MyApp.exe;
I deleted reference to the corelab.mysql.dll 3.55.26. I added reference to corelab.mysql.dll 3.55.20 and recompiled the project.
It seems that it works.
However, the way of licensing is really difficult to understand.
Last edited by lysy103 on Fri 16 Sep 2011 10:33, edited 1 time in total.

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Post by Shalex » Wed 17 Aug 2011 07:11

Glad to hear that the issue is solved.

Post Reply