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