Я создал сервис для печати файлов PDF. Когда я вызываю FoxitReader через объект System.Process, отправляя ему консольные команды, сервис ничего не делает. Я читал об изоляции сеанса 0, но мой сервис не вызывает приложение с графическим интерфейсом, он просто выполняет команду в исполняемом файле.
Это мой код:
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = "FoxitReader.exe";
proc.StartInfo.Arguments = " /t " + '"' + nombreArchivo + '"' + " " + '"' + nombreImpresora + '"';
EventLog.WriteEntry("InboundServicioImpresion", "Comando impresion:" + proc.StartInfo.FileName + proc.StartInfo.Arguments);
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.UseShellExecute = false;
proc.Start();
proc.WaitForExit();
ПРИМЕЧАНИЕ. FoxitReader.exe входит в состав пакета услуг; он установлен в той же папке, что и служба.
Службы запускаются и записывают в журнал событий, когда код говорит, что он должен это сделать, и он не вылетает и не выдает никакого исключения (каждый метод контролируется try-catch). Кроме того, он способен перемещать файлы из одной папки в другую. Единственное, что не работает - это печатать с помощью Foxit, Adobe Reader или SumatraPDF.
Есть идеи, почему это не работает?
Заранее спасибо, Эстебан.