我的程序,通过 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()
运行,为什么我没有得到“文件触发!” 信息?
更新: 在评论之后,我运行了进程监视器,这是在目标 .exe 文件应该运行的确切时间生成的日志。请看一下,看看你是否发现任何可疑之处: