许可证执行系统已被篡改调用wkhtmltopdf.exe - win server 2008

时间:2013-03-18 15:41:03

标签: c#

在我们的生产服务器上,赢得2008 64位,在NETWORK SERVICE帐户下运行.NET 3.5站点,我突然在错误日志中收到此消息“服务器无法打开此程序,因为许可证执行系统已被篡改或成为损坏” 在我的帐户下启动wkhtmltopdf.exe(或在SYSTEM帐户下,使用此处描述的usign技术 - http://geek.hubkey.com/2008/02/impersonating-built-in-service-account.html) - 成功运行。 所有软件都是许可的,我们没有在服务器上安装任何新的东西一段时间(几周)。

调用wkhtmltopdf.exe从页面生成PDF时抛出异常。

有没有人知道如何找出这里的错误?

这是stacktrace:

[Win32Exception (0x80004005): Windows cannot open this program because the license enforcement system has been tampered with or become corrupted]
System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo) +614
System.Diagnostics.Process.Start() +56
KPI.DownloadWoordenschatTest() in ..\KPI.aspx.cs:1579
KPI.btnLogin5_Click(Object sender, EventArgs e) in ..\KPI.aspx.cs:1451
KPI.Page_Load(Object sender, EventArgs e) in ..\KPI.aspx.cs:109
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627

这是代码片段,报告问题:

Process pdfConverterProcess = new Process();
            pdfConverterProcess.StartInfo.FileName = Server.MapPath("~/bin/wkhtmltopdf.exe");
            pdfConverterProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
            pdfConverterProcess.StartInfo.Arguments = String.Format(@" ""{0}"" ""{1}"" --header-html ""{2}&np=1"" --footer-html ""{3}&np=1""  --margin-top 2.5cm --header-spacing 7", requestUrl, filePath, pdfHeaderURL, pdfFooterURL);
            pdfConverterProcess.Start(); (this is line 1579)
            pdfConverterProcess.WaitForExit();
            pdfConverterProcess.Close();

2 个答案:

答案 0 :(得分:0)

这可能有多种原因,但是当我遇到这个问题时,我注意到在安装Windows Management Framework 3.0之后错误消失了

您可以检查设置是否属于这种情况。

答案 1 :(得分:0)

我最近有一个事件,每次调用Rotativa WkhtmltopdfDriver ConvertHtml时都会出现此错误。

然后我测试了wkhtmltopdf正在使用

C:\inetpub\wwwroot\SomeApplication\Rotativa>wkhtmltopdf.exe c:\pdf\test.txt c:\pdf\test.pdf

这给我留下了很少的选择,因为我的搜索结果不是很好。

值得庆幸的是,重新启动服务器后,我的问题得以解决,无需任何其他步骤。

在我的情况下,我们最近没有对应用程序进行任何更改,并且Rotativa已经工作了一年多,一旦我们启动并运行就没有任何问题。

我建议任何有此类问题的人都会尝试证明wkhtmltopdf是否可以自行运行,因为这有助于进一步排除故障。并且在你去之前尝试重新启动并开始改变任何东西。

在我的情况下,我假设Windows服务没有运行,或者类似于其他一些必需的部分已经发现它已进入错误状态。