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. |
-
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