Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does Licenses.licx really do for DevExpress controls?

What does Licenses.licx really do for DevExpress controls? I deleted all the lines in the licenses.licx and there is no difference. I successfully compiled and run my application. I am suprised with this behavior. Can anyone explain me the details about what is happening?

like image 903
mkus Avatar asked Mar 02 '12 21:03

mkus


2 Answers

Take a look at this post on the DX forum:

The licenses.licx file contains licensing information about controls used in the your application. It is then compiled into the App_Licenses.dll. It should be deployed along with your web site when you deploy the project. If you need to regenerate the App_Licenses.dll, right click the licenses.licx file in the solution explorer and choose the "Build Runtime Licences" command.

like image 99
Mikhail Avatar answered Nov 06 '22 13:11

Mikhail


Reading from DX blog the licence file is generated by Visual studio at design time, and burned into the assembly at compile time.

Licenses.licx is actually a file in your solution (if you cannot see it there, click Show All Files). Visual Studio uses a program called lc.exe to compile the licenses into embedded resources in your application

You can change its value if you want:

Here's an example of a line in a licenses.licx file.

DevExpress.XtraCharts.Web.WebChartControl, DevExpress.XtraCharts.v8.2.Web, Version=8.2.4.0, Culture=neutral, PublicKeyToken=9b171c9fd64da1d1

The first value in this comma delimited list is the class, the second is the assembly where it's found, and the other values are the rest of the assembly's strong name. I'm sure you can see problems already, especially when you upgrade a solution to the latest versions of the third-party controls you use. If you want, you can edit this file and remove the strong name parts with no problem.

Be aware that there are known issues when it comes to source control:

The thing is Visual Studio has a propensity of touching this file if you open the solution (that's "touching" as in changing the file date to the current date/time). This plays havoc with licensing, especially if you happen open the solution on a non-licensed machine and you are using source control. Suddenly your build machine will throw off these "cannot transform" messages and you're left wondering what went wrong. Another prevalent issue is when you have a team of developers working on a solution: they're all unconsciously "modifying" this file.

like image 20
Jens Kloster Avatar answered Nov 06 '22 14:11

Jens Kloster