我试图让Dotfuscator Pro 4.13在单元测试和安装包的创建之间运行。我们使用的构建服务器是在Windows Server 2008 R2上的Jenkins 1.487。
dotfuscator的命令行非常简单,我使用/q并指出一个xml配置文件。当我从命令行手动运行确切的命令时,它就像一个魅力。
但是当Jenkins执行相同的命令时,会记录以下错误:
<bkq_s>使用本软件意味着接受随附的许可证同意。被许可:序号:在使用Dotfuscator之前,您必须首先接受最终用户许可协议。
由于某些原因,Dotfuscator在Jenkins运行时无法读取许可信息。我找不到关于这个的任何信息,但是有些东西告诉我,这与执行Jenkins的用户有关。我错过了什么?
因为我认为这是与用户相关的东西。这个问题来自于运行Jenkins作业的用户从未接受过Dotfuscator用户协议。有两种方法可以解决这个问题:
您可以使用正在运行自动构建的用户登录到机器并启动Dotfuscator GUI并接受许可协议
或者您可以复制以下文件:
C: Users{user that installed/accepted agreement}AppDataLocalPreEmptive Solutions Dotfuscator Professional Edition4.0 dfusrprf .xml
C: Users{user that installed/accepted agreement}AppDataLocalPreEmptive解决方案Dotfuscator专业版4.0 dotfuscator .cfg
C: ProgramDataPreEmptive Solutions Dotfuscator Professional Edition4.0 dotfuscator .dat
进入dotfuscator安装目录(默认为C: Program Files (x86) PreEmptive Solutions Dotfuscator Professional Edition 4.13.0)
我在使用Windows Server 2012下运行的Team Foundation Build Service时遇到了类似的问题。
根据Dotfuscator的技术支持:
<bkq_s>要解决这个问题,您需要移动以下文件:
C: Users{User that installed dotfuscator}AppDataLocalPreEmptive Solutions Dotfuscator Professional Edition4.0 dfusrprf .xmlC: Users{User that installed dotfuscator}AppDataLocalPreEmptive解决方案Dotfuscator专业版4.0 dotfuscator .cfg
放到运行自动构建的用户帐户的同一文件夹中。
我在NT AUTHORITY NETWORK service下运行构建服务。经过一番搜索,我找到了他们的主目录:
<bkq_s>%systemroot%ServiceProfilesNetworkService
通常翻译为:
c: WindowsServiceProfilesNetworkService