Моя программа, запущенная через службу Windows, смогла успешно запустить следующий код под Win7 и Win8.
Log("About to run the file...");
try
{
Process.Start(filePath, args);
Log("File Triggered!");
}
catch (Exception ex)
{
Log("Error.");
}
Хотя UI
программы, расположенной по адресу filePath
, никогда не показывалось, но программа выполняла свою работу полностью в фоновом режиме.
Когда я пробую ту же самую программу в среде Windows 2012 R2, я замечаю, что после получения первого сообщения журнала выше в моем файле журнала («О запуске файла ...») больше ничего не регистрируется, и Process.Start()
тоже не работает. . Это сбивает с толку, потому что точно такая же программа работала в других операционных системах.
Итак, если Process.Start()
не вызывается успешно, почему я не получаю сообщение «Ошибка» в своем журнале, и если Process.Start()
запускается, почему я не получаю «Файл запущен!» сообщение?
Обновление: Следуя комментариям, я запустил Process Monitor, и это журнал, сгенерированный для целевого .exe-файла именно в ту минуту, когда он должен был запуститься. Пожалуйста, посмотрите и убедитесь, что вы не нашли ничего подозрительного: