Page 1 of 1

License Question

Posted: Wed Apr 09, 2008 10:50 pm
by 13048447
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,
:(

follow up...

Posted: Thu Apr 10, 2008 10:05 am
by 13048447
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

Posted: Fri Apr 11, 2008 8:36 am
by Marc
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

hang on

Posted: Fri Apr 11, 2008 10:15 am
by 13048447
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

Posted: Fri Apr 11, 2008 10:31 am
by narcis
Hi bsierad,

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

Thanks in advance.

status

Posted: Fri Apr 11, 2008 12:48 pm
by 13048447
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

Posted: Fri Apr 11, 2008 1:32 pm
by narcis
Hi bsierad,

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

Thanks in advance.

Posted: Fri Apr 11, 2008 2:26 pm
by 13048447
It was a zip file, I'll try again


thanks,
bsierad

zip

Posted: Fri Apr 11, 2008 2:53 pm
by 13048447
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

Posted: Tue Apr 15, 2008 9:06 am
by Marc
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

embedded resource

Posted: Tue Apr 15, 2008 1:57 pm
by 13048447
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

How about this

Posted: Tue Apr 15, 2008 3:43 pm
by 13048447
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

Posted: Tue Apr 15, 2008 9:33 pm
by Marc
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