我正在创建一个在Windows 7上运行.exe文件的服务。由于需求复杂,必须将其作为服务来完成,因此控制台应用程序不可用。服务未运行应用程序
我已经编写了下面的代码,它完美地在控制台应用程序中运行,但是当放置在服务中时,可执行文件从不运行。
ProcessStartInfo startInfo = new ProcessStartInfo();
try
{
startInfo.WorkingDirectory = "C:\\Folder";
startInfo.FileName = "MyApp.exe";
Process myProcess = Process.Start(startInfo);
}
catch (Exception ex)
{
using (StreamWriter writer = File.AppendText(path))
{
writer.WriteLine(ex.Message);
}
}
}
没有错误被抛出,但应用程序根本没有启动。
我读过服务无法以直接的方式运行可执行文件,并根据建议修改了上述代码,但它不起作用。
编辑:我已经手动配置的服务如下:
您是否尝试指定具体用户在服务属性对话框下运行? – Redwan
我附上了一个截图,显示了我在服务窗口中配置的内容。 –
因此,该用户可能没有足够的权利来运行外部应用程序。尝试在用户政治中挖掘信息或在“管理员”下运行(但这是一个糟糕的主意)。 – Redwan