licensing

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

I was having a really annoying problem getting some components I bought from
ComponentOne to work. I found this posting in their knowledge base which
seems to fix the problem. Is there a better workaround from Microsoft though
? It's a pain to keep adding these custom build steps.


It seems there is a bug in VC++ 2003. The licenses.licx is ignored during
the build process, therefore the licensing information is not included in
VC++ applications.

To fix this problem, extra steps must be taken to compile the licensing
resources and link them to the project. Note the following:

1. Build the C++ project as usual. This should create an exe file and also
a licenses.licx file with licensing information in it.

2. Copy the licenses.licx file from the app directory to the target folder
(Debug or Release).

3. Copy the C1Lc.exe utility and the licensed dlls to the target folder.
(Don't use the standard lc.exe, it has bugs.)

4. Use C1Lc.exe to compile the licenses.licx file. The command line should
look like this:

c1lc /target:MyApp.exe /complist:licenses.licx /i:C1.Win.C1FlexGrid.dll

5. Link the licenses into the project. To do this, go back to Visual
Studio, right-click the project, select properties, and go to the
Linker/Command Line option. Enter the following:

/ASSEMBLYRESOURCE:Debug\MyApp.exe.licenses

6. Rebuild the executable to include the licensing information in the
application.
 
I was having a really annoying problem getting some components I bought from
ComponentOne to work. I found this posting in their knowledge base which
seems to fix the problem. Is there a better workaround from Microsoft though
? It's a pain to keep adding these custom build steps.


It seems there is a bug in VC++ 2003. The licenses.licx is ignored during
the build process, therefore the licensing information is not included in
VC++ applications.

To fix this problem, extra steps must be taken to compile the licensing
resources and link them to the project. Note the following:

1. Build the C++ project as usual. This should create an exe file and also
a licenses.licx file with licensing information in it.

2. Copy the licenses.licx file from the app directory to the target folder
(Debug or Release).

3. Copy the C1Lc.exe utility and the licensed dlls to the target folder.
(Don't use the standard lc.exe, it has bugs.)

4. Use C1Lc.exe to compile the licenses.licx file. The command line should
look like this:

c1lc /target:MyApp.exe /complist:licenses.licx /i:C1.Win.C1FlexGrid.dll

5. Link the licenses into the project. To do this, go back to Visual
Studio, right-click the project, select properties, and go to the
Linker/Command Line option. Enter the following:

/ASSEMBLYRESOURCE:Debug\MyApp.exe.licenses

6. Rebuild the executable to include the licensing information in the
application.

While I'm not an expert on licx or lc at all, it would seem to me that
you could do this with custom build steps in the IDE.
 
While I'm not an expert on licx or lc at all, it would seem to
me that you could do this with custom build steps in the IDE.

Yes, the only workaround in VS2003 is to use custom build steps.
In VS2005 Beta2 we added IDE support for this feature.

Thanks,
 
Thanks. I'll take a look at it.

Tarek Madkour said:
Yes, the only workaround in VS2003 is to use custom build steps.
In VS2005 Beta2 we added IDE support for this feature.

Thanks,
 
Back
Top