According to your license agreement:
V. REDISTRIBUTABLE COMPONENTS.
A. In addition to the license and rights granted in Sections I and II, Infragistics grants you the right to use the presentation layer framework portion of the SOFTWARE which is either on disk, CD-ROM or electronic format (collectively "PLF") provided:
Well, that's what I'm trying to do....
I have created a user control which uses your Win Explorer Bar for creating a communication configuration user control which shows the user a GUI which let him choose if he wants to use Serial Port, Ethernet, or Ethernet Listener... and also configure the communication parameters.
This is in order to finally get an object that can be used for communicating with a PLC.
The User Control is called ComConfig.
However, I gave the DLL (with the required Infragistics assemblies/DLLs) to another developer so he could use it on a small application that he writes.
As much as I understand, it fits your License Agreement since:
1) This is a redistributable component that I've created
2) He is not making any direct use of the Infragistics DLLs (He just tries to put my user control on the form)
3) He is not developing any tool using Infragistics components
4) The functuality of my user control is not the same or nearly the same as the infragistics components (it is totally different).
Please corrent me if I was wrong about my assumptions.
Still, when he tried to put my user control on his form, he got:
Failed to create Component 'ComConfig'. The error message follows:
Is it a bug?
Am I doing something wrong? (Is there something I need to do in the code to prevent it)
This is correct behavior. In short, the design-time license check performed by Visual Studio on your user control also performs a design-time license check on any controls it contains (including ours). If the end user doesn't have our toolset installed, this design-time licence check fails with the error message you've mentioned.
I've commented further on this scenario in the following post:http://forums.infragistics.com/forums/p/7484/48262.aspx#48262
Vince McDonaldSenior Developer Support Engineer, MCP
Need help? Find the various ways you can ask for help from Infragistics.
It is indeed possible to create a distributable component as suggested by the license agreement. The way that Visual Studio and the .NET Framework perform license checks means that those who would consume your component must also have their own, separately-licensed copy of the version of our toolset you used to build that component.
There are other programmers who do precisely this. Others, particularly those selling their components, work out an OEM process with our Sales team.
If license information were stored directly in our runtime assemblies, then anyone could take those assemblies and perform design-time work with them - at which point the license check would be meaningless.
Remember that adding a reference to an assembly requires that all the prerequisite assemblies also be included. Design-time access to your assembly requires design-time access to ours. Even if the person consuming your assembly isn't "intentionally" adding a reference to our assemblies, our assemblies are still required.
OK, so how would anyone can create a distributable component as your license agreement suggets to be possible while it is not possible at all?
The person I'm giving the DLL to does not make a reference to any of the infragistics DLLs. He is making a reference to my DLL and my DLL makes the reference to Infragistics DLLs.
He is not making any use of Infragistics design, I am.
In my opinion, the Infragistics Components should take their license from their "Father", which in my case is my DLL (The license is compiled inside it, isn't it?).
Xceed components have a different solution... They require you to put the serial in the code. I'm not sure that this is a better idea than yours (Cause you might forget to add the licese for some one of components and you don't even know about it until the program crash).
So what you are actualy saying is that all I can code for the use of other programers is Exes (Which is that case, is not helpfull since Exes cannot actually be used by other programmers becase it cannot be referenced to).
Ok, Thank you for your reply.