Last post Oct 31, 2005 11:24 AM by donker
Oct 30, 2005 05:19 PM|donker|LINK
If you are enticed, like I was, to include some of those nifty new controls of
Component Art Web UI into your module, please read the following carefully. When you include a thrid party component into your own work you will presumably be distributing that component with your own module. With
CA this is not a problem as long as (1) you have the right license, which is the subscriber license, and (2) you make sure the component only works with your stuff. The technical challenge, therefore, is number 2. Because, if you follow the steps supplied
by CA you will have complied with CA rules, but you'll have a whole new liability. CA requires you to adjust the code of the redistributed dll so that it reads a system flag that, once your module has placed a flag, it will work. Now all is fine if you are
selling a complete asp.net solution and this is the only CA Web UI running. But we module developers have to take into account that our customers might be buying stuff from other module developers, too (why? beates me :-)). So my CA web ui dll might overwrite
the already in place CA web UI dll of another module, thereeby disabling the other module.
So how can we best untangle this? Simple: make sure that (1) your dll is not named ComponentArt.Web.UI.dll and (2) the namespaces you use are not ComponentArt.Web..etc. So the steps to take in making your own CA web ui solution are:
(1) perform the change as required by their license in RedistributableLicenseProvider
(2) under project properties change the name of the assembly
(3) do a search and replace of 'ComponentArt.' (note the trailing dot) and replace by something like 'YourCompany.ComponentArt.' and
make sure you limit this to *.cs files only.
This should get you all set for a redistributable package that keeps out of the hair of other developers (including mine even though it is very short ...).
Oct 31, 2005 08:41 AM|Ed_DeGagne|LINK
Oct 31, 2005 11:24 AM|donker|LINK
I have a simpler solution:
Don't buy 3rd party modules that rely on other 3rd party components.