Witam,
mam problem chciałbym wywołać z poziomu usługi windows konsolowy program , przekazuje do niego parametry ale nic się nie dziej , nie podaje żadnego błędu
kod z usługi windows :
private void CallTask(BasicDeliverEventArgs ea, string command, bool asSystem)
{
byte[] rezultat = null;
var request = Encoding.UTF8.GetString(ea.Body);
var sciezka = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
string Arg = string.Format("{0} {1}", command, request);
ProcessStartInfo info = new ProcessStartInfo();
info.Arguments = Arg;
info.WorkingDirectory = string.Format("{0}\\", sciezka);
info.FileName = "KolejkowanieZlecen.Svc.Task.exe";
info.UseShellExecute = false;
info.RedirectStandardError = true;
info.RedirectStandardInput = true;
info.RedirectStandardOutput = true;
info.CreateNoWindow = true;
info.ErrorDialog = false;
info.WindowStyle = ProcessWindowStyle.Hidden;
Process proc = Process.Start(info);
proc.WaitForExit(30 * 1000);
if (proc.HasExited == false)
proc.Kill();
var o = proc.StandardOutput.ReadToEnd();
var e = proc.StandardError.ReadToEnd();
File.WriteAllText("er.txt", e);
File.WriteAllText("or.txt", o);
rezultat = Encoding.UTF8.GetBytes(proc.ExitCode == 0 ? "Sukces" : o + e);
Reply(ea, rezultat);
}
Jeśli konsolowy program wywołam z parametrami to działa.
Dzięki za pomoc