使用MSBuild通过NAnt脚本将licenses.licx文件嵌入到exe中

时间:2010-05-13 14:45:48

标签: msbuild licensing nant

我们为我们的应用程序使用TeamCity进行了自动构建设置。此应用程序使用Active Reports 6,它使用license.licx文件进行许可。当我在构建机器上使用Visual Studio构建时,一切都很酷,当我将应用程序分发给其他人时,许可证被识别。

问题是我们的构建服务器与MSBuild一起使用。使用MSBuild构建时,使用相同的license.licx文件,它不会正确嵌入到我们的可执行文件中,并且报告中会显示AR6水印。

在联系ActiveReports支持后,他们让我使用LC.exe工具生成.licenses文件,然后使用C#命令行编译器(CSC)将我的.licenses文件编译到我的应用程序中。这不适合我。

调用MSBuild的NAnt任务如下:

<exec program="${msbuild}">
  <arg value="${solution}" />
  <arg value="/p:Configuration=${config}" />
  <arg value="/t:rebuild" />
</exec>

使用的变量:

  

property name =“msbuild”   值= “C:\ Windows \ Microsoft.NET \框架\ v3.5版本\ MSBuild.exe”

     

属性名称=“解决方案”   值= “project.sln”

     

property name =“config”value =“release”

请注意,我删除了&lt;和/&gt;来自这里的属性,因为它们似乎没有出现因为报价系统(&gt;)

使用MSBuild构建时,我们可以将license.licx文件正确嵌入到我的可执行文件中吗?

由于

1 个答案:

答案 0 :(得分:1)

我终于解决了这个问题。当使用计算机上的管理员帐户安装ActiveReports许可证时,结果是我们的构建服务器在SYSTEM帐户下运行。

运行TeamCity服务(我们的构建服务器)作为管理员帐户解决了我们的问题。