tags:

views:

814

answers:

2

I'm working on an application that makes extensive use of ComponentOne's C1FlexGrid. Of the dozens we use, three are missing their licenses.licx file and cause the demo splash screen to pop up while I'm starting the application.

Is there any way to determine which forms are causing this behavior. Short of checking hundreds of directories by hand, I don't see a way.

+4  A: 

According to Microsoft documentation only the executable assembly requires a licenses.licx. Dll assemblies with forms in them will still create one but it is ignored. This has been my experience as well. I would suggest opening each form in the designer view and rebuilding while in that view. This will usually add any missing license entries to the licenses.licx. It will not, however, update existing entries. This can be a problem if you've updated your components. For ComponentOne, you can usually edit the licenses.licx and remove the version information after the assembly name. Some other third party components are more finicky and touching their version info causes errors when you compile.

In my opinion the .NET licensing framework is cumbersome and an unnecessary burden on developers. There are far easier ways to ensure component licenses are respected.

codeelegance
A: 

You don't have to open every form. Each project has a single licenses.licx file. Just make sure the C1FlexGrid is referenced in those files and then do a full rebuild (Build | Rebuild All).

That should take care of the issue.

Bernardo