License Compiler (Lc.exe)
The License Compiler reads text files that contain licensing information and produces a .licenses file that can be embedded in a common language runtime executable as a resource.
lc /target:targetPE /complist:filename [/outdir:path]
/i:modules [/nologo] [/v]
Option |
Description |
---|---|
/complist:filename |
Specifies the name of a file that contains the list of licensed components to include in the .licenses file. Each component is referenced using its full name with only one component per line. Command-line users can specify a separate file for each form in the project. Lc.exe accepts multiple input files and produces a single .licenses file. |
/h[elp] |
Displays command syntax and options for the tool. |
/i:module |
Specifies the modules that contain the components listed in the /complist file. To specify more than one module, use multiple /i flags. |
/nologo |
Suppresses the Microsoft startup banner display. |
/outdir:path |
Specifies the directory in which to place the output .licenses file. |
/target:targetPE |
Specifies the executable for which the .licenses file is being generated. |
/v |
Specifies verbose mode; displays compilation progress information. |
/? |
Displays command syntax and options for the tool. |
Example
If you are using a licensed control MyCompany.Samples.LicControl1 contained in Samples.DLL in an application called HostApp.exe*,* you can create HostAppLic.txt that contains the following.
MyCompany.Samples.LicControl1, Samples.DLL
Create the .licenses file called HostApp.exe.licenses using the following command.
lc /target:HostApp.exe /complist:hostapplic.txt /i:Samples.DLL /outdir:c:\bindir
Build HostApp.exe including the .licenses file as a resource. If you were building a C# application you would use the following command to build your application.
csc /res:HostApp.exe.licenses /out:HostApp.exe *.cs
The following command compiles myApp.licenses from the lists of licensed components specified by hostapplic.txt, hostapplic2.txt and hostapplic3.txt. The modulesList argument specifies the modules that contain the licensed components.
lc /target:myApp /complist:hostapplic.txt /complist:hostapplic2.txt /complist: hostapplic3.txt /i:modulesList