License Question

TeeChart for Microsoft Visual Studio .NET, Xamarin Studio (Android, iOS & Forms) & Monodevelop.
Post Reply
bsierad
Newbie
Newbie
Posts: 16
Joined: Fri Feb 29, 2008 12:00 am

License Question

Post by bsierad » Wed Apr 09, 2008 10:50 pm

Hi,

VB.Net 2005 CLR 2.0
Steema Tee Chart .Net V3

I wrote a COM Server in .Net and have a setup and deployment application.

I added the project output of my COM Class
I also added licenses.licx to the setup project (it's in the Application Folder)

licenses.licx has the following 3 lines (from the tutorial)

Steema.TeeChart.Chart, TeeChart
Steema.TeeChart.TChart, TeeChart
Steema.TeeChart.Web.WebChart, TeeChart

When my client application tries to use the COM component, I get the following exception:

"System.ComponentModel.LicenseException: An instance of type 'Steema.TeeChart.Chart' was being created, and a valid license could not be granted for the type 'Steema.TeeChart.Chart'. Please, contact the manufacturer of the component for more information"

Anyways, I also have standalone Windows Apps that use tee chart, and those setup applications have the same license.

Am I doing something wrong?

Any ideas?

thank you,
:(

bsierad
Newbie
Newbie
Posts: 16
Joined: Fri Feb 29, 2008 12:00 am

follow up...

Post by bsierad » Thu Apr 10, 2008 10:05 am

quick follow up for clarity:

a) My standalone application works fine when deployed. Same Project deployed as the COM deployment project, but the standalone has another project that is the main exe has this has a reference to the license file...works great!

b) My client is in a VBA enabled Active X Container. It does have design time possibilities, but this is NOT Visual Studio/dot net...in fact, I always used older VB6 COM Exe's in here w/ older Steema tee chart ocx's...never an issue.

It is when I deploy the COM version of my application that the licensing issues come up. I have no main exe to embeded the license file in.

The deployment project has approx 5 COM Classes, exposing essentially 5 distinct Win Forms (only one uses tee chart) from 5 distinct projects.

The project with the COM class and a win form with tee chart has the license file in same folder (I don't see this in the VS Solution explorer though...I can't find 'show all files')

I have a laptop with both, the development tools for tee chart/.net AND the Active X Container Client, and everything works fine in there, so I'm pretty sure my code is ok...it's not a COM thing.

I see references to two different items in other forums that sound like they may help...
a) Unrestricted version
b) Some sort of License Registration Utility Download

anyways...I'm not sure what to do now, I've tried playing with the licensing for about as long as I developed the code.

thanks in advance,
bsierad

Marc
Site Admin
Site Admin
Posts: 1272
Joined: Thu Oct 16, 2003 4:00 am
Location: Girona
Contact:

Post by Marc » Fri Apr 11, 2008 8:36 am

Hello,

Thankyou for the detailed description. We'll try to recereate the project scenario you describe to test the issue. I wouldn't have expected a call to licensing from a non-NET container but if that's the case we'll need to pass you access to the TeeChart plugin-enabled assembly that permits setting the license load-level for an assembly that's to be dynamically loaded.

If you have a small sample project of the format you describe that you could send us to speed this along then it would be useful.

We'll get back to this thread.

With thanks.
Regards,
Marc Meumann

bsierad
Newbie
Newbie
Posts: 16
Joined: Fri Feb 29, 2008 12:00 am

hang on

Post by bsierad » Fri Apr 11, 2008 10:15 am

Sure, where shall I send it?

Other interesting things:

a) In some COM Containers (VB6 is great) I noticed that the installation works, but when I first run the COM Server, TeeChart Crashes...after the first run, it seems to run fine...this isn't always the case.

I've seen this issue in other threads in this forum too.

b) I don't always get the licensing issue from within all COM containers (just the one it needs to be in)

by the way, the COM container is called 'FrontVue' made by a company called ArcSoft or something like that. We're using this product packaged within another development environment, Factorylink...they renamed the container 'Client Builder'...but......it's the same COM Container, same traditional VBA...there is no .Net support that I know of. It's an active X Container w/ VBA Scripting enabled in the background.

anyways...I've been able to get tee chart to not have the license error from VB6 as the client, but not Client Builder.

We have always used Steema Products in COM Servers (VB6) and accessed them from Client Builder w/out issue. (ocx)

thanks

Narcís
Site Admin
Site Admin
Posts: 14730
Joined: Mon Jun 09, 2003 4:00 am
Location: Banyoles, Catalonia
Contact:

Post by Narcís » Fri Apr 11, 2008 10:31 am

Hi bsierad,

Please send us your files at news://www.steema.net/steema.public.attachments newsgroup or at our upload page.

Thanks in advance.
Best Regards,
Narcís Calvet / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Image Image Image Image Image Image
Instructions - How to post in this forum

bsierad
Newbie
Newbie
Posts: 16
Joined: Fri Feb 29, 2008 12:00 am

status

Post by bsierad » Fri Apr 11, 2008 12:48 pm

thanks, it was much easier to simply zip up my solution and upload it to your upload page.

The Project with teeChart is called OHE_TREND_VIEWER_2
The COM Class is called oheTrendArchiveViewer (same project)
You should find the license file in this folder once extracted
I also added this license as an embedded resource

The Installer Project is called OHE_COM_DEPLOYMENT_2
You should also find the license file located in the 'Application Directory'

I found the licensing issue in the COM Class in the

Public Sub Initialize() procedure (called by the COM Client)

in the catch block, I have a msgbox that shows the exception I wrote about.

This project is not for the public (it ships OEM on a very large machine/tool) and has no development tools whatsoever (it would be great to get the unrestricted version to use only for these OEM COM Clients)...all other users would use the standalone project (exe, not dll) where there is no licensing issue.

There is another setup/deployment project in this solution for standalone clients (Optima HE Data Explorer II Deployment) and the licensing works fine for those clients. The main executable for this is in another project (Optima HE Data Explorer II, and I included the licensing as specified in the tutorial)

There is quite a bit of Infragistics in these projects too, but we've never had a licensing issue (we used both Steema and Infragistics in VB6 and both were so great we decided to run with them in .net too)

The Infragistics Version used is: NetAdvantage for .Net 2007 Volume 1 CLR 2.0

thanks again,
bsierad

Narcís
Site Admin
Site Admin
Posts: 14730
Joined: Mon Jun 09, 2003 4:00 am
Location: Banyoles, Catalonia
Contact:

Post by Narcís » Fri Apr 11, 2008 1:32 pm

Hi bsierad,

Thanks but I can't find the project at the upload page. Was it posted successfully?

Thanks in advance.
Best Regards,
Narcís Calvet / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Image Image Image Image Image Image
Instructions - How to post in this forum

bsierad
Newbie
Newbie
Posts: 16
Joined: Fri Feb 29, 2008 12:00 am

Post by bsierad » Fri Apr 11, 2008 2:26 pm

It was a zip file, I'll try again


thanks,
bsierad

bsierad
Newbie
Newbie
Posts: 16
Joined: Fri Feb 29, 2008 12:00 am

zip

Post by bsierad » Fri Apr 11, 2008 2:53 pm

I guess the entire solution was too large, I only uploaded the COM Project,
please let me know if you need anything else

thanks,
bsierad

Marc
Site Admin
Site Admin
Posts: 1272
Joined: Thu Oct 16, 2003 4:00 am
Location: Girona
Contact:

Post by Marc » Tue Apr 15, 2008 9:06 am

Hello bsierad,

We've run a test on this. We created our own COM control using TeeChart in VSNET2005 as proof of concept. That runs ok in VB as a client when licensing is compiled in.

A difference we noted to your sample project is that your project's licenses.licx file is not included as an 'Embedded Resource' as it should be. We would not expect TeeChart's licensing to work correctly at the current setting ('None').

To set it to Embedded Resource make it visible in the VSNET Solution Explorer by clicking the icon 'Show all files' at the top of the Solution Explorer window, then select the licenses.licx file and set 'Build Action' to 'Embedded Resource'.

If that then still doesn't work correctly we'll look at other options in which case please could you tell us if the ActiveX Container you use is a readily available one that we could download and test?

With thanks.
Regards,
Marc
Steema Support

bsierad
Newbie
Newbie
Posts: 16
Joined: Fri Feb 29, 2008 12:00 am

embedded resource

Post by bsierad » Tue Apr 15, 2008 1:57 pm

Hi,

I changed the Build Action of licenses.licx to 'Embedded Resource' and I still get the same error.

I will post the screenshot of the exception where I put my project. It is simply called 'Steema.jpg'.

It clearly shows the output from my COM project's initialize procedure and the licensing issue in detail.

Should the setup and deployment project also have the license file in it (it does now, I simply added this as a file.

I'm not sure what to do now, this is very troublesome and we ship in approx two weeks.

I will try again with the only reference to the license file in my project as an embedded resource, but I have many other projects to tackle and can't spend many more hours with this licensing issue. We'll need some sort of solution to this. No other 3rd party plug-ins we use in MS Visual Studio .Net 2005 present these licensing challenges.

thanks in advance,
bsierad

bsierad
Newbie
Newbie
Posts: 16
Joined: Fri Feb 29, 2008 12:00 am

How about this

Post by bsierad » Tue Apr 15, 2008 3:43 pm

Ok, I changed the object creation order of my COM Servers (all in process, all written in VB.Net 2005) in the client code such that:

My COM Server with a Steema Chart is created and initialized first.

This seems to work. What could be going on? If it is NOT first, I get a licensing error.

I tested this both within my very odd Active X Container AND Classic VB6 Enterprise. Both fail when the Steema COM Server is not created first.

Some of my thoughts:

All COM Servers are In-Process, and all are installed via the same setup and deployment project I created. All live in the same solution. All are always created at startup by the client code.

Should I include the license file for Steema as an embedded resource in all my COM projects written in Dot Net? Should that really matter? I never figured out how to write Out of Process COM Servers in VB.Net 2005 like I did in VB6.

By the way...it works just the same when the license file is, or is NOT embedded as a resource file...as described in the tutorial.

What will I do if I need two different COM Servers that utilize Steema .Net assy's? Which one wins?

Anyways, I figured this out based on:
1. The COM Server by itself in VB6 clients always worked
2. The COM Server within our Active X Container sometimes worked

What I did was start from scratch, get the Steema product to work, and then I slowly added more and more 'stuff' to the application under the hood until it broke.

What do you think is going on?

thanks in advance,
bsierad

Marc
Site Admin
Site Admin
Posts: 1272
Joined: Thu Oct 16, 2003 4:00 am
Location: Girona
Contact:

Post by Marc » Tue Apr 15, 2008 9:33 pm

Hello bsierad,

It's difficult to clearly visualise how your setup differs from our test model to cause it to provoke a licensing error but we'll extend the test here to use of multiple COM assemblies in the same solution to see if we can provoke the error.

Re. "Should the setup and deployment project also have the license file in it (it does now, I simply added this as a file. "
The license file only needs to be included in the designtime NET project level that ultimately compiles the TeeChart related code. If your projects are tiered it will be the project that references TeeChart that loads first, or the highest level project that references the others. I hope that may help, (also within the context of understanding the load order issues you mention in your last post).

We'll send you access details to the plugin version of TeeChart. Though the licensing scenario issues you describe should be resolvable within the project framework you describe, the plugin version will give you the choice to fix TeeChart licensing at a particular assembly level. Please confirm your email details to info@steema.com so that the access information can be sent to you.

Re. "By the way...it works just the same when the license file is, or is NOT embedded as a resource file"
You can check if licensing is being compiled into your project. If you rename contents of the designkey the compile should fail with a licensing error.

Code: Select all

[HKEY_LOCAL_MACHINE\SOFTWARE\Steema Software\TeeChart.NET]
"DesignKeyV3"="Steema.TeeChart.TChart is a licensed component."
eg. change to:

Code: Select all

"DesignKeyV3"="xxSteema.TeeChart.TChart is a licensed component."
Regards,
Marc
Steema Support

Post Reply