[英]Running executable program with no UI from windows service
我正在运行没有UI的控制台应用程序,并从pdf文件生成拇指邮件图像。 此应用程序的编译文件工作正常。 但是,我必须从实现FileSystemWatcher类的Windows Service应用程序中调用此编译文件,以检测何时将新的pdf文件上载到目录中。
并且我正在使用此链接中的建议如何从Windows Service运行控制台应用程序?
ProcessStartInfo info = new ProcessStartInfo(appName);
info.UseShellExecute = false;
info.RedirectStandardError = true;
info.RedirectStandardInput = true;
info.RedirectStandardOutput = true;
info.CreateNoWindow = true;
info.ErrorDialog = false;
info.WindowStyle = ProcessWindowStyle.Hidden;
Process process = Process.Start(info);
if (!process.HasExited)
{
LogEvent(process.ProcessName + "has started and called Thumbnail application");
}
else
{ LogEvent(process.ProcessName + "has been terminated"); }
我可以看到该进程涉及“ pdfThumbnail.exe”,但是当应用程序尝试执行时出现此错误。
“ System.Exception:无法在Microsoft.VisualBasic.Interaction.CreateObject(String ProgId,String ServerName)处创建ActiveX组件,在PDFThumbnailCsharp.Main(String [] args)处”
正如我上面所说的,当我运行exe文件时,pdfThumbnail.exe可以很好地执行。
这是来自SysInternals的进程监视器的错误
机器默认的权限设置不授予用户使用CLSID {FF76CB60-2E68-101B-B02E-04021C009402}和APPID对用户NT AUTHORITY \\ LOCAL SERVICE SID不可用的COM Server应用程序本地激活权限(S-1-5-19 )从地址LocalHost(使用LRPC)。 可以使用组件服务管理工具来修改此安全权限。
我已将此CLSID的所有权更改为具有完全控制权的管理员,如此链接http://social.technet.microsoft.com/Forums/en-US/windowsserver2008r2general/thread/e303c7e1-16de-42fd-a1a4-7512c1261957所述
但是我仍然遇到相同的错误。
任何帮助将不胜感激。
谢谢
此CLSID {FF76CB60-2E68-101B-B02E-04021C009402}用于我的计算机注册表上的Acrobat.Excha.PDDoc。 与Acrobat对此链接https://forums.adobe.com/thread/1467460进行的进一步调查显示,无法从服务运行Acrobat。
在获得更好的方法之前,我现在要做的是创建一个Windows任务计划程序,该任务计划程序在创建新的pdf时侦听Windows服务引发的事件,然后触发创建缩略图的控制台应用程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.