.NET's license compiler (LC.EXE) seems to ignore the contents of licenses.licx on one machine, but not on the other. Why?

StackOverflow https://stackoverflow.com/questions/3048036

Question

Background info: I've set up a very simple .NET solution in VS2008 that contains just enough code to display an ActiveReports report in a preview window. The ActiveReports component uses the licenses.licx mechanism to decide whether it has been properly licensed or not. If it finds no valid license key, it will display a prominent message on the report preview stating, "This is an evaluation copy, [blah blah blah etc.]."

My problem: I have two computers, both with the same versions of VS2008 and ActiveReports installed. I've got valid licenses for each installation. Now, when I build my solution on one machine, I get a report preview without the evaluation banner message, while on the other, the exact same solution compiles to an application that will display the evaluation message.

What I've found out so far: Using Reflector.NET I've found out that on the second machine (which displays the evaluation message), the license compiler (LC.EXE) somehow seems to ignore the ActiveReports license line in licenses.licx. But it won't display any error or warning message whatsoever.

⇒ So, this question remains: Under what circumstances will LC.EXE decide to ignore a line of text from licenses.licx when it produces the output MyApplication.licenses embedded resource?


P.S.: The problem is not solved by deleting the licenses.licx file and then having it recreated by temporarily adding a dummy report to the solution. This trick is often mentioned for similar licensing issues, but it doesn't work here. The licenses.licx file contents seems to be valid.

P.P.S.: Not entirely sure if this is a Stack Overflow question or one for Super User.

Was it helpful?

Solution

OK – I cannot be sure, but I suspect the cause of this problem.

I suspect that LC.EXE will probe all controls listed in licenses.licx when it compiles that file. If, during that probing, any of the listed controls determines that it is not licensed properly (for whatever reason; e.g. because the license is really missing, or due a corrupt installation), the license compiler won't emit the actual license key to the output resource stream.


Update: Some weeks later, I still believe this is what happened. As it turned out, the one machine where the licensing failed turned out to have a corrupt installation of ActiveReports. After having run a removal utility, ActiveReports got a fresh install and licensing now works on both machines.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top