6

我试图让 Dotfuscator Pro 4.13 在单元测试和安装包的创建之间运行。我们使用的构建服务器是 Windows Server 2008 R2 上的 Jenkins 1.487。

dotfuscator 的命令行非常简单,我使用 /q 并指出一个 xml 配置文件。当我从命令行手动运行确切的命令时,它就像一个魅力。

但是当 Jenkins 执行相同的命令时,会记录以下错误:

使用本软件意味着接受随附的许可协议。许可给:序列号:在使用 Dotfuscator 之前,您必须首先接受最终用户许可协议。

出于某种原因,Dotfuscator 在 Jenkins 运行时无法读取许可信息。我找不到有关此的任何信息,但有些东西告诉我这与执行 Jenkins 的用户有关。我错过了什么?

4

2 回答 2

9

正如我认为这是与用户相关的东西。这个问题来自于运行 Jenkins 作业的用户从未接受过 Dotfuscator 用户协议。有两种方法可以解决这个问题:

您可以使用运行自动构建的用户登录机器并启动 Dotfuscator GUI 并接受许可协议

或者您可以复制以下文件:

C:\Users{安装/接受协议的用户}\AppData\Local\PreEmptive Solutions\Dotfuscator Professional Edition\4.0\dfusrprf.xml
C:\Users{安装/接受协议的用户}\AppData\Local\PreEmptive Solutions\Dotfuscator专业版\4.0\dotfuscator.cfg
C:\ProgramData\PreEmptive Solutions\Dotfuscator 专业版\4.0\dotfuscator.dat

进入dotfuscator的安装目录(默认为C:\Program Files (x86)\PreEmptive Solutions\Dotfuscator Professional Edition 4.13.0)。

于 2014-06-04T07:31:54.837 回答
3

我在使用在 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 下运行我的构建服务。经过一番搜索,我找到了他们的主目录:

%systemroot%\ServiceProfiles\NetworkService

通常翻译为:

c:\Windows\ServiceProfiles\NetworkService

于 2014-09-04T18:23:36.673 回答